안드로이드 간단한 하이브리드앱 웹뷰방식 소스입니다. > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 다양한 기능을 추가하기 쉽습니다.

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

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

첨부파일

app-release.apk (1.4M) 971회 다운로드 2016-11-19 14:44:40
sample.vol1.egg (20.0M) 1125회 다운로드 2016-11-19 14:47:25
sample.vol2.egg (16.4M) 71회 다운로드 2016-11-19 14:47:37

본문

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

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

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


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


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

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

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

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

댓글 전체

좋으네요..감사합니다 근데 궁금한게 잇는ㄴ데요.  이거 모바일로 사용할떄 게시판에 파일 업로드 가능한가요??

하이브리드앱만들떄 그거 떄문에 고생많이 햇는데 가능하다면 받아 보고 싶은데요..
아시는분 혹시 잇으시면 답글좀 부탁 드립니다
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;
    }


}
전체 504
그누보드5 플러그인 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT