亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Android+Jquery Mobile學(xué)習(xí)系列(3)-創(chuàng)建Android

系統(tǒng) 2109 0
目錄導(dǎo)航

?

前兩章分別對(duì)開發(fā)環(huán)境和Jquery Mobile基礎(chǔ)知識(shí)進(jìn)行了介紹,本章介紹創(chuàng)建一個(gè)Android項(xiàng)目,并使用WebView控件顯示HTML數(shù)據(jù)。

?

首先創(chuàng)建一個(gè)Android Application項(xiàng)目,這個(gè)在 第一節(jié) 已經(jīng)講過,不再贅述。

?

然后以圖的形式介紹下Android項(xiàng)目幾個(gè)關(guān)鍵文件的功能。


Android+Jquery Mobile學(xué)習(xí)系列(3)-創(chuàng)建Android項(xiàng)目

?

首先是AndroidManifest.xml文件,這個(gè)文件算是最重要的XML配置文件了, 比如該項(xiàng)目的名稱,該項(xiàng)目要開通哪些權(quán)限,該項(xiàng)目用到了哪些核心Activity類型,哪個(gè)是默認(rèn)啟動(dòng)項(xiàng)。

?

我的AndroidManifest.xml內(nèi)容如下:

      <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bless.blesscrm"
    android:versionCode="1"
    android:versionName="1.0" >
	
    <!-- 開啟網(wǎng)絡(luò)訪問權(quán)限 -->
    <uses-permission android:name="android.permission.INTERNET" >
    </uses-permission>

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="8" />

    <application
        android:name="com.bless.blesscrm.AppContext"
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.bless.blesscrm.MainActivity"
            android:label="@string/app_name" 
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <!-- 設(shè)置當(dāng)前Activity為啟動(dòng)項(xiàng) -->
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

    

設(shè)置中有開發(fā)網(wǎng)絡(luò)訪問權(quán)限,這樣你就可以通過WebView訪問外網(wǎng)地址信息了

com.bless.blesscrm.AppContext是一個(gè)全局類,類中的變量在任何地方都能訪問

com.bless.blesscrm.MainActivity是默認(rèn)啟動(dòng)的Activity,也就是說Android應(yīng)用啟動(dòng)后會(huì)執(zhí)行這個(gè)Activity的方法來生成對(duì)應(yīng)的頁(yè)面信息;

很多手機(jī)支持屏幕翻轉(zhuǎn),但是基于WebVeiw的Activity通常不要支持翻轉(zhuǎn),因?yàn)槟阋环D(zhuǎn)就會(huì)重新調(diào)用Activity的onCreate方法,又回到首頁(yè)了,所以在<activity>中增加一個(gè)屬性android:screenOrientation="portrait"只允許豎屏顯示(高度大于寬度的屏幕)

?

?

然后在src源代碼目錄下找到com.bless.blesscrm.MainActivity,應(yīng)用啟動(dòng)后會(huì)執(zhí)行MainActivity的onCreate方法,所以頁(yè)面布局、顯示等初始化內(nèi)容都要在這個(gè)方法中編寫。

?

      protected void onCreate(Bundle savedInstanceState) {
	userManager = (UserManager) BeanFactory.getDBManager(UserManager.class, this);

	super.onCreate(savedInstanceState);
	app = (AppContext) super.getApplication();
	// 初始化當(dāng)前用戶
	app.setUser(userManager.getCurrentUser());
		
	setContentView(R.layout.activity_main);
	webView = (WebView) findViewById(R.id.webview);
	init();
	/** javascript與Java對(duì)象映射,頁(yè)面可使用javascript:ajax.xx()來調(diào)用AjaxManager的方法 */
	webView.addJavascriptInterface(new JavascriptUser(MainActivity.this), "javascriptUser");
	webView.loadUrl("file:///android_asset/www/index.html");
}
    

?

setContentView(R.layout.activity_main)用于設(shè)置Android屏幕顯示什么內(nèi)容,而R.layout.activity_main就是內(nèi)容文件,這個(gè)是一個(gè)XML,在上圖中的layout文件夾下,名稱為activity_main.xml,這個(gè)文件只有很簡(jiǎn)單一個(gè)WebView標(biāo)簽:

      <WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>
    

?

webView = (WebView) findViewById(R.id.webview)表示獲取WebView對(duì)象,這個(gè)控件定義在activity_main.xml中。

?

webView.addJavascriptInterface(new JavascriptUser(MainActivity.this), "javascriptUser")用于給HTML頁(yè)面的javascript提供一個(gè)接口支持,頁(yè)面js可以通過javascriptUser.xxx()執(zhí)行這個(gè)Java中的方法,這個(gè)就是頁(yè)面與Android后臺(tái)交互最重要的接口了!(具體怎么個(gè)調(diào)用法,在后面文章中說明)

?

