html5 app 简单实例

一、编写一个HTML5 App

下载最新版本的PhoneGap并解压,我们将使用其中的Android目录。下载地址:https://github.com/phonegap/phonegap/zipball/1.0.0

  • 启动Eclipse,然后在菜单“File”下选择“New > Android Project”
    • 在项目根目录下,创建两个新目录:

      • /libs
      • /assets/www
    • 复制phonegap.js(从PhoneGap解压缩后的Android目录中,将解压缩后的带版本号的js文件名修改为phonegap.js)到/assets/www。
    • 复制phonegap.jar(从PhoneGap解压缩后的Android目录中,将解压缩后的带版本号的jar文件名修改为phonegap.jar)到/libs。
    • 复制xml整个目录(从PhoneGap解压缩后的Android目录中,包括一个plugins.xml)到/res。【v1.0 rc2以上】
    • 对Eclipse的src文件夹中的主要Java文件进行少量调整:(如下图)
      • 将class的继承由Activity改为DroidGap
      • setContentView()替换为super.loadUrl(“file:///android_asset/www/index.html”);
      • 添加import com.phonegap.*;
      • 移除import android.app.Activity;
  • 在这里你可能会遇到Eclipse找不到phonegap.jar的错误。在这种情况下,右键单击/libs文件夹找到Build Paths/ > Configure Build Paths。然后在Libraries标签页中添加phonegap.jar到项目中。如果Eclipse不是很稳定,你需要点击F5刷新一次项目。
  • 右键单击AndroidManifest.xml并选择Open With > Text Editor
  • 将下面的权限设置拷贝到versionName之后(这个可以根据APP的具体情况而定):
    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

在AndroidManifest的activity标签中添加android:configChanges="orientation|keyboardHidden"

  • “/assets/www”目录中新建文件“index.html”,并粘贴如下代码:
  • <!DOCTYPE HTML>
    <html>
    <head>
    <title>小地盘</title>
    <script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
    </head>
    <body>
    <h1>你好, 小地盘。</h1>
    </body>
    </html>
  • 最后部署运行程序。

二、测试

MainActivity.java

package com.example.html5test;

import android.os.Bundle;

import com.phonegap.DroidGap;

public class MainActivity extends DroidGap {

	String url = "file:///android_assets/www/index.html";

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		super.loadUrl(url);

	}

}

测试结果:

修改MainActivity.java

package com.example.html5test;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends Activity {

	WebView mWebView;
	String url = "file:///android_assets/www/index.html";

	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.fragment_main);
		WebView mWebView = (WebView) this.findViewById(R.id.webid);

		mWebView.loadUrl(url);

		WebSettings webSettings = mWebView.getSettings();
		webSettings.setJavaScriptEnabled(true);
	}

}

修改fragment_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.html5test.MainActivity$PlaceholderFragment" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <WebView
        android:id="@+id/webid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="100dp" />

</RelativeLayout>

测试结果:

三、引用参考

http://awebird.com/blog/art/122

http://awebird.com/blog/art/190

http://www.csdn.net/article/a/2015-04-21/15823933

http://blog.csdn.net/kuangshazi515/article/details/7725624

http://www.cnblogs.com/charley_yang/archive/2011/02/28/1967559.html

具体问题列出来了,还没有解决,大牛们一起讨论帮忙解决。

时间: 2024-08-09 06:00:22

html5 app 简单实例的相关文章

HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例

