freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的手機流量控制軟件設計與實現(xiàn)(編輯修改稿)

2025-07-25 01:24 本頁面
 

【文章內(nèi)容簡介】 ,除了底層的核心以外。這種外掛設計讓Eclipse具備強大擴充性,但更重要的是,此平臺提供一個定義明確的機制,讓各種外掛程序共通合作(透過延伸點extension points)與貢獻(contributions),因此新功能可以輕易且無縫地加入平臺。 Android技術(shù)Android(安卓)系統(tǒng)是手機或一些平板電腦等終端的操作系統(tǒng),可以說是現(xiàn)在最流行的系統(tǒng)之一。是目前最流行的手機智能平臺,目前廣泛的應用在智能手機上,在智能手機領(lǐng)域掀起了“Android風暴”。Android系統(tǒng)在不久的將來即將應用在平板電腦,微波爐,電冰箱等等電器上,發(fā)展前景很好。圖 21 Android是基于Linux開放性內(nèi)核的手機操作系統(tǒng),Android系統(tǒng)由操作系統(tǒng)、中間件、用戶界面和應用軟件組成。它采用軟件堆層(SoftwareStack,又名軟件疊層)的架構(gòu),主要分為三部分。底層以Linux內(nèi)核工作為基礎,由C語言開發(fā),只提供基本功能;中間層包括函數(shù)庫Library和虛擬機VirtualMachine,由C++開發(fā)。最上層是各種應用軟件,包括通話程序,短信程序等,應用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。Android系統(tǒng)優(yōu)勢主要體現(xiàn)在以下方面:  (1)開放性  在優(yōu)勢方面,Android平臺首先就是其開放性,開發(fā)的平臺允許任何移動終端廠商加入到Android聯(lián)盟中來。顯著的開放性可以使其擁有更多的開發(fā)者,隨著用戶和應用的日益豐富,一個嶄新的平臺也將很快走向成熟。  開放性對于Android的發(fā)展而言,有利于積累人氣,這里的人氣包括消費者和廠商,而對于消費者來講,最大的受益正是豐富的軟件資源。開放的平臺也會帶來更大競爭,如此一來,消費者將可以用更低的價位購得心儀的手機。 ?。?)掙脫束縛  在過去很長的一段時間,特別是在歐美地區(qū),手機應用往往受到運營商制約,使用什么功能接入什么網(wǎng)絡,幾乎都受到運營商的控制。自從iPhone上市,用戶可以更加方便地連接網(wǎng)絡,運營商的制約減少。隨著EDGE、HSDPA這些2G至3G移動網(wǎng)絡的逐步過渡和提升,手機隨意接入網(wǎng)絡已不是運營商口中的笑談?! 。?)豐富的硬件  這一點還是與Android平臺的開放性相關(guān),由于Android的開放性,眾多的廠商會推出千奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色,卻不會影響到數(shù)據(jù)同步、甚至軟件的兼容。好比你從諾基亞Symbian風格手機一下改用蘋果iPhone,同時還可將Symbian中優(yōu)秀的軟件帶到iPhone上使用、聯(lián)系人等資料更是可以方便地轉(zhuǎn)移?! 。?)開發(fā)商  Android平臺提供給第三方開發(fā)商一個十分寬泛、自由的環(huán)境。因此不會受到各種條條框框的阻撓,可想而知,會有多少新穎別致的軟件會誕生。但也有其兩面性,血腥、暴力、情色方面的程序和游戲如何控制正是留給Android難題之一。 ?。?)無縫結(jié)合的Google應用如今叱詫互聯(lián)網(wǎng)的Google已經(jīng)走過10年度歷史。從搜索巨人到全面的互聯(lián)網(wǎng)滲透,Google服務如地圖、郵件、搜索等已經(jīng)成為連接用戶和互聯(lián)網(wǎng)的重要紐帶,而Android平臺手機將無縫結(jié)合這些優(yōu)秀的Google服務。3 系統(tǒng)總體方案 基本框架首先必須明白android本質(zhì)是應用框架,而不是普通的OS平臺。如果從空間角度去想象OS與應用框架之間的關(guān)系,的確,OS(如linux和windows)像木板床,應用框架像床墊,鋪在不板床上。而應用程序則像睡在床墊上的人。雖然表面上看似正確,但卻忽略了一個重要事實,那就是用戶是通過OS,應用框架來與應用程序取得互動的,這種互動必須是實時交互的,如下圖所示。圖31 Android與傳統(tǒng)的Win32應用開發(fā)的區(qū)別圖32圖33Android是事務先于實體而存在的,傳統(tǒng)的Win32是一個實體邏輯通過消息組成事務,就存在實體可以做什么通過win平臺消息告訴對方做什么。而Android的平臺是告訴平臺我想做什么,平臺才去找對應的Activity,而并不一定能找到對應的邏輯體。 Android應用文件結(jié)構(gòu)圖34Android應用文件系統(tǒng)主要包括3部分:1)可執(zhí)行代碼部分,可執(zhí)行相對于虛擬機來說的,Android應用是構(gòu)建在java語言之上的,可以通過jni接入C和C++部分 2)資源文件,包括數(shù)據(jù),圖片,Activity結(jié)構(gòu)等3),告訴平臺都有什么,在哪里等。 流量監(jiān)控功能整體需求系統(tǒng)具有三個主要功能部分:數(shù)據(jù)捕獲與顯示模塊,流量信息統(tǒng)計模塊,流量繪制模塊。如下圖所示圖35本次設計的重點主要體現(xiàn)在數(shù)據(jù)采集模塊和界面顯示兩部分。首先,數(shù)據(jù)采集因為可以直接調(diào)用類庫函數(shù),所以代碼并不復雜;難點在于界面的多樣化顯示,界面是用戶感知該應用好壞的最直接方式,如果界面顯示不友好,或者布局雜亂,就會嚴重影響產(chǎn)品的推廣。4 詳細設計 軟件流程圖分析下startActivity,即啟動一個Activity的流程分析圖41啟動的源代碼如下:public class liuliangjiankong extends Activity { /** Called when the activity is first created. */ public void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setContentView()。 Intent intent = new Intent()。 (, )。 (intent)。 new Handler().postDelayed(new Runnable() { public void run() { // TODO Autogenerated method stub Intent intent = new Intent(, )。 (intent)。 ()。 UI界面設計圖42Android總共分為五種布局,分別是FrameLayout(框架布局)、LinearLayout(線性布局)、RelativeLayout(相對布局)、AbsoluteLayout(絕對布局)、TableLayout(表格布局),我們經(jīng)常用到的有三種:FrameLayout、LinearLayout、RelativeLayout。本次設計中主要用到的是線性布局,即LinearLayout。在線性布局中,有四個及其重要的參數(shù),直接決定元素的布局和位置,分別是:Android:orientation(線性布局以列和行來顯示內(nèi)部子元素);Android:layout_gravity(是本元素相對于父元素的重力方向);Android:gravity(是本元素所有子元素的重力方向);Android:layout_weight(線性布局內(nèi)子元素對為占用的空間分配權(quán)重值);所謂線性布局就是指在該標簽下的所有子元素會根據(jù) android:orientation的值來決定是按行還是按列逐個顯示: Vertical 列 Horizontal 行xmlns:android=xmlns:android屬性指定命名空間,頂級元素必須指定命名空間。而在該命名空間中的控件的屬性如layout_width,使用時必須加上 “android:”做前綴;layout_width指寬度,layout_height 指高度。其可選值有“fill_parent”、“wrap_content”、具體數(shù)字(單位為px)。其中“fill_parent”代表填滿其父元素。對于頂級元素來說,其父元素就是整個手機屏幕。“wrap_content”代表該元素的大小僅包裹其自身內(nèi)容,而數(shù)字則代表其占相應的px;下面為本次設計的初始歡迎界面,顯示一幅圖片bg02作為背景的程序代碼。android:layout_width=fill_parentandroid:layout_height=fill_parentandroid:orientation=horizontal android:gravity=centerandroid:layoutAnimation=@anim/melshow TextView android:layout_width=fill_parent android:layout_height=fill_parent android:background=@drawable/bg02 /上述代碼即可實現(xiàn)調(diào)用drawable包中的bg02圖片,并將其填滿整個屏幕,作為應用程序的歡迎界面。此外,還可以加入android:text來顯示文字。 Android應用啟動類Android系統(tǒng)為應用管理功能提供了大量的API。根據(jù)功能的不同,這些API分為兩大類:PackageManager相關(guān)和ActivitManager相關(guān)。PackageManager相關(guān)類API是對所有基于加載信息的數(shù)據(jù)結(jié)構(gòu)的封裝,包括以下功能:1)安裝,卸載應用 2)查詢permission相關(guān)信息 3)查詢Application相關(guān)信息(application,activity,receiver,service,provider及相應屬性等) 4)查詢已安裝應用 5)增加,刪除permission 6)清除用戶數(shù)據(jù)、緩存,代碼段等ActivityManager類API是對運行時管理功能和運行時數(shù)據(jù)結(jié)構(gòu)的封裝,包括以下功能:1)激活/去激活activity 2)注冊/取消注冊動態(tài)接受intent 3)發(fā)送/取消發(fā)送intent 4)activity生命周期管理(暫停,恢復,停止,銷毀等) 5)activity task管理(前臺-后臺,后臺-前臺,最近task查詢,運行時task查詢) 6)激活/去激活service 7)激活/去激活provider等啟動應用程序涉及到的相關(guān)類主要是ActivityManagerService,下圖是涉及到的相關(guān)類的關(guān)系:圖43我們是在Activity中使用getPackageManager方法獲取一個ApplicationPackageManager的對象。 流量統(tǒng)計中的TrafficStats類,其實本身TrafficStats類也是讀取Linux提供的文件對象系統(tǒng)類型的文本進行解析。,提供了多種靜態(tài)方法,可以直接調(diào)用獲取,返回類型均為 long型,如果返回等于1代表 UNSUPPORTED 當前設備不支持統(tǒng)計。Java代碼如下: static long getMobileRxBytes() //獲取通過Mobile連接收到的字節(jié)總數(shù),不包含WiFi static long getMobileRxPackets() //獲取Mobile連接收到的數(shù)據(jù)包總數(shù) static long getMobileTxBytes() //Mobile發(fā)送的總字節(jié)數(shù) static long getMobileTxPackets() //Mobile發(fā)送的總數(shù)據(jù)包數(shù) static long getTotalRxBytes()//獲取總的接受字節(jié)數(shù),包含Mobile和WiFi等 static long getTotalRxPackets()//總的接受數(shù)據(jù)包數(shù),包含Mobile和WiFi等 static long getTotalTxBytes() //總的發(fā)送字節(jié)數(shù),包含Mobile和WiFi等 static long getTotalTxPackets()//發(fā)送總數(shù)據(jù)包數(shù),包含Mobile和WiFi等 static long getUidRxBytes(int uid) //獲取某個網(wǎng)絡UID的接受字節(jié)數(shù) static long getUidTxBytes(int uid) //獲取某個網(wǎng)絡UID的發(fā)送字節(jié)數(shù) (),())。())。())。(Uid))。(Uid))。下圖為本次應用的流量監(jiān)控界面:圖44相關(guān)代碼如下:mobileRx = ()。mobileTx = ()。 // 獲取全部網(wǎng)絡接收、發(fā)送數(shù)據(jù)總量totalRx = ()。totalTx = ()。 // 計算WiFi網(wǎng)絡接收、發(fā)送數(shù)據(jù)總量wifiRx = totalRx mobileRx。wifiTx = totalTx mobileTx。if (mobileRx == 1 amp。amp。 mobileTx == 1) { (mobileRx, No)。 (mobileTx, No
點擊復制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1