使用Android Studio 封装WebApp

一、 安装 Android Studio

方式一

安装包下载地址 里面有带jdk的安装包

http://www.android-studio.org/

方式二 ( 需要翻墙 )

自行下载 jdk 和 Android Studio 安装包

jdk 下载地址
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Android Studio 下载地址
https://developer.android.com/studio/index.html


二、 下载 gradle构建工具

下载页面 地址
https://gradle.org/gradle-download/

Gradle 3.2.1 版本下载地址
https://services.gradle.org/distributions/gradle-3.2.1-bin.zip


三、配置 gradle 环境变量

解压后把gradle 下的bin文件夹 的目录路径 添加到 系统环境中
例如 我的 bin目录地址 D:\Program Files\gradle-3.2.1-bin\gradle-3.2.1\bin
怎么添加到 系统环境变量 请自行百度。。。

四、创建项目

创建项目
创建项目

创建项目
创建项目

创建项目
创建项目

创建项目
创建项目

五、界面简述

创建项目
创建项目

六 、目录结构


|--- app
    |--- manifests
    |---|--- AndroidManifest.xml  主配置文件
    
    |--- java
    |---|--- com.test.licationName 包名称或者说是项目名
    |---|---|---| MainActivity 主Activity 文件
    
    |--- res 
    |---|--- layout 布局文件 存储目录
    |---|---|--- activity_main.xml  主Activity 界面配置文件
    
    |---|--- mipmap 
    |---|---|---|--- ic_launcher.png  文件夹 下面存储着不同 dpi的应用图标
    
    |---|--- values 各种配置文件
    

七、创建webApp资源文件 存储目录

需要在 res 的同级目录下创建一个啊assets 文件夹 用来存储 webapp的资源文件
创建这个文件需要在系统的资源管理器中创建,不可以在编辑器中直接创建

怎么打开文件夹?
怎么打开文件夹?

在同级目录下创建 assets 文件夹 并把 已经写好的 webapp资源文件复制进来


复制后的目录结构
复制后的目录结构

八、创建webview控件 并 实例化控件 以及开启javascript渲染

打开 app/res/layout/activity_main.xml
并取消默认的内边距属性
新建一个webview控件
设置webview控件的ID为mWebView

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.chen_blog.chen.MainActivity">
    <!--
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    -->
   <!-- <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
    -->

    <WebView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/mWebView">
    </WebView>
</RelativeLayout>

修改 /app/java/com.chen_blog.chen/MainActiviy 文件

导入 webview 组件

import android.webkit.WebView;
import android.webkit.WebViewClient;

定义类属性

private WebView mWebView;

实例化组件

mWebView = (WebView) findViewById(R.id.mWebView);

使用loadurl方法 引入首页

mWebView.loadUrl("file:///android_asset/index.html");

最终实现代码


package com.chen_blog.chen;

import android.app.Activity;
import android.os.Bundle;

import android.webkit.WebView;
import android.webkit.WebViewClient;


public class MainActivity extends Activity {

    private WebView mWebView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // 实例化
        mWebView = (WebView) findViewById(R.id.mWebView);
        
        // 开启javascript 渲染
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebViewClient(new WebViewClient());
        
        // 载入内容
        mWebView.loadUrl("file:///android_asset/index.html");

//  测试远程的    mWebView.loadUrl("http://www.itxdl.cn");
    
    }

}

九、配置网络权限

打开 app/manifests/AndroidManifest.xml
再 manifset 标签 下面 新增一行

    <!-- 申请 网络权限-->
    <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.chen_blog.chen">
<!-- 申请 网络权限-->
    <uses-permission android:name="android.permission.INTERNET"/>

<application .......省略余下内容

十、创建 并运行 测试用的安卓虚拟环境

创建按钮
创建按钮

创建按钮
创建按钮

选择手机类型
选择手机类型

选择系统环境
选择系统环境

创建完成
创建完成

十一、测试

点击运行按钮
点击运行按钮

选择运行的模拟环境
选择运行的模拟环境

模拟环境的界面效果
模拟环境的界面效果

打开自己app
打开自己app

app打开效果
app打开效果

十二、导出apk安装包

(1)Android Studio菜单 Build->Generate Signed APK

(2)弹出窗口

(3)创建密钥库及密钥,创建后会自动选择刚创建的密钥库和密钥(已拥有密钥库跳过)
点击“Create new...”按钮创建密钥库


Key store path:密钥库文件的地址
Password/Confirm:密钥库的密码
Key:
Alias:密钥名称
Password/Confirm:密钥密码
Validity(years):密钥有效时间
First and Last Name:密钥颁发者姓名
Organizational Unit:密钥颁发组织
City or Locality:城市
Country Code(XX):国家

(4)选择已存在密钥库及密钥(在(3)中创建密钥库后跳过此步骤)
点击“Choose existing...”按钮找到密钥库文件
Key store password输入已选择的密钥库文件的密码
点击Key alias后的“...”按钮,选择或者创建一个密钥


选中“Use an existing key”,在后面的选择框中选择密钥
选中“Create a new key”,创建新的密钥,详见(3)
点击OK按钮
Key passowrd输入选择的密钥的密码

(5)点击“Next”按钮,选择保存路径后,点击“Finish”按钮完成

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,525评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,203评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,862评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,728评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,743评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,590评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,330评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,244评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,693评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,885评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,001评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,723评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,343评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,919评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,042评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,191评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,955评论 2 355

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,144评论 25 707
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,433评论 2 45
  • 多线程在日常开发中会时不时遇到。首先APP会有一个主线程(UI线程),处理一些UI相关的逻辑。但是牵扯到网络、数据...
    蓝色达风阅读 432评论 0 0
  • 秋雨滴答秋风徐来 湿润了旅途的路 来时穿的单薄的衣服已不足取暖 秋意的侵袭是如此的猝不及防 但这寒冷更加带起了我们...
    Eva小姐姐阅读 234评论 0 3
  • 【本文一共1500多个字,大概需要阅读时间读者朋友们可以自己计算,有问题可以加本人微信:lhjayc614。】 我...
    再途阅读 900评论 0 51