maifest.xml에서 권한설정을 해줍니다
(uses permission)
01.
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
02.
<
LinearLayout
xmlns:android
=
"http://schemas.android.com/apk/res/android"
03.
android:layout_width
=
"fill_parent"
04.
android:layout_height
=
"fill_parent"
05.
android:orientation
=
"vertical"
>
06.
07.
<
FrameLayout
08.
android:layout_width
=
"fill_parent"
09.
android:layout_height
=
"fill_parent"
>
10.
11.
<
WebView
12.
android:id
=
"@+id/web"
13.
android:layout_width
=
"fill_parent"
14.
android:layout_height
=
"fill_parent"
/>
15.
16.
<
ProgressBar
17.
android:id
=
"@+id/web_progress"
18.
android:layout_width
=
"wrap_content"
19.
android:layout_height
=
"wrap_content"
20.
android:layout_gravity
=
"center"
21.
android:visibility
=
"gone"
/>
22.
</
FrameLayout
>
23.
24.
</
LinearLayout
>
01.
package
kr.android.web.progressbar;
02.
03.
import
android.app.Activity;
04.
import
android.os.Bundle;
05.
import
android.content.Context;
06.
import
android.graphics.Bitmap;
07.
import
android.net.ConnectivityManager;
08.
import
android.net.NetworkInfo;
09.
import
android.view.KeyEvent;
10.
import
android.view.View;
11.
import
android.webkit.WebView;
12.
import
android.webkit.WebViewClient;
13.
import
android.widget.ProgressBar;
14.
import
android.widget.Toast;
15.
16.
public
class
ProgressBarDemo1
extends
Activity {
17.
private
WebView web;
18.
private
ProgressBar progress;
19.
20.
@Override
21.
public
void
onCreate(Bundle savedInstanceState) {
22.
super
.onCreate(savedInstanceState);
23.
24.
ConnectivityManager cm =
25.
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
26.
27.
NetworkInfo ni = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
28.
boolean
isWifiConn = ni.isConnected();
29.
30.
ni = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
31.
32.
boolean
isMobileConn = ni.isConnected();
33.
34.
if
(!isWifiConn && !isMobileConn) {
35.
Toast.makeText(
this
,
"인터넷에 접속되어 있지 않습니다!"
, Toast.LENGTH_SHORT)
36.
.show();
37.
finish();
//액티비티 종료
38.
}
else
{
39.
setContentView(R.layout.main);
40.
41.
progress = (ProgressBar) findViewById(R.id.web_progress);
42.
43.
web = (WebView) findViewById(R.id.web);
44.
web.getSettings().setJavaScriptEnabled(
true
);
45.
web.getSettings().setBuiltInZoomControls(
true
);
46.
web.setHorizontalScrollbarOverlay(
true
);
47.
web.setVerticalScrollbarOverlay(
true
);
48.
49.
web.loadUrl(
"http://raysoda.com"
);
50.
51.
web.setWebViewClient(
new
WebViewClient() {
52.
// 링크 클릭에 대한 반응
53.
@Override
54.
public
boolean
shouldOverrideUrlLoading(WebView view, String url) {
55.
view.loadUrl(url);
56.
return
true
;
57.
}
58.
59.
// 웹페이지 호출시 오류 발생에 대한 처리
60.
@Override
61.
public
void
onReceivedError(WebView view,
int
errorcode,
62.
String description, String fallingUrl) {
63.
Toast.makeText(ProgressBarDemo1.
this
,
64.
"오류 : "
+ description, Toast.LENGTH_SHORT).show();
65.
}
66.
// 페이지 로딩 시작시 호출
67.
@Override
68.
public
void
onPageStarted(WebView view,String url , Bitmap favicon){
69.
progress.setVisibility(View.VISIBLE);
70.
}
71.
//페이지 로딩 종료시 호출
72.
public
void
onPageFinished(WebView view,String Url){
73.
progress.setVisibility(View.GONE);
74.
}
75.
});
76.
}
77.
}
78.
public
boolean
onKeyDown(
int
keyCode, KeyEvent event){
79.
if
(keyCode ==KeyEvent.KEYCODE_BACK && web.canGoBack()){
80.
web.goBack();
81.
}
else
if
(keyCode ==KeyEvent.KEYCODE_BACK && !web.canGoBack()){
82.
Toast.makeText(
this
,
"프로그램 종료!!"
, Toast.LENGTH_SHORT).show();
83.
finish();
84.
}
85.
return
true
;
86.
}
87.
}
출처 : http://gusfree.tistory.com/746
'Programming > Android' 카테고리의 다른 글
android 디바이스 화면 크기 구하기 (0) | 2017.06.23 |
---|---|
android Fragment에서 Activity 메소드 사용하기 (0) | 2017.05.26 |
android media play (0) | 2017.05.12 |
android Dialog 이미지 그대로 넣기 (0) | 2017.04.06 |
android SharedPreferences (0) | 2017.03.29 |