반응형
반응형
반응형
반응형

안드로이드 : 웹뷰 404 에러처리

WebView.setWebViewClient(new WebViewClient() {
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}

@Override
public void onReceivedError(WebView view, int errorCode,
String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);

switch (errorCode) {
case ERROR_AUTHENTICATION: // 서버에서 사용자 인증 실패
case ERROR_BAD_URL: // 잘못된 URL
case ERROR_CONNECT: // 서버로 연결 실패
case ERROR_FAILED_SSL_HANDSHAKE: // SSL handshake 수행 실패
case ERROR_FILE: // 일반 파일 오류
case ERROR_FILE_NOT_FOUND: // 파일을 찾을 수 없습니다
case ERROR_HOST_LOOKUP: // 서버 또는 프록시 호스트 이름 조회 실패
case ERROR_IO: // 서버에서 읽거나 서버로 쓰기 실패
case ERROR_PROXY_AUTHENTICATION: // 프록시에서 사용자 인증 실패
case ERROR_REDIRECT_LOOP: // 너무 많은 리디렉션
case ERROR_TIMEOUT: // 연결 시간 초과
case ERROR_TOO_MANY_REQUESTS: // 페이지 로드중 너무 많은 요청 발생
case ERROR_UNKNOWN: // 일반 오류
case ERROR_UNSUPPORTED_AUTH_SCHEME: // 지원되지 않는 인증 체계
case ERROR_UNSUPPORTED_SCHEME:
WebView.loadUrl("about:blank"); // 빈페이지 출력
AlertDialog.Builder builder = new AlertDialog.Builder(MyView.this);
builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

// 확인버튼 클릭시 이벤트

}});
builder.setMessage("네트워크 상태가 원활하지 않습니다. 어플을 종료합니다.");
// builder.setMessage("네트워크 상태가 원활하지 않습니다. 페이지를 이동합니다.");
builder.setCancelable(false); // 뒤로가기 버튼 차단
builder.show(); // 다이얼로그실행
break;
}}});
반응형
반응형

하이브리드앱, 웹뷰(WebView) 설정하기 - 안드로이드

안드로이드 스튜디오 설치하고.  https://developer.android.com/studio/

AndroidManifest.xml

// 인터넷 사용할꺼야 라고 선언
<uses-permission android:name="android.permission.INTERNET" />

layout.xml 

//웹뷰 등록 html로 비교하면 iframe 과 비슷하겠네요.
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>

Java

private WebView mWebView; //웹뷰
private WebSettings mWebSettings; //웹뷰세팅

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

     // 웹뷰 세팅
     mWebView = (WebView)findViewById(R.id.webview); //레이어와 연결
     mWebView .setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
     mWebSettings = mWebView.getSettings(); //세부 세팅 등록
     mWebSettings.setJavaScriptEnabled(true); // 자바스크립트 사용 허용

     mWebView.loadUrl("http://m.nate.com"); //원하는 URL  입력
}

 


웹뷰 기본 옵션
mWebView.goBack(); //뒤로가기
mWebView.goForward(); //앞으로가기
mWebView.reload(); //새로고침

mWebView.clearCache(true); // 캐시 지우기
mWebView.reload(); // 현재 웹뷰 새로고침
mWebView.stopLoading(); // 로딩 중단

//스크롤 없애기
mWebView.setVerticalScrollBarEnabled(false);
mWebView.setHorizontalScrollBarEnabled(false);


웹뷰 세부 옵션

wvs = mWebView.getSettings();

wvs .setWebViewClient(new WebViewClient()); // 클릭시 새창 안뜨게
wvs .setJavaScriptEnabled(true); //자바스크립트 사용

wvs .setWebChromeClient(new webViewChrome()); // alert 경고창 사용

//화면 비율 관련 - 안드로이드 TV셋탑에서 웹뷰 사용할때 웹페이지 viewport가 적용안되서.
wvs .setUseWideViewPort(true); //wide viewport를 사용하도록 설정
wvs.setLoadWithOverviewMode(true); // 컨텐츠가 웹뷰보다 클 경우 스크린 크기에 맞게 조정
wvs.setInitialScale(35); //비율 조절
wvs.setDefaultFontSize(8); // 기본 폰트 사이즈 지정
wvs.setMinimumFontSize(8); //폰트 사이즈 지정

