테스트 사이트 - 개발 중인 베타 버전입니다

안드로이드 간단한 하이브리드앱 웹뷰방식 소스입니다.

c_1.png
c_2.png
안드로이드 간단한 하이브리드앱 웹뷰방식 소스입니다.
URL을 넣으면 웹뷰로 불러와서 보여주는 정도의 기능입니다.

별 것 아닌데 처음부터 만들려면 시간이 좀 걸리니,
필요하신 분 있으실까해서 소스 정리해봤습니다.

푸시도 포함해서 올리고싶었는데 이건 소스 추리는데 시간이 더 걸려서요.
필요하신 분이 있다면 다음 기회에 한 번 올려보겠습니다.


<기능>
1. 웹뷰로 URL 불러옴
2. 스플래시 이미지 보여줌
3. 메인페이지에서 두 번 뒤로가기 누르면 종료 함


<소스 설명>
1. URL 넣기
MainActivity.java 에서 19행에 URL 바꿔주면 됩니다

2. 스플래시 이미지 교체
drawable 폴더에서 splash.png 파일 덮어씌우면 됩니다.

3. 앱 아이콘 교체
res 폴더에서 사이즈별로 ic_launcher.png 이미지 덮어씌우면 됩니다.

4. 앱 이름 설정
strings.xml 파일에서 바꿔주면 됩니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 32개

감사합니다. 유용하게 잘 쓰겠습니다.
네, 도움이 되었다니 기쁘네요 ^^
감사합니다. 필요했던 건데 유용하게 잘 쓸게요.
네, 도움이 되었다니 기쁘네요 ^^
언제 푸시기능도 공개해 주시면 감사하겠습니다.
와우~ 강추입니다, 감사합니다.
염치없지만 푸시도 무지 기다려 지네요 ^^;;;
https://developer.android.com/studio/index.html#downloads

수정프로그램 링크 주소요~
안드로이드 간단한 하이브리드앱 웹뷰
와 감사합니다. 완전 도움되는거 같아요.
푸쉬기능도 완전 기다려집니다.^0^;
수고하셨습니다
좋으네요..감사합니다 근데 궁금한게 잇는ㄴ데요. 이거 모바일로 사용할떄 게시판에 파일 업로드 가능한가요??

하이브리드앱만들떄 그거 떄문에 고생많이 햇는데 가능하다면 받아 보고 싶은데요..
아시는분 혹시 잇으시면 답글좀 부탁 드립니다
아 파일 올리기가 안되네요... 그거좀 가능 하게 안될까요??
꼭 필요 한데.
와우 멋집니다.
멋져요.!! 푸쉬알림..~~ 기능을 기대해보는 1인입니다 ^^:
vol2.egg가 다운이 안되네요 ㅠㅠ
사용법이어찌되나요 ㅠㅠ
안드로이드 스튜디오 설치 했는데
방법대로 찾아도 파일이 안보이네요 ㅠ
감사합니다. 푸시도 기다려집니다. 잘쓰겠습니다.
좋은 정보감사합니다.
splash화면하고 뒤로가기 안되네요^^;
정보 감사합니다.푸시도 기달려집니다..
완전 감사 잘 쓸께요!
완전 짱입니다.
tel: sms: 링크가 안되어서 이리 저리 찾아봐서 적용해봤습니다. 필요하신 분이 있을 것 같아...올립니다.
저도 잘 모르니 질문은 못받아요...제가 적용해보니 잘 되네요..


package com.hybrid.sample;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Process;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity {

private WebView mWebView;
private String mCurrentUrl;

private final static String MAIN_URL = "http://food.wehappy.net/";

// BACK 2번 클릭 시 종료 핸들러. 플래그
private Handler mHandler = new Handler();
private boolean mFlag = false;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//스플래시
startActivity(new Intent(this, SplashActivity.class));

//웹뷰 설정
mWebView = (WebView) findViewById(R.id.web);
mWebView.getSettings().setJavaScriptEnabled(true);
//mWebView.setInitialScale(100);
mWebView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
mWebView.setWebViewClient(new WebViewClientClass());
mWebView.loadUrl(MAIN_URL);
}


private class WebViewClientClass extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
if (overrideUrl.startsWith("tel:") || overrideUrl.startsWith("sms:") || overrideUrl.startsWith("smsto:") || overrideUrl.startsWith("mms:") || overrideUrl.startsWith("mmsto:") || overrideUrl.startsWith("mailto:"))

{

Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(overrideUrl));

startActivity(intent);

return true;

}

view.loadUrl(overrideUrl);
return true;
}
}



@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {

if (mWebView.getOriginalUrl().equalsIgnoreCase(MAIN_URL)) {
if (!mFlag) {
Toast.makeText(this, "뒤로 버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show(); // 종료안내 toast 를 출력
mFlag = true;
mHandler.sendEmptyMessageDelayed(0, 2000); // 2000ms 만큼 딜레이
return false;
} else {
// 앱 종료 code
moveTaskToBack(true);
finish();
android.os.Process.killProcess(Process.myPid());
}
} else {
// 뒤로 가기 실행
if (mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
}
}
return true;
}


}
아이폰 앱도 이런 파일이 있을까요???

아이폰 앱도 같은방식으로 개발하고싶은데
너무 감사드립니다. 푸사도 꼭 부탁드리고 싶네요. 감사합니다.
좋은 정보 감사합니다
완전 감사합니다. 필요했는데, 잘 쓰겠습니다.
염치없지만, 가능하면 푸쉬기능도 부탁드립니다 ~
완죤 감사합니다.
이렇게 하면 구글 스토어에 등록할수 있는 건가요 ??
감사합니다!

게시글 목록

번호 제목
13945
13943
13939
13932
13931
13923
13911
13906
13891
13884
13873
13861