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

正文內(nèi)容

基于android的學(xué)習(xí)資源推送系統(tǒng)設(shè)計(jì)-文庫吧

2025-01-01 13:01 本頁面


【正文】 軟件工程課程網(wǎng)站全面分析調(diào)查的基礎(chǔ)上,制定出軟件工程課程網(wǎng)站的總體規(guī)劃。系統(tǒng)設(shè)計(jì)包括系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì)、系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)、系統(tǒng)開發(fā)工具、開發(fā)技術(shù)和開發(fā)模式等。從功能需求上分析可以看出,整個(gè)應(yīng)用程序應(yīng)劃分為3個(gè)部分,分別是Android客戶端、JSP服務(wù)端和MySql數(shù)據(jù)庫,各部分之間的關(guān)系如圖25所示。圖25 系統(tǒng)設(shè)計(jì)圖從模塊結(jié)構(gòu)圖中不難看出,后臺(tái)服務(wù)是整個(gè)應(yīng)用程序的核心,主要是JSP服務(wù)端,負(fù)責(zé)根據(jù)請(qǐng)求做出響應(yīng),并從MySql數(shù)據(jù)庫中獲取對(duì)應(yīng)的信息。JSP服務(wù)端運(yùn)行在Tomat上面,跟Android客戶端的交互基于HTTP,返回?cái)?shù)據(jù)格式為JSON格式,在Android客戶端程序運(yùn)行前先啟動(dòng),啟動(dòng)后的JSP服務(wù)將一直保持運(yùn)行狀態(tài)。JSP服務(wù)端封裝了所有對(duì)數(shù)據(jù)庫訪問操作的方法,Android客戶端會(huì)通過它來實(shí)現(xiàn)數(shù)據(jù)庫的操作。 在開發(fā)之初,總體的文件結(jié)構(gòu)和運(yùn)行功能初步構(gòu)思如圖26所示:學(xué)習(xí)資源推送登陸界面資源列表資源下載推送通知登錄系統(tǒng)資源增加用戶管理資源管理服務(wù)端數(shù)據(jù)庫客戶端圖26 總體功能結(jié)構(gòu) 具體方案選擇所謂的消息推送就是從服務(wù)器端向移動(dòng)終端發(fā)送連接,傳輸一定的信息。比如一些新聞客戶端,每隔一段時(shí)間收到一條或者多條通知,這就是從服務(wù)器端傳來的推送消息;還比如常用的一些IM軟件如微信、GTalk等,都具有服務(wù)器推送功能。推送方法如下:1)通過SMS進(jìn)行服務(wù)器端和客戶端的交流通信。在Android平臺(tái)上,你可以通過攔截SMS消息并且解析消息內(nèi)容來了解服務(wù)器的意圖,可以實(shí)現(xiàn)完全的實(shí)時(shí)操作。但是問題是這個(gè)方案的成本相對(duì)比較高,且依賴于運(yùn)營(yíng)商。2)循環(huán)主動(dòng)定時(shí)獲取這種方法需要客戶端來做一個(gè)定時(shí)或者周期性的訪問服務(wù)器端接口,以獲得最新的消息。輪詢的頻率太慢可能導(dǎo)致某些消息的延遲,太快則會(huì)大量消耗網(wǎng)絡(luò)帶寬和電池。3)持久連接這個(gè)方案可以解決由輪詢帶來的性能問題,但是還是會(huì)消耗手機(jī)的電池。我們需要開一個(gè)服務(wù)來保持和服務(wù)器端的持久連接(蘋果就和谷歌的C2DM是這種機(jī)制)。但是對(duì)于Android系統(tǒng),當(dāng)系統(tǒng)可用資源較低,系統(tǒng)會(huì)強(qiáng)制關(guān)閉我們的服務(wù)或者是應(yīng)用,這種情況下連接會(huì)強(qiáng)制中斷。(Apple的推送服務(wù)之所以工作的很好,是因?yàn)槊恳慌_(tái)手機(jī)僅僅保持一個(gè)與服務(wù)器之間的連接,事實(shí)上C2DM也是這么工作的。即所有的推送服務(wù)都是經(jīng)由一個(gè)代理服務(wù)器完成的,這種情況下只需要和一臺(tái)服務(wù)器保持持久連接即可。C2DM=Cloud to Device Messaging)。從上面的描述中我們選擇第二種可以基本滿足我們軟件的需求:本軟件是一個(gè)Android 客戶端+JSP Servlet服務(wù)端應(yīng)用程序,啟動(dòng)Android上的應(yīng)用程序后可以查看文章的信息,包括標(biāo)題、圖片、文章等。Android客戶端上的文章信息數(shù)據(jù)是通過后臺(tái)JSP Servlet服務(wù)端應(yīng)用程序獲取的,這個(gè)后臺(tái)服務(wù)可以根據(jù)客戶端發(fā)出的請(qǐng)求,返回文章信息。文章信息,包括圖片和文字,這些信息都保存在數(shù)據(jù)庫中。第3章 系統(tǒng)實(shí)現(xiàn) 系統(tǒng)軟硬件環(huán)境配置Android應(yīng)用程序是用java語言寫的,通過aapt工具把應(yīng)用程序所需要的任何數(shù)據(jù)資源文件打包成apk文件,這個(gè)文件是一個(gè)將應(yīng)用安裝到手機(jī)上的一個(gè)載體。有很多方式,每個(gè)android應(yīng)用程序存在于不同的世界;第一,默認(rèn)的,每個(gè)應(yīng)用在他自己的Linux進(jìn)程中運(yùn)行,當(dāng)應(yīng)用中的任何代碼需要執(zhí)行時(shí)android就啟動(dòng)相應(yīng)的進(jìn)程,當(dāng)不需要執(zhí)行時(shí)并且系統(tǒng)資源被其他應(yīng)用請(qǐng)求時(shí)android就關(guān)閉相應(yīng)的進(jìn)程。第二,每個(gè)進(jìn)程都有他自己的虛擬機(jī)對(duì)象(VM),所以應(yīng)用程序代碼與其他的應(yīng)用運(yùn)行是彼此隔離的。第三,默認(rèn)的,每個(gè)應(yīng)用被分配一個(gè)唯一的Linux user ID,都被設(shè)置權(quán)限以便應(yīng)用程序的文件只對(duì)用戶可見或者只對(duì)應(yīng)用自己可見。安排兩個(gè)應(yīng)用程序共享一個(gè)user ID是可能的,這種情況下他們彼此之間是可以看見對(duì)方的文件的,為了保護(hù)系統(tǒng)資源,擁有相同ID的應(yīng)用也能被安排運(yùn)行在一個(gè)相同的Linux進(jìn)程中,共享。 Android開發(fā)環(huán)境介紹Android的上層應(yīng)用程序是用Java語言開發(fā),同時(shí)還需要基于Dalvik虛擬機(jī),所以,Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,因?yàn)槭鞘褂肑ava語言進(jìn)行開發(fā),還應(yīng)該有由SUN公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android的應(yīng)用程序開發(fā)和Java開發(fā)有較大區(qū)別的,所以還需要有Google提供的Android SDK。同時(shí),還需要在Eclipse安裝ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更,是Eclipse下開發(fā)工具的升級(jí)下載的工具。簡(jiǎn)言之,需要以下軟件,才能搭建Android開發(fā)環(huán)境,從而進(jìn)行Android應(yīng)用程序的開發(fā)。(1)Java SDK (2) Eclipse (3) Android SDK (4) ADT Android開發(fā)平臺(tái)搭建 第一,首先到,這里推薦下載Java EE 集成版本,可以為平臺(tái)的搭建省下不少工作。接著再去,下載,Android 。第一步下載工序就結(jié)束了。第二,選擇Eclipse菜單中的Help Install New Software 選項(xiàng)卡上的Available Software,點(diǎn)擊右側(cè)的“Add”輸入,然后在“Work with”下拉菜單中選擇剛才輸入的網(wǎng)址。過一會(huì)就會(huì)出現(xiàn)一個(gè)Developer Tools選項(xiàng),勾上以后點(diǎn)擊Next以后Eclipse會(huì)自動(dòng)網(wǎng)上查找Android 開發(fā)工具插件,然后找到Android DDMS和Android Development Tools,選中這兩個(gè)點(diǎn)擊Finish,Eclipse就會(huì)自動(dòng)下載并安裝Android插件了,最后會(huì)提示重啟Eclipse。第三,重啟后選擇Eclipse菜單中的Windows Preferences 在左側(cè)的Android項(xiàng)目中SDK Location中填入Android SDK解壓后的目錄,然后點(diǎn)擊Apply。第四,在WindowsXP的系統(tǒng)變量中的path變量中添加一個(gè)值,該值指向解壓后的Android SDK目錄下的tools文件夾。 Android系統(tǒng)架構(gòu)研究在Android SDK中,定義了讓開發(fā)者使用與核心應(yīng)用程序相同API的權(quán)限應(yīng)用程序框架是為了要簡(jiǎn)化組件的重新利用而設(shè)計(jì)的,應(yīng)用程序可以發(fā)布功能為其它應(yīng)用程序所使用。但是,這要受限于應(yīng)用程序架構(gòu)的安全機(jī)制,使用者以用同樣的機(jī)制來新增、置換組件。目前所有的應(yīng)用程序是由服務(wù)及系統(tǒng)來組成,包含有:(l)一套強(qiáng)大和可擴(kuò)展的視圖系統(tǒng):用來建構(gòu)一個(gè)應(yīng)用程序的基本組件,包了在開發(fā)系統(tǒng)畫面時(shí),常用的列表、網(wǎng)格、文本框、按鈕等控制項(xiàng),甚至是內(nèi)嵌的Web瀏覽器。 (2)內(nèi)容提供者:使應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)庫),或者共享它們自己的數(shù)據(jù)。(3)資源管理器:提供各種非程序代碼的資源讓應(yīng)用程序去使用。例如:本字符串、圖形文件或排版相關(guān)的布局文件。(4)通知管理器:提供應(yīng)用程序在狀態(tài)欄中顯示應(yīng)用程序自定義的提示信息。(5)活動(dòng)管理器:管理所有應(yīng)用程序的生命周期及提供常用的導(dǎo)航回退功能。例如:啟動(dòng)應(yīng)用程序要用到的資源準(zhǔn)備及關(guān)閉應(yīng)用程序時(shí)釋放內(nèi)存及相關(guān)資源等工作。(6)視窗管理器:用來管理所有啟動(dòng)程序的視窗。(7)位置管理器:用來管理地圖服務(wù)的相關(guān)功能。(8)電話管理器:用來管理用戶撥打與接聽電話的相關(guān)功能。(9)包管理器:管理所有安裝在Android系統(tǒng)內(nèi)的包。 類庫在Android中包含一些C/C++的類庫,這些類庫能被Android系統(tǒng)中不同的組件來使用。開發(fā)者可以通過應(yīng)用程序框架使用這些功能。部分核心類庫列表如下:(1)surface Manager:主要的功能是讓開發(fā)者可以去存取/顯示系統(tǒng)及管理的功能,在[顯示]與[存取操作]間的對(duì)應(yīng)、互動(dòng)以及實(shí)現(xiàn)無接縫的2D/3D多應(yīng)用程序之間的整合。例如:在2D、2D顯示上的合成、疊合動(dòng)作。(2)3Dlibraries:。該庫使用硬件加速(當(dāng)硬件可用時(shí)),可以將硬件的3D功能做最佳化的處理顯示。(3)SGL:主要是處理有關(guān)顯示2D方面的繪圖引擎。(4)Media Frame work:主要是以packetVideo公司的OpenCORE為基礎(chǔ)所發(fā)展的多媒體類庫,該庫支持回放和錄制大量流行的音視頻格式和靜態(tài)圖片。例如:MPEGMPAAC、AMR、JPG、PNG、GIF等格式。(5)Free Type:主要是用來顯示點(diǎn)陣圖和處理向量字形的。 Tomcat服務(wù)器Tomcat是一個(gè)免費(fèi)的開源的Servlet容器。與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEBINF目錄,這個(gè)目錄很重要。,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEBINF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。基于Tomcat的開發(fā)其實(shí)主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡(jiǎn)單,可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。 客戶端各功能模塊實(shí)現(xiàn)客戶端的主要功能可以參照以下流程圖(圖31):登陸客戶端主界面動(dòng)畫學(xué)習(xí)資源列表結(jié)束服務(wù)器新增刷新發(fā)出請(qǐng)求下載成功學(xué)習(xí)資源下載成功?下載過?已存在?圖31 客戶端主體流程圖從以上流程圖可以看出客戶端的功能主要在學(xué)習(xí)資源列表,和詳細(xì)信息查看以及下載資源上面。登陸成功之后會(huì)顯示“學(xué)習(xí)資源”的主界面動(dòng)畫效果,否則會(huì)提示錯(cuò)誤并返回重新登陸。然后點(diǎn)擊出現(xiàn)學(xué)習(xí)資源列表頁,在此之前客戶端會(huì)向服務(wù)器發(fā)送請(qǐng)求,服務(wù)端從數(shù)據(jù)庫中調(diào)出學(xué)習(xí)資源信息,并將列表信息返回給客戶端。此時(shí)若有新的學(xué)習(xí)資源更新服務(wù)端會(huì)自動(dòng)檢測(cè)在學(xué)習(xí)資源列表是否已存在,該資源若在兩分鐘之內(nèi)客戶端刷新學(xué)習(xí)資源列表則直接返回新資源信息,若兩分鐘之后仍未刷新則會(huì)推送出有新學(xué)習(xí)資源的推送消息到客戶端。學(xué)習(xí)資源下載則有三種情況若未曾下載過該文件則會(huì)提示已下載并返回學(xué)習(xí)資源細(xì)覽界面,若未下載過,一般情況下會(huì)下載,并提示下載成功,并不排除未下載而提示錯(cuò)誤,這種情況極少出現(xiàn),在此不予贅述??蛻舳烁鱾€(gè)模塊的效果及核心代碼如下: 啟動(dòng)模塊在工程名b_tuisong上點(diǎn)右鍵,然后選擇“Run As”,然后選擇“Android Application”。 Android虛擬機(jī)啟動(dòng)后app應(yīng)用。登陸界面如圖32所示:圖32 啟動(dòng)模塊單一的圖片很容易使用戶產(chǎn)生視覺疲勞,所以使用動(dòng)畫效果可以很好的彌補(bǔ)這一缺點(diǎn),再安卓中,提供了兩種方法來實(shí)現(xiàn)動(dòng)畫效果。一種是Tween,該方法通過實(shí)現(xiàn)控件的放大縮小以及透明度的變化來產(chǎn)生動(dòng)畫效果。另一種為Frame動(dòng)畫,該方法是通過播放連續(xù)的圖片來產(chǎn)生動(dòng)畫效果。我采用的是第二種方法。登陸界面的學(xué)習(xí)資源彈出動(dòng)畫實(shí)現(xiàn)代碼如下:protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 setCo
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1