学习目标:WebApp——把HTML5应用打包到Android手机中。
特点:代码量少!思路简单!——过程有点乱,很容易出错!
面试题:面向过程(function)和面向对象(object)的区别? 面向过程的语言:C、C++、JavaScript、PHP —— 底层软件,如三大基础软件 面向对象的语言:C++、JavaScript、PHP、Java、C# —— 高层应用软件 |
Hybrid App = NativeApp + WebApp
1.原生App和WebApp的比较
原生(Native)App指:
iOS(Linux-C): Objective-C、Swift
Android(Linux-C): Java
WebApp指:
使用HTML5编写的移动Web应用。一个WebApp几乎可以不加修改的运行在PC、Android、iOS等平台。
优势:一套代码到处运行。
劣势:某些底层功能缺失,运行速度不如原生App。
(1)保证在“我的电脑”中可以看到并打开我的手机
(2)Android系统 => 设置 => 开发者选项 => 启用USB调试
就可以直接安装自己开发的移动应用到Android系统了
2.Android开发环境的搭建
(1)下载并安装Java程序的运行环境——JDK(JavaDevelopmentKit)
baidu:jdk安装
保证在命令行中输入 java.exe 可以运行
(2)下载并解压缩Android应用的开发环境——ADT(AndroidDeveloperTools)
(3)启动ADT: eclipse/eclipse.exe
(4)创建虚拟的Android设备——Android Virtual Device Manager
注意:有真实Android手机可以省略此步,在
Eclipse->Window->OpenPerspective->DDMS
界面下可以查看到自己的手机
(5)创建Android应用程序,选择自定义图标,定制窗口中的内容,安装真实手机或虚拟手机中。
提示:若ADT无法发现真实手机,可以把项目运行一下,在bin目录下会生成Android应用程序的安装程序: xxx.apk 可以直接把此文件拷贝到手机的sd卡中,使用手机直接安装此apk文件。
3.Android应用的目录结构
如何设置一个全屏显示的窗口:
修改项目清单文件 AndroidManifest.xml:
<application android:theme="@android:style/Theme.NoTitleBar.FullScreen">
4.创建一个HybridApp
混合App: 像原生App一样有图标,点开后呈现一个原生App的窗口(称为Activity);此窗口中只有一个组件——一个浏览器内核(不带地址栏),可以限定此浏览器内核只显示特定的网页。
创建WebView组件——用于显示网页内容(即浏览器的核心)
WebView wv = new WebView(this); //创建浏览器核心对象
this.setContentView(wv); //窗体中添加webView组件
1)使用WebView加载APK文件中打包好的Android本地网页:
所有的HTML/CSS/JS都必须保存Android项目的assets目录下
WebView wv = new WebView(this);
this.setContentView(wv);
wv.getSettings.setJavaScriptEnabled(true); //启用JS支持
wv.loadUrl("file:///android_asset/xx.html"); //加载本地的HTML文件
2)使用WebView加载远程Web服务器上的网页:
除了上述步骤外,还需要向用户申请网络使用权限:
AndroidManifest.xml中:
<uses-permission android:name="android.permission.INTERNET">
MainActivity.java中:
wv.loadUrl("http://tmooc.cn"); //加载互联网的HTML文件