Web Storage是什么? Web Storage功能,顾名思义,就是在Web上针对客户端本地储存数据的功能,具体来说Web Storage分为两种: sessionStorage: 将数据保存在session对象中,所谓session是指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间.session对象可以用来保存在这段时间内所要求保存的任何数据. localStorage: 将数据保存在客户端本地的硬件设备(通常指硬盘,当然可以是其他的硬

面向Web Cloud的HTML5 App开发实战:Browser&amp;HTML5&amp;CSS3&amp;PhoneGap&amp;jQuery Mobile&amp; WebSocket&amp;Node.js(2天)

如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题. 课程以Android的五大核心:HAL.Binder.Native Service.Android Service(并以AMS和WMS为例).View System为主轴,一次性彻底掌握Android的精髓. 之所以是开发Android产品的必修课,缘起于: 1,     HAL是Android Framework&Application与底层硬件整合的关键技术和必修技

开源HTML5 APP开发神器CanTK发布

CanTK是一套基于HTML5 Canvas的GUI系统,它提供了完整的控件库,事件分发系统,窗口管理系统和不同的平台的适配.CanTK是为解决HTML5 App开发的两个基本难题而生的: 开发真正Native体验的APP. HTML的基因是文档,它的长处是呈现内容,而不是与用户交互,所以不管怎么努力,都很难开发出与Native媲美的应用.即使拿目前最优秀的HTML5 Mobile Framework(如Sencha touch和KendoUI)开发出来的App来看: 与网页相比,它们确实像AP

Settings app简单学习记录

Settings是android系统设置的入口.主界面由Settings.java以及settings_headers.xml构成. Settings类继承自PreferenceActivity,而PreferenceActivity又继承自ListActivity,ListActivity拥有ListView和ListAdapter类型的成员变量. 1,如何使用PreferenceActivity构建页面 使用addPreferencesFromIntent或者addPreferencesFr

当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)

读懂<HTML5网页开发实例详解>这本书 你还在用Flash嘛?帮主早不用了 乔布斯生前在公开信<Flash之我见>中预言:像HTML 5这样在移动时代中创立的新标准,将会在移动设备上获得胜利. --国际巨头Google.苹果等都支持HTML 5标准,要不要学,你看着办! BAT三巨头都偷偷用上HTML 5了 HTML 5目前在国内的发展达到了空前的高度,以BAT三大巨头互联网公司为例,他们都已经争先恐后地将HTML 5的新技术融入到现实的开发领域中了.本书的例子会涉及WebQQ.

Spring.Net 简单实例-02(属性注入)

说明:接续Spring.Net 简单实例-01(IOC) 话不多说看操作 1:为UserInfo添加属性 2: 修改App.config中代码 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <sectionGroup name="spring"> <section name="cont

【转】Android Https服务器端和客户端简单实例

转载地址:http://blog.csdn.net/gf771115/article/details/7827233 AndroidHttps服务器端和客户端简单实例 工具介绍 Eclipse3.7 Tomcat 6.0.18(免安装版) Android2.1开发环境(在Eclipse中配置好) 前提条件 JDK环境要使用我们自己安装的,笔者JDK安装目录为D:\Java\jdk1.6.0_22,在Eclipse的Window-preference-installedJREs中,只选用我们自己安

免费的HTML5连载来了《HTML5网页开发实例具体解释》连载(六)媒体查询

响应式设计的还有一个重要技术手段是媒体查询.假设仅仅是简单的设计一个流式布局系统,那么能够保证每一个网格按比例的放大和缩小,但有可能会使得在小屏幕下(如手机设备)网格太小而严重影响阅读,这种设计称不上响应式设计.媒体查询能够来解决这一问题.媒体查询能够为特定的浏览器和设备提供特定的样式.媒体查询是CSS 3的一个新特性,是对媒体类型的扩展. 提示:W3C列出了10种媒体类型,请參考http://www.w3.org/TR/CSS2/media.html#media-types. 在响应式设计中,

纯 HTML5 APP与原生APP的差距在哪?

纯 HTML5 APP与原生APP的差距在哪? 写过一些纯H5的APP,虽然开发起来的确很快很舒服,但和原生比起来纯H5APP还是有很多问题,主要聚集在以下几个方面: 1.动画 动画有很多种,比如侧边栏菜单的滑入滑出.元素的响应动画.页面切换之间的过场等等,在H5之下的众多实现方法都没有办法达到纯原生的性能.一般这些的话有几种不同的选择: css3动画 javascript动画 原生动画 css3动画非常的消耗性能,如果某一个元素用到css3动画可能还看不出来,但大面积或过场使用css3动画会让