반응형
반응형

안드로이드 : 웹뷰 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

...

반응형
반응형

https://www.android.com/filetransfer/


File Transfer

Android File Transfer

Browse and transfer files between your Mac computer and your Android device.

DOWNLOAD NOW

By downloading, you agree to our Terms of Service and Privacy Policy.

How to use it

  1. Download the app.
  2. Open androidfiletransfer.dmg.
  3. Drag Android File Transfer to Applications.
  4. Use the USB cable that came with your Android device and connect it to your Mac.
  5. Double click Android File Transfer.
  6. Browse the files and folders on your Android device and copy files up to 4GB.


반응형

+ Recent posts