-
개발일기(10월 12일) - 안드로이드 앱 인터넷 연결 상태 확인 및 처리 추가프로그래밍/ 안드로이드어플만들기 2021. 10. 12. 00:58728x90반응형
문제:
webview를 사용하기 때문에 인터넷 연결이 안될경우 앱 사용을 할 수 없음.
사용자에게는 앱 오류로 보임.
작업:
인터넷 연결이 안될 경우 사용자에게 언어별로 상황 알리기
안드로이드 앱 인터넷 연결 상태 확인 및 처리 추가
1. manifest 에 아래 추가
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2. webview 호출하기 전에 MainActivity.java에 아래 코드 추가
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); if(!isConnected) { new AlertDialog.Builder(this).setTitle("You Are Offline.").setMessage("Please connect to the internet to use the app") .setPositiveButton("Exit", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); } }) .setCancelable(false).show(); }
3. 하나의 언어만 지원하면 2에서 끝나도 상관없지만
앱에서 다국어를 지원하기 때문에 각 언어에 맞춰 번역을 추가해줘야한다.
string.xml 에서 open editor를 클릭한다.
편집기의 왼쪽 위에 있는 +를 눌러 추가하려는 문구의 string key와 기본 value를 설정한다.
그러면 편집기에 기존에 지원하던 언어별로 번역된 문구를 추가할 수 있다.
일본어 번역 문구는 확인해야 해서 일단 영어와 동일하게 적용해둠.
마지막으로 추가된 번역을 다시 코드에 적용하면 끝.
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); if(!isConnected) { new AlertDialog.Builder(this).setTitle(R.string.dialog_check_internet_title).setMessage(R.string.dialog_check_internet_content) .setPositiveButton(R.string.exit, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); finish(); } }) .setCancelable(false).show(); }
아래와 같이 언어별 안내 문구가 추가되는것을 확인할 수 있다.
참고
https://onlyfor-me-blog.tistory.com/322
https://developer.android.com/training/monitoring-device-state/connectivity-status-type?hl=ko#java
728x90반응형'프로그래밍 > 안드로이드어플만들기' 카테고리의 다른 글
10월 26일 개발일기 - 안드로이드 앱 기기 카탈로그 설정 (0) 2021.10.26 페이스북 로그인 안드로이드 웹뷰 지원 중단 (0) 2021.10.21 [ 안드로이드 어플 만들기 ] 5. 가상단말로 어플 실행해보기 (0) 2019.11.17 [ 안드로이드 어플 만들기 ] 3. 실제 디바이스에서 테스트 하기 (0) 2015.05.04 [ 안드로이드 어플 만들기 ] 2. 프로젝트 생성하기 (2) 2015.05.03