//웹뷰 멀티 터치 가능하게 (줌기능)
wvs .getSettings().setBuiltInZoomControls(true); //줌 아이콘 사용 설정
wvs .getSettings().setSupportZoom(false);

wvs .setPluginState(WebSettings.PluginState.ON_DEMAND); // 플러그인을 사용 설정
wvs .setCacheMode(WebSettings.LOAD_NO_CACHE); // 웹뷰가 캐시를 사용하지 않도록 설정

wvs .setDefaultZoom(WebSettings.ZoomDensity.FAR); // 페이지 크기 자동 조절?

뒤로 가기 버튼
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
        mWebView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}


webViewExampleSettings.setSaveFormData(true);  입력된 데이터 저장 여부
webViewExampleSettings.setSavePassword(true);  입력된 비밀번호 저장 여부

 

반응형
반응형

JAVA, JSP - QR Code 만들기 소스 - ZXing ("Zebra Crossing") barcode scanning library for Java, Android

https://github.com/zxing/zxing

 

zxing/zxing

ZXing ("Zebra Crossing") barcode scanning library for Java, Android - zxing/zxing

github.com

java  android   barcode   barcode-scanner   zxing   qr-code   datamatrix   upc  

반응형
반응형
안드로이드 7.1(API level 25)부터 shortcuts의 기능이 지원된다. 해당 기능은 런처아이콘을 길게 누르면 보여지면서 홈스크린에서 빠르게 기능을 실행할 수 있다.


https://developers-kr.googleblog.com/2017/08/whats-new-for-shortcuts-and-widgets-in.html?m=1

안드로이드 O에서 추가된 바로가기(Shortcut)와 위젯(Widget)의 새로운 기능을 확인해 보세요.

Wednesday, August 23, 2017

<블로그 원문은 여기에서 확인하실 수 있으며, 블로그 번역 리뷰는 양찬석(Google)님이 참여해 주셨습니다.>

바로가기와 위젯을 사용해야 하는 이유?

안드로이드 O에서 즐겨 사용하는 기능 중 하나는 바로 딥 링크를 통한 앱 바로가기(Shortcut) 기능과 앱위젯(App Widget)을 바탕 화면에 고정하는 기능입니다.

사용자는 바로가기를 사용해 특정 작업을 신속하게 시작할 수 있습니다. 위젯을 사용하면, 앱에서 제공하는 특정 기능 및 정보에 즉각적으로 접근 할 수 있습니다. 사용자는 언제나 필요한 작업을 빠르게 수행하기를 원합니다. 바로가기와 위젯은 사용자에게 도움이 되고, 개발자가 제공하는 콘텐츠에 대한 사용자 참여도를 높일 수 있는 방법입니다.

바로가기 또는 위젯을 고정하기 위해 사용자는 앱 아이콘을 길게 눌러 옵션을 활성화하고 선택한 항목을 원하는 위치로 드래그 앤 드롭해야 합니다.

......
반응형

'프로그래밍 > App' 카테고리의 다른 글

git - 간편 안내서  (0) 2019.04.17
Git Bash로 Github에 연결하기  (0) 2019.04.16
Customizing Ionic Apps for Web & Mobile  (0) 2018.02.13
IFTTT - https://ifttt.com/  (0) 2017.12.07
[React] React 아키텍쳐 패러다임 - 진겸  (0) 2017.12.06
반응형

Android Oreo - Open Wonder


Android Oreo has arrived. Safer, smarter, more powerful & sweeter than ever.

Every superhero has an origin story. See how #AndroidOreo makes your device smarter, faster, safer, and more powerful.


Follow the adventures on: 
android.com/oreo
www.instagram.com/android
https://twitter.com/Android
https://www.facebook.com/AndroidOfficial

...

반응형

+ Recent posts