李嘉俊
隨著科學(xué)技術(shù)的快速發(fā)展,人們的生活和工作越來(lái)越離不開(kāi)移動(dòng)互聯(lián)網(wǎng)技術(shù)。所以,在移動(dòng)手機(jī)端開(kāi)發(fā)網(wǎng)絡(luò)技術(shù)倍受重視。傳統(tǒng)的Web開(kāi)發(fā)模式主要有RIA和MVC,因此,移動(dòng)端網(wǎng)絡(luò)程序的開(kāi)發(fā)更注重平臺(tái)方面,所以SOA模式應(yīng)運(yùn)而生?,F(xiàn)階段Android作為智能手機(jī)最為常用的系統(tǒng),它的編程框架非常優(yōu)秀,因此非常適合開(kāi)發(fā)手機(jī)網(wǎng)絡(luò)程序。
Android架構(gòu)
在Linux上建立Android系統(tǒng)的底層,有幾個(gè)部分組成。其中,Linux內(nèi)核是軟硬件的抽象層,能夠提供核心服務(wù),例如:內(nèi)存進(jìn)程管理、驅(qū)動(dòng)模型以及安全性能等。Android運(yùn)行環(huán)境是由虛擬機(jī)與核心庫(kù)組成,虛擬機(jī)擔(dān)負(fù)Android應(yīng)用程序的運(yùn)行。Android系統(tǒng)核心庫(kù)是函數(shù)庫(kù),這個(gè)函數(shù)庫(kù)主要是用C++語(yǔ)言和C語(yǔ)言進(jìn)行開(kāi)發(fā),由媒體庫(kù)、系統(tǒng)C庫(kù)、SQLLITE及2D/3D引擎等組成,一般無(wú)法直接調(diào)用。應(yīng)用程序?qū)又饕茿ndroid系統(tǒng)上的App程序。應(yīng)用程序框架是程序開(kāi)發(fā)的基礎(chǔ),同樣也是Android系統(tǒng)的功能模塊,能夠讓開(kāi)發(fā)者使用API。
Android開(kāi)發(fā)的應(yīng)用一直在移動(dòng)客戶(hù)端使用廣泛,它最大的優(yōu)勢(shì)在于能夠把業(yè)務(wù)開(kāi)發(fā)和界面開(kāi)發(fā)明顯的分開(kāi),而且能夠?qū)?yīng)各種資源的配置,非常方便資源使用。編碼是在src目錄下,里面有Java文件,能夠?qū)崿F(xiàn)業(yè)務(wù)邏輯;放置圖片等是在drawable目錄;多媒體文件在assets目錄下放置;索引表在res目錄下放置;布局文件在layout目錄下;字符串、顏色、數(shù)組以及風(fēng)格均在values目錄中。
應(yīng)用程序的配置文件是Android Manifest.Xml,它的功能很多,主要由4個(gè)部分組成:Activity,Servce,Broadcast Intent Receiver,Content Provider,其功能就是授權(quán)訪(fǎng)問(wèn)、聲明activity及定義SDK版本等。其中,Android系統(tǒng)的基礎(chǔ)模塊就是Activity,主要是用戶(hù)展示的界面,能夠根據(jù)開(kāi)發(fā)者的需要在上面設(shè)置按鈕、文本框等,還可以顯示用戶(hù)名、密碼,不僅能夠?qū)崿F(xiàn)單個(gè)用戶(hù)體驗(yàn),多用戶(hù)也可以交互體驗(yàn),不同的模塊之間還能轉(zhuǎn)換。Service是程序后臺(tái),舉例說(shuō)明,手機(jī)在運(yùn)行程序的時(shí)候,后臺(tái)可以播放music。Broadcast Intent Receiver是廣播接收器,能夠接收和處理廣播通知。ContentProvider主要是以文件的形式存儲(chǔ),功能是為提供給系統(tǒng)的一些特殊應(yīng)用所使用,通常存儲(chǔ)在SqlLite中。
Android網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)方式
1. SOA
應(yīng)用類(lèi)型一般有單機(jī)應(yīng)用、游戲和網(wǎng)絡(luò)應(yīng)用等,本文主要對(duì)網(wǎng)絡(luò)應(yīng)用開(kāi)發(fā)進(jìn)行闡述。網(wǎng)絡(luò)應(yīng)用有客戶(hù)端和服務(wù)端,客戶(hù)端是Android,服務(wù)端可以有很多樣式,根據(jù)需求選擇即可。但是如果有跨平臺(tái)的問(wèn)題,就得使用SOA架構(gòu),這個(gè)服務(wù)架構(gòu)能夠很好地解決平臺(tái)之間轉(zhuǎn)換的問(wèn)題,可以進(jìn)行數(shù)據(jù)傳輸?shù)臒o(wú)縫銜接。在Android中主要交互方式是soap協(xié)議與Webservice。本文是一個(gè)開(kāi)源項(xiàng)目,所以推薦ksoap2 Android庫(kù),這個(gè)是Java語(yǔ)言最常用的方式之一,也是穩(wěn)定性最高的工具之一。其中,Soap Serialization Envelope,SoapObject,HttpTransport 3個(gè)對(duì)象需要被實(shí)現(xiàn)。Soap Serialization Envelope序列化對(duì)象,將SOAP對(duì)象綁定起來(lái);SoapObject就是soap的對(duì)象,指定了Webservice命名空間和調(diào)用的方法;HttpTransport用于Internet訪(fǎng)問(wèn)或者請(qǐng)求,可以通過(guò)call方法獲取從Webservice服務(wù)得到的數(shù)據(jù)。
2. Android前端開(kāi)發(fā)
隨著移動(dòng)端系統(tǒng)的不斷升級(jí)優(yōu)化,Android系統(tǒng)的版本也越來(lái)越高,前端開(kāi)發(fā)變得方便、簡(jiǎn)單,控件形式也變得多種多樣。但是對(duì)于市場(chǎng)上的控件來(lái)說(shuō),如果開(kāi)發(fā)者為了簡(jiǎn)單都用默認(rèn)控件,這樣的產(chǎn)品必然會(huì)遭到消費(fèi)者的質(zhì)疑而不被接受。因此,制成優(yōu)秀的控件非常關(guān)鍵,對(duì)于應(yīng)用程序來(lái)說(shuō)至關(guān)重要,優(yōu)化方法如下:一是提前思考,技術(shù)人員可以創(chuàng)新思維,改變xml設(shè)置,讓控件形式多樣,如背景選擇器選擇shape(selec—tor)等,添加button,text—view等式樣;二是繼承控件的基類(lèi)、控件的方法重新命名和實(shí)現(xiàn)自定義控件,View,ScrollView,ListView都可以被重寫(xiě)。
通常情況下,Android系統(tǒng)的移動(dòng)端涉及很多內(nèi)容,所需要的知識(shí)很多,不僅僅局限在上述內(nèi)容,本文主要是希望幫助讀者能更好、更快地了解Android系統(tǒng)在互聯(lián)網(wǎng)下的基本技術(shù)。