用android studio创建第一个安卓程序加载植入html5页面
展开阅读全文

软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本。

动机:由于工作中需要对移动端软件开发的几种方式进行一下对比研究,故有了此文章的产生,估计后续还会有其他技术方案的文章发布。

目标:为了适应跨平台的要求,所以用html5编写页面,利用webview装载html5页面就成为了一个备选的技术路线。本篇文章就是利用android studio创建一个apk程序,装载编写好的html5页面,以此达到快速生成跨平台的程序。

1.创建一个android工程

到此,helloword已经编写好了,只要把android需要的sdk和相关的驱动配置好,还是很好上手的。

2.载入一个远程的页面

此处以打开一个百度页面为例进行演示

打开MainActivity.java页面,修改oncreate函数

private WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webview = new WebView(this);
        webview.getSettings().setJavaScriptEnabled(true);
        try {
            webview.loadUrl("https://www.lmcjl.com");
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        setContentView(webview);
    }

植入后的代码:

package com.view.lmcjl;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
    private WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webview = new WebView(this);
        webview.getSettings().setJavaScriptEnabled(true);
        try {
            webview.loadUrl("https://www.lmcjl.com");
        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        setContentView(webview);
    }
}

预览看一下效果

提示wabpage not available错误,那么我们在AndroidManifest.xml文件中添加权限

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

植入后的代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.view.lmcjl">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

现在预览看一下效果,百度页面可以正常打开了

3.打开本地页面

这一步演示如何打开本地的html页面,该示例同样已百度为例,只不过改为先另存一份百度的html页面,然后加载本地的html页面,此处百度页面另存为index.htm

新建assets目录,用来存放html页面。右键app->new->folder->assetsfolder 

html页面放入assets目录 

打开页面的地址改为本地页面地址

webview.loadUrl(file:///android_asset/index.html);

看一下预览的效果