【简易的APP开发】开发简易安卓浏览器(一)

来源:互联网 发布:阳光罐子 淘宝 编辑:程序博客网 时间:2024/05/16 14:31

开发一个简易的手机浏览器并不难,当然做一个功能强大的浏览器就相当不容易了,这里本人做的是简易版,供大家学习交流


1.首先第一步,配置权限:关于网络访问的权限。

 

<!-- 访问网络连接,可能产生GPRS流量 -->    <uses-permission android:name="android.permission.INTERNET" />    <!-- 获取当前WiFi接入的状态以及WLAN热点的信息 -->    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    <!-- 获取网络信息状态,如当前的网络连接是否有效 -->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />



2.紧接着开始编写怎么访问网络,以及登入网址的方式:

   安卓有个常用的WebView,一般情况下,我们以他为浏览网页的载体,

 编写格式为:webview.loadUrl("www.baidu.com");

   为支持Javascript脚本网页,需要设置webview.getSettings().setJavaScriptEnabled(true);


3.以上两步虽然可以浏览网页但是,会遇到几个问题:

    (1).新建网页的方式:

            是新开一个连接,还是刷新当前再加载。

      (2)网页回退:

           一种是回退操作,一种是退出当前网页,返回至上一网页。

     以上两个问题也需要解决

 为此,我们需要再一步完善:

// 如果页面中链接,如果希望点击链接继续在当前browser中响应,// 而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。webview.setWebViewClient(new WebViewClient() {public boolean shouldOverrideUrlLoading(WebView view, String url) {view.loadUrl(url);((EditText)findViewById(R.id.title)).setText(url);return true;}});/*** 如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网* 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。*/public boolean onKeyDown(int keyCode, KeyEvent event) {if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {webview.goBack(); // goBack()表示返回WebView的上一页面return true;} else if ((keyCode == KeyEvent.KEYCODE_MENU)) {showPopWindow(menu);return true;}else if ((keyCode == KeyEvent.KEYCODE_BACK) && !webview.canGoBack()&&flag==false) {((EditText)findViewById(R.id.title)).setText("");my_gridview.setVisibility(View.VISIBLE);webview.setVisibility(View.GONE);load_pro.setVisibility(View.GONE);init();flag=true;return true;}else if ((keyCode == KeyEvent.KEYCODE_BACK) && !webview.canGoBack()&&flag==true) {flag=true;SetDialogExit();return true;} return false;}

最后基本问题解决,一个简单的浏览器就完成了大半。



1 0
原创粉丝点击