本教程目的:
使用安卓app外壳内嵌H5网页,使其能够正常浏览

流程:

新建项目–MainActivity中放入一个WebView–WebView加载主页

新建项目:
右键左侧空白>new project>android>android application project,

MainActivity中放入一个WebView
1.修改activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    tools:context="com.example.uitest2.MainActivity" >    <WebView        android:id="@+id/webView"        android:layout_width="fill_parent"        android:layout_height="fill_parent"/>RelativeLayout>

2.WebView加载主页
修改MainActivity.java
最终代码如下

import android.webkit.WebView;import android.webkit.WebViewClient;public class MainActivity extends ActionBarActivity {    private WebView webView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        webView = (WebView) findViewById(R.id.webView);      //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开          webView.setWebViewClient(new WebViewClient(){            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                view.loadUrl(url);                return true;            }        });        webView.loadUrl("http://www.qq.com//");    }}

3.修改功能清单文件 manifests/AndroidManifest.xml
在application节点前加入联网权限的声明:

<uses-permission android:name="android.permission.INTERNET">uses-permission>

4.修改application结点的android:theme属性,去掉activity的头

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

至此我们的基本功能都做完了,可以运行进行测试

遇见的问题

  • 提示网页无法打开,因为net::ERR_CACHE_MISS

    这是因为没有声明联网权限的缘故,很好解决,
    修改功能清单文件
    在application节点前加入联网权限的声明:

    <uses-permission android:name="android.permission.INTERNET">uses-permission>
  • activity有个很丑的title之类的头部
    如何去掉Activity的标题
    百度的时候大家都会提到三种方法
    1是在setContentView之前加上requestWindowFeature(Window.FEATURE_NO_TITLE); 但我这里并没有用
    2是在AndroidManifest.xml中配置application结点的 android:theme属性 但是 android:theme="@android:style/Theme.NoTitleBar" 这个写法是比较老旧的,这种方式异动是程序总是崩溃,原因,升级后theme是由appcompat_v7管理 所以这里theme应该采用android:theme=@style/Theme.AppCompat.Light.NoActionBar”
    所以最终的解决方案是
    修改application结点的android:theme属性,去掉activity的头
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
  • 点击WebView的链接,默认通过自带的浏览器打开页面
//覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开          webView.setWebViewClient(new WebViewClient(){            @Override            public boolean shouldOverrideUrlLoading(WebView view, String url) {                view.loadUrl(url);                return true;            }        });

更多相关文章

  1. Android APK权限提升到System
  2. 高通android10.0默认赋予第三方apk权限
  3. Android控制手电筒代码,简单易用,不需要任何权限
  4. Android文件访问权限问题
  5. Android— Eclipse运行Emulator时提示权限不够解决方案(ubuntu 10

随机推荐

  1. jsp登录页面的简单实例 雏形
  2. 光影如何绘画?漫画人物脸部光影画法
  3. 模态框的实例演示
  4. jsp中自定义Taglib详解
  5. 模态框学习与实践
  6. php没有文件被上传的实例分析及解决办法
  7. jsp中自定义Taglib详解
  8. ASP动态include文件
  9. HTML 模态框学习
  10. React入门