• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android平臺(tái)的移動(dòng)應(yīng)用的研究與開(kāi)發(fā)

      2015-01-08 03:30:46董袁泉
      科技視界 2015年7期
      關(guān)鍵詞:接收器瀏覽器意圖

      董袁泉 徐 李

      (沙洲職業(yè)工學(xué)院,江蘇 張家港 215600)

      0 引言

      隨著智能手機(jī)走進(jìn)普通人的生活,它已成為人們獲取信息的主要設(shè)備。Android是一套真正意義上的開(kāi)放性移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用[1]。Android平臺(tái)的開(kāi)放性等特點(diǎn)既能促進(jìn)技術(shù)的創(chuàng)新,又有助于降低開(kāi)發(fā)成本,還可以使運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。

      1 Android體系架構(gòu)

      Android是一個(gè)包含操作系統(tǒng)、中介架構(gòu)層及應(yīng)用程序所產(chǎn)生出來(lái)的軟件堆棧架構(gòu)如圖1所示。Android系統(tǒng)自上而下共有4層[2],包括應(yīng)用層(Applications),應(yīng)用框架層(Application Framework),核心庫(kù)和運(yùn)行環(huán)境層(Libraries和Android Runtime),操作系統(tǒng)層(Linux Kernal)。

      1.1 應(yīng)用層

      在應(yīng)用層可以使用Java語(yǔ)言進(jìn)行各種應(yīng)用程序的開(kāi)發(fā)。

      1.2 應(yīng)用框架層

      該層為系統(tǒng)提供了很多的API,它包括:Activity Manager,Window Manager,Content Providers,View System 等管理功能。

      1.3 核心庫(kù)和運(yùn)行環(huán)境層

      Android應(yīng)用框架需要系統(tǒng)底層的一些C/C++庫(kù)的支持。這些庫(kù)包括:Bionic 系統(tǒng) C 庫(kù), 多媒體庫(kù),SGL,SSL,OpenGL ES1.0,SQLite,Webkit,F(xiàn)reeType。在Android操作系統(tǒng)中,每個(gè)Java程序都運(yùn)行在一個(gè)獨(dú)立的Dalvik虛擬機(jī)上。Dalvik被設(shè)計(jì)為一個(gè)設(shè)備,可同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。它在保證API方面的兼容的同時(shí),針對(duì)移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源更小,運(yùn)行效率更高。

      1.4 操作系統(tǒng)層

      該層包括顯示驅(qū)動(dòng)、鍵盤(pán)驅(qū)動(dòng)、USB驅(qū)動(dòng)、Flash內(nèi)存驅(qū)動(dòng)等各種設(shè)備驅(qū)動(dòng)。

      2 Android的功能特征

      2.1 應(yīng)用程序架構(gòu)

      在應(yīng)用程序架構(gòu)內(nèi)已經(jīng)具備多種不同的基礎(chǔ)組件,在開(kāi)發(fā)應(yīng)用程序時(shí),就可以直接調(diào)用這些組件來(lái)使用,可以節(jié)省開(kāi)發(fā)應(yīng)用程序的精力及時(shí)間。

      2.2 集成的瀏覽器

      集成的瀏覽器是Android內(nèi)建的瀏覽器,以WebKit的瀏覽引擎為基礎(chǔ)所開(kāi)發(fā)成的[3]。WebKit是一個(gè)開(kāi)源瀏覽器網(wǎng)頁(yè)排版引擎,配合Android手機(jī)功能,可以在瀏覽網(wǎng)頁(yè)時(shí),達(dá)到更好的效果。

      2.3 優(yōu)化的繪圖能力

      在2D方面,Android提供了一套特有的類庫(kù)SGL;而在3D方面則是使用OpenGLES1.0(openGL for Embedded systems)規(guī)范的類庫(kù),它們是一種非??斓膱D形引擎,并且支持硬件加速。

      2.4 SQLite數(shù)據(jù)庫(kù)

      SQLite提供結(jié)構(gòu)化的數(shù)據(jù)存取。SQLite是一款輕型的數(shù)據(jù)庫(kù),支持SQL語(yǔ)句。同時(shí)它還支持事務(wù)功能和并發(fā)處理等等,適合在手機(jī)上使用。

      2.5 多媒體的支持能力

      主要用于播放媒體文件。這同時(shí)包括對(duì)音頻(如播放MP3或其他音樂(lè)文件等)和視頻(如播放從網(wǎng)上下載的視頻)的支持,并支持“播放URI地址”模式,在網(wǎng)絡(luò)上直接播放的流媒體。另外支持各種通用的靜態(tài)圖像格式,例如:JPG、PNG、GIF等格式。

      3 Android應(yīng)用的構(gòu)成和工作機(jī)制

      對(duì)于一個(gè)Android應(yīng)用程序來(lái)說(shuō),是由活動(dòng)Activity、意圖接收器Intent Receiver、服務(wù)Service、內(nèi)容提供者 Content Provider四部分組成[4],然而,并不是所有的Android應(yīng)用程序都必須具備上面的四個(gè)組件,可以包含一個(gè)或幾個(gè)。當(dāng)決定使用以上哪些組件來(lái)構(gòu)建Android應(yīng)用程序時(shí),需要將它們注冊(cè)在AndroidManifest.xml文件中,在這個(gè)文件中可以聲明應(yīng)用程序組件以及它們的特性和要求。

      3.1 活動(dòng)Acitvity

      活動(dòng)是以上四個(gè)組件中最常用的一個(gè)。每個(gè)活動(dòng)都是Activity的子類,并實(shí)現(xiàn)了一些獨(dú)有的功能,如管理UI顯示和UI的反饋事件。一個(gè)活動(dòng)就相當(dāng)于應(yīng)用程序的一個(gè)用戶界面,由事件響應(yīng)以及視圖等組成。大多數(shù)的應(yīng)用程序通常包括多個(gè)界面。Android通過(guò)一個(gè)被稱作意圖的特殊類,來(lái)實(shí)現(xiàn)界面與界面之間的跳轉(zhuǎn)。一個(gè)意圖描述了一個(gè)應(yīng)用程序想要做什么。通常意圖過(guò)濾器要被注冊(cè)在AndroidManifest.xml文件中。從一個(gè)界面跳轉(zhuǎn)到另一個(gè)界面是由解析各種意圖實(shí)現(xiàn)的。

      3.2 意圖接收器Intent

      當(dāng)想要編寫(xiě)代碼來(lái)對(duì)外部事件做一些處理時(shí),可以使用意圖接收器。意圖接收器并不顯示UI界面,它是通過(guò)Notification Manager來(lái)通知用戶他們感興趣的事件發(fā)生了。意圖接收器同樣可以被注冊(cè)在AndroidManifest.xml文件中,同時(shí)也可以在代碼中使用 Context.register Receiver()來(lái)注冊(cè)自己的意圖接收器。當(dāng)一個(gè)意圖接收器被觸發(fā)時(shí),系統(tǒng)會(huì)根據(jù)需要來(lái)啟動(dòng)應(yīng)用程序。

      3.3 服務(wù) Services

      服務(wù)是具有長(zhǎng)生命周期并且沒(méi)有用戶界面的代碼[5]。

      3.4 內(nèi)容提供者Content Provider

      Content Provider可實(shí)現(xiàn)應(yīng)用程序的數(shù)據(jù)存取及不同應(yīng)用程序之間的數(shù)據(jù)共享。每個(gè)Content Provider都有一個(gè)公共的URI,這個(gè)URI用于表示這個(gè)Content Provider所提供的數(shù)據(jù)。

      4 基于Android平臺(tái)的個(gè)人隨身通訊錄的設(shè)計(jì)與實(shí)現(xiàn)

      4.1 功能分析

      系統(tǒng)主要的功能是聯(lián)系人的信息管理,查找和刪除聯(lián)系人,給聯(lián)系人撥打電話,發(fā)送信息,發(fā)送郵件。

      4.2 文件結(jié)構(gòu)與用途

      個(gè)人隨身通訊錄系統(tǒng)的用途說(shuō)明如表1所示,文件結(jié)構(gòu)如圖2所示。

      表1 文件用途

      4.3 工程的文件用途說(shuō)明

      Android的資源文件保存在/res的子目錄中。其中/res/anim目錄中保存的是產(chǎn)生動(dòng)畫(huà)效果的XML文件,/res/drawable/目錄中保存的是圖像文件,/res/values目錄中保存的是用來(lái)自定義字符串和顏色的文件,/res/xml目錄中保存的是XML格式的數(shù)據(jù)文件,/res/layout目錄中保存的布局文件。所有在程序開(kāi)發(fā)階段可以被調(diào)用的資源都保存在這些目錄中。

      4.4 系統(tǒng)的主要模塊

      4.4.1 主界面 Activity_main.java

      當(dāng)安裝本系統(tǒng)后,按下Menu鍵出現(xiàn)系統(tǒng)主界面,關(guān)鍵代碼如下:public class Activity_main extends Activity{

      ListView lv;//顯示所有數(shù)據(jù)的ListView

      GridView bottomMenuGrid;//主菜單的布局

      ……………

      String[]activity_main_menu_itemName={ “顯示所有”,“刪除所有”,“備份數(shù)據(jù)”,“還原數(shù)據(jù)”,“后退” };//菜單文字

      int[]activity_main_menu_itemSource={R.drawable.showall,R.drawable.menu_btn_delete,R.drawable.menu_backup, R.drawable.menu_restore,

      R.drawable.menu_fresh,R.drawable.menu_return};//主菜單圖片

      String[]bottom_menu_itemName={ “增加”,“查找”,“刪除”,“功能”,“退出” };

      String fileName;

      int[]bottom_menu_itemSource={R.drawable.menu_new_user,

      R.drawable.menu_search,R.drawable.menu_btn_delete,

      R.drawable.controlbar_showtype_list,R.drawable.menu_exit};

      先聲明了用到的組件。從代碼中可以看出,MainActivity的主要功能就是軟件的導(dǎo)航欄。

      4.4.2 增加聯(lián)系人列表 AddnewContact.java

      增加聯(lián)系人的主要代碼如下:

      btn_btn_save.setOnClickListener(new OnClickListener(){

      public void onClick(View arg0){

      if(!flag){

      btn_btn_save.setText(“保存修改”);

      setEditTextAble();

      flag=true;

      et_name.setFocusable(true);

      et_name.setFocusableInTouchMode(true);

      et_name.requestFocus();

      et_name.requestFocusFromTouch();

      }else{

      setTitle(“modify”);

      modify();

      setEditTextDisable();

      setColorToWhite();

      btn_btn_save.setText(“修改”);

      flag=false;

      et_name.setFocusable(false);

      et_name.setFocusableInTouchMode(false);

      }

      }

      });

      其余功能的代碼此處不再贅述。

      4.4.3 程序配置文件 AndroidManifest.XML:

      <?xml version=“1.0” encoding=“utf-8”?>

      <manifest xmlns:android=“http://schemas.android.com/apk/res/android”

      package=“com.zhengping.contact”

      …………

      <application

      android:icon=“@drawable/androidcontact”

      android:label=“個(gè)人通訊錄”>

      <activity

      android:name=“.Main”

      android:label=“個(gè)人通訊錄”>

      <intent-filter>

      <action android:name=“android.intent.action.MAIN” />

      <category android:name =“android.intent.category.LAUNCHER” />

      </intent-filter>

      </activity>

      <activity android:name=“.UserDetail” />

      <activity android:name=“.AddNew” />

      <activity android:name=“.MainPrivacy” />

      </application>

      <uses-permission android:name=“android.permission.CALL_PHONE”>

      </uses-permission>

      <uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE”>

      </uses-permission>

      </manifest>

      5 結(jié)束語(yǔ)

      本文分析了Android應(yīng)用程序的架構(gòu),介紹了Android應(yīng)用程序開(kāi)發(fā)的相關(guān)技術(shù)和流程,并通過(guò)一個(gè)具體的實(shí)例來(lái)說(shuō)明Android應(yīng)用開(kāi)發(fā)的具體過(guò)程;隨著智能手機(jī)的發(fā)展,研究基于Android平臺(tái)的應(yīng)用開(kāi)發(fā)具有重要的意義。

      [1]彭許波.基于Android系統(tǒng)遠(yuǎn)程控制客戶端服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶郵電大學(xué),2013.

      [2]葉曉靜,黃俊偉.基于Android系統(tǒng)的多媒體播放器解決方案[J].現(xiàn)代電子技術(shù),2011,34(24):73-77.

      [3]高勝寒.基于Android平臺(tái)webkit核心的瀏覽器的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012.

      [4]黃思沛.基于Android的校園應(yīng)用的設(shè)計(jì)初探——以校園活動(dòng)平臺(tái)為例[J].電子世界,2014,7:141-143.

      [5]劉瑾,劉一瑋,李玥.基于Android平臺(tái)的 WiFi管理軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤(pán)軟件與應(yīng)用,2014,17(17):75-78.

      猜你喜歡
      接收器瀏覽器意圖
      原始意圖、對(duì)抗主義和非解釋主義
      法律方法(2022年2期)2022-10-20 06:42:20
      陸游詩(shī)寫(xiě)意圖(國(guó)畫(huà))
      制定法解釋與立法意圖的反事實(shí)檢驗(yàn)
      法律方法(2021年3期)2021-03-16 05:56:58
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      JXG-50S型相敏軌道電路接收器自動(dòng)測(cè)試臺(tái)
      埃及
      環(huán)球?yàn)g覽器
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      ZPW-2000A軌道電路接收器冗余電路存在問(wèn)題分析及對(duì)策
      燕山秋意圖
      和静县| 望都县| 商河县| 大港区| 灵宝市| 宁海县| 泰顺县| 永新县| 孙吴县| 临漳县| 龙泉市| 铁岭县| 淮南市| 鹿泉市| 南投县| 西吉县| 哈密市| 清河县| 葵青区| 深水埗区| 九龙县| 松桃| 建水县| 陆川县| 神农架林区| 郧西县| 鹰潭市| 措美县| 罗山县| 延吉市| 侯马市| 新化县| 绥中县| 韩城市| 光泽县| 宣恩县| 体育| 安远县| 吉水县| 遂平县| 铁岭市|