webView.loadUrl("file:///android_asset/www/index.html");表示W(wǎng)ebView控件初次加載哪個(gè)HTML文件,這個(gè)有個(gè)格式標(biāo)準(zhǔn),如果以[file:///android_asset]為前綴,則可以訪問Android項(xiàng)目下asset文件夾中的HTML文件。

?

?

init()方法定義了一些WebView的自定義配置,如下代碼有詳細(xì)注釋,就不做解釋了。

      private void init() {
	setting = webView.getSettings();
	setting.setSupportZoom(true);// 支持縮放
	setting.setDefaultZoom(WebSettings.ZoomDensity.FAR);// 設(shè)置初始化縮放大小
	setting.setJavaScriptEnabled(true); // 支持頁(yè)面的javascript

	proDlg = new ProgressDialog(this);
	proDlg.setMessage("加載中,請(qǐng)稍后...");

	webView.setWebViewClient(new WebViewClient() {
		@Override
		public void onPageFinished(WebView view, String url) {
			// 加載頁(yè)面完成
			proDlg.dismiss();
		}

		@Override
		public void onPageStarted(WebView view, String url, Bitmap favicon) {
			// 加載頁(yè)面
			proDlg.show();
		}
	});

	webView.setWebChromeClient(new WebChromeClient() {
		@Override
		public void onProgressChanged(WebView view, int newProgress) {
			// 動(dòng)態(tài)顯示進(jìn)度
			proDlg.setMessage("已經(jīng)加載:" + newProgress + " %");
		}
	});
}
    

?

?

最后是在assets文件夾中創(chuàng)建頁(yè)面元素,所有的javascript、css、icon和html都放在這個(gè)下面,最好分文件存放,方便查找,別忘了放Jquery Mobile,我是將整個(gè)文件都拷貝到項(xiàng)目下的。

Android+Jquery Mobile學(xué)習(xí)系列(3)-創(chuàng)建Android項(xiàng)目
?index.html文件就不多說了,這個(gè)跟平常的html一樣的,在 第二章 中有示例。

?

需要注意的是,在html的<head>標(biāo)簽內(nèi)一定要添加下面這兩句,第一句無(wú)疑問是設(shè)置編碼的,第二個(gè)是表示讓html占滿整個(gè)移動(dòng)設(shè)備屏幕,這個(gè)在網(wǎng)上搜搜,也有很多詳細(xì)說明的!

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
    

?

然后啟動(dòng)Android應(yīng)用程序,調(diào)試看看是否能夠顯示正確的效果。

?

作為新手,很可能會(huì)遇到很多問題,千萬(wàn)不要?dú)怵H,我也是這么過來的,當(dāng)初為了出這個(gè)html報(bào)了各種奇怪的錯(cuò)誤,通過一點(diǎn)點(diǎn)排除問題,最終終于能在移動(dòng)設(shè)備中顯示了。

?

如果你感覺你的HTML寫得不正確,你可以在PC上直接訪問這個(gè)HTML,然后通過瀏覽器調(diào)試---在移動(dòng)設(shè)備上調(diào)試確實(shí)太麻煩!

?

你可以引用第三方的Jar包到項(xiàng)目的lib目錄下,最好一個(gè)個(gè)引用(因?yàn)橛行㎎ar包Android不支持),然后跑一下Android看控制臺(tái)是否報(bào)錯(cuò)。

?

對(duì)于Android開發(fā),這里說得非常膚淺,個(gè)人建議新手下載一些Android視頻來看,因?yàn)楹芏嘁曨l的講師都很專業(yè),他會(huì)給你很多建設(shè)性的意見,相反看書就比較枯燥,而且無(wú)法抓住重點(diǎn)!

Android+Jquery Mobile學(xué)習(xí)系列(3)-創(chuàng)建Android項(xiàng)目


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 久久不射网站 | 三上悠亚在线一区 | 日本亚洲高清 | 婷婷综合在线观看丁香 | 日日碰夜夜 | 成人毛片免费观看视频在线 | 第四色奇米影视 | 最近免费中文字幕大全免费版视频 | 久久久久久久国产高清 | 欧美一级毛片特黄大 | 久久免| 国产日产欧美a级毛片 | 久久精品国产视频 | 国产日韩精品一区二区在线观看 | 成人永久免费视频网站在线观看 | 欧美成人一区二区 | 日韩精品高清自在线 | 免费看欧美理论片在线 | 久久精品国产久精国产果冻传媒 | 日本在线 | 中文 | 4hu四虎永久网址 | 四虎.com| 欧美日比| 九天玄帝诀免费完整观看 | 男女羞羞视频免费观看 | 国产在线一区二区三区欧美 | 国产精品无码久久av | 黄色毛片免费看 | 九九99re在线视频精品免费 | 新四虎影院| 人人骚| 久久乐国产精品亚洲综合m3u8 | 国产亚洲精品一区二区久久 | 91在线免费公开视频 | 中文字幕一区二区在线观看 | 999久久久精品视频在线观看 | 性生大片一级毛片免费观看 | 天天干天天插天天射 | 欧美成免费 | 亚洲欧美一区二区三区麻豆 | 精品福利在线视频 |