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

正文內(nèi)容

基于android的學(xué)習(xí)資源推送系統(tǒng)設(shè)計(編輯修改稿)

2025-02-12 13:01 本頁面
 

【文章內(nèi)容簡介】 ntentView()。 // 彈出動畫效果顯示 學(xué)習(xí)資源列表模塊點擊學(xué)習(xí)資源,進(jìn)入學(xué)習(xí)資源列表模塊,該模塊的主要功能是實現(xiàn)學(xué)習(xí)資源列表顯示,每次進(jìn)入客戶端都會向服務(wù)器發(fā)出請求,服務(wù)器從數(shù)據(jù)庫獲取實時信息更新學(xué)習(xí)資源列表,其效果圖如圖33所示:圖33 學(xué)習(xí)資源列表其核心實現(xiàn)代碼如下:@Override protected void onCreate(Bundle savedInstanceState) { (savedInstanceState)。 type = (String) getIntent().getExtras().get(type)。 setContentView()。 // 加載數(shù)據(jù)以上代碼是用來加載服務(wù)端發(fā)表的各項學(xué)習(xí)資源數(shù)據(jù),這里加載的數(shù)據(jù)只顯示一個簡表,具體的資源信息需點擊條目后進(jìn)入查看詳細(xì)描述。 protected void onListItemClick(ListView l, View v, int position, long id) { (l, v, position, id)。 Intent intent = new Intent( , )。 (food, (position))。 startActivity(intent)。 }//點擊每一行時跳轉(zhuǎn)到NewsInfoActivity實現(xiàn)點擊每一行時跳轉(zhuǎn)到NewsInfoActivity即學(xué)習(xí)資源細(xì)覽界面,在細(xì)覽界面中有對該條資源的詳細(xì)描述,若發(fā)表的是txt文本文檔則直接顯示內(nèi)容全文,可用來發(fā)送各類通知等。 學(xué)習(xí)資源細(xì)覽模塊點擊學(xué)習(xí)資源列表其中的一條,進(jìn)入學(xué)習(xí)資源細(xì)覽模塊,顯示他的詳細(xì)信息,如圖34所示:圖34 學(xué)習(xí)資源細(xì)覽核心實現(xiàn)代碼如下:TextView tv_description = (TextView) ()。( () ) 。Button downloadBtn = (Button) ( )。( new () {public void onClick(View v) {String url = + upload/ + () 。HttpDownloader downloader = new HttpDownloader()。 以上是學(xué)習(xí)資源細(xì)覽界面實現(xiàn)具體方法??蛻舳讼螺d服務(wù)端數(shù)據(jù)時先向服務(wù)器發(fā)出請求服務(wù)器返回消息判斷各種情況各種情況處理如下:int result = ( url, book/ , () )。 if( result == 1){(,文件已存在, ).show() 。}else if( result == 0 ){ ( , 文件下載成功,請在/sdcard/book/下查看, ).show() 。}else{(,文件出錯, ).show() 。 } } }) 。//文件下載的判斷與提示彈出 推送消息通知在jsp服務(wù)端添加新的學(xué)習(xí)資源,Android客戶端會自動檢測到信息,并顯示在界面通知中,自動檢測并實現(xiàn)推送設(shè)置心跳時間兩分鐘,其效果圖如圖35和36所示:圖35 添加學(xué)習(xí)資源視圖圖36 客戶端推送消息提醒視圖其中核心代碼實現(xiàn)如下: if( () 0 ) { name= (NotificationManager)()。 News object = (0) 。 /* create Intent, */ Intent intent2 = new Intent(context, )。 (food2, object )。 Notification notification = new Notification( , 有新的學(xué)習(xí)資源 ,())。//鬧鈴提示和學(xué)習(xí)資源推送提醒后面的參數(shù)分別是顯示在頂部通知欄的小圖標(biāo),小圖標(biāo)旁的文字(短暫顯示,自動消失)系統(tǒng)當(dāng)前時間 ,有新的學(xué)習(xí)資源時可以出發(fā)鬧鐘或者震動來提示使用者。 =。 = 。這是設(shè)置通知是否同時播放聲音或振動。,PendingIntentpt=(context,0,intent2,)。點擊通知后的動作,這里是轉(zhuǎn)回main 這個Acticity(context,(), ().substring(0, 20) , pt)。(notification_id, notification)。 }//點擊通知后回到該學(xué)習(xí)資源細(xì)覽其主要流程圖如下:結(jié)束服務(wù)端提示客戶端客戶端刷新服務(wù)端推送過?圖37 推送消息流程圖上圖主要反映了客戶端從服務(wù)器獲取消息的流程,一種是在客戶端執(zhí)行刷新操作,直接發(fā)送向服務(wù)器請求,服務(wù)器處理并刷新學(xué)習(xí)資源列表。第二種是到了心跳時間客戶端仍未執(zhí)行刷新操作時,服務(wù)器發(fā)送提示消息,并推送最新資源。 推送消息客戶端模塊點擊通知中推送到的學(xué)習(xí)資源信息其中一條通知,自動跳轉(zhuǎn)到顯示他的詳細(xì)信息,點擊下載按鈕,下載到本地的sdcard上,可以用手機的軟件,打開并觀看。如圖38所示:圖38 學(xué)習(xí)資源下載視圖根據(jù)URL下載文件,前提是這個文件當(dāng)中的內(nèi)容是文本,函數(shù)的返回值就是文本當(dāng)中的內(nèi)容。從功能要求不難發(fā)現(xiàn)要從以下四步實現(xiàn)這一功能,創(chuàng)建一個HttpURLConnection對象其中主要代碼實現(xiàn)如下:public String download(String urlStr){StringBuffer sb = new StringBuffer()。String line = null。BufferedReader buffer = null。try {url = new URL(urlStr)。HttpURLConnection urlConn = (HttpURLConnection)()。buffer = new BufferedReader(new InputStreamReader(()))。while( (line = ()) != null){(line)。} } catch (Exception e) {()。}finally{try {()。} catch (IOException e) {()。 } } return ()。 }以下是對下載過程運行結(jié)果的處理當(dāng)運行結(jié)果為 1表示文件下載出錯,當(dāng)運行結(jié)果為 0表示文件下載成功,當(dāng)運行結(jié)果為1表示文件已經(jīng)存在。出錯和存在這些情況出現(xiàn)會彈出提示并不執(zhí)行下載過程。下載好的文件會存儲到手機客戶端的指定位置,并可以隨時查看,當(dāng)下載的文件是非txt文本文檔時,必須客戶端中具備專門打開這種文件的軟件才能實現(xiàn)查看。try {FileUtils fileUtils = new FileUtils()。if((path + fileName)){return 1。} else {inputStream = getInputStreamFromURL(urlStr)。File resultFile = (path, fileName, inputStream)。if(resultFile == null){return 1。}}} catch (Exception e) {()。return 1。} finally{try {if( inputStream != null)()。} catch (IOException e) {()。 } } return 0。 } } //文件下載判斷以下是其主要流程圖:下載請求提示已下載并結(jié)束服務(wù)端判斷執(zhí)行下載并提示圖39 客戶端資源下載流程圖以上圖表反映了在客戶端執(zhí)行下載命令時,系統(tǒng)服務(wù)端做出的兩種反映。對于下載出錯這種情況有可能涉及到服務(wù)端的運行錯誤或其他原因,一般來說不會出現(xiàn)該情況,在此不多敘述。 服務(wù)端各功能模塊實現(xiàn)由于時間有限,在客戶端開發(fā)過程中我只能盡量的簡易,滿足基本的臺管理功能,本推送系統(tǒng)著重點是服務(wù)端的各項功能與推送的實現(xiàn)方法,相信在不久的將來能有人把學(xué)校的網(wǎng)絡(luò)課程系列變成程序的服務(wù)端,這樣一來就能更方便的為大家服務(wù)。服務(wù)端的模塊開發(fā)主旨是功能實用性,該模塊主要包括學(xué)習(xí)資源管理和服務(wù)端密碼管理模塊。該模塊實現(xiàn)的主要功能是發(fā)布和管理學(xué)習(xí)資源,以及為推送提供一個客戶端。 學(xué)習(xí)資源管理模塊學(xué)習(xí)資源管理模塊主要分為學(xué)習(xí)資源新增與刪除模塊。學(xué)習(xí)資源增刪操作主要實現(xiàn)如下:登陸以后顯示有兩個板塊分別是學(xué)習(xí)資源新增與學(xué)習(xí)資源管理。學(xué)習(xí)資源管理點擊以后會有刪除學(xué)習(xí)資源選項主要是通過sql語句獲取數(shù)據(jù)庫中的學(xué)習(xí)資源信息然后執(zhí)行刪除命令。學(xué)習(xí)資源新增點擊以后出現(xiàn)新增頁面,該頁面包括類別,標(biāo)題,文件,和描述四個版塊,通過標(biāo)題和描述就能實現(xiàn)txt文本文檔的增加,而其他文件可以通過文件版塊來上傳,在客戶端能夠看到添加的文件描述。輸入好之后點擊提交即可。不輸入或輸入有誤會顯示錯誤信息。提交成功之后會通過Tomcat服務(wù)器自動推送到客戶端并通過sql語句更新數(shù)據(jù)庫??梢栽诳蛻舳藢崿F(xiàn)下載等操作。推送到客戶端會有延遲現(xiàn)象,導(dǎo)致延遲的主要原因是我們采用的推送方式是輪詢式,設(shè)置的心跳時間為兩分鐘。若不行等待可以點擊menue菜單直接刷新可以看到,其原理同上,只是省去了兩分鐘的等待心跳時間。學(xué)習(xí)資源模塊實現(xiàn)的主要流程圖如圖310圖310 學(xué)習(xí)資源管理模塊流程圖 數(shù)據(jù)提供數(shù)據(jù)提供者,是在應(yīng)用程序間調(diào)用數(shù)據(jù)的一種接口機制。應(yīng)用程序在不同的進(jìn)程中運行,因此,數(shù)據(jù)和文件在不同的應(yīng)用程序之間是不能夠直接進(jìn)行訪問的。而AppContext為程序員提供了較高級的數(shù)據(jù)共享方法,應(yīng)用程序可以指定需要共享的數(shù)據(jù),而其他應(yīng)用程序則可以在不知數(shù)據(jù)來源、路徑的情況下,對共享數(shù)據(jù)進(jìn)行查詢、添加、刪除和更新等操作。系統(tǒng)的服務(wù)端正是通過這種方式來實現(xiàn)對數(shù)據(jù)庫中的學(xué)習(xí)資源以及相關(guān)信息進(jìn)行相關(guān)的操作。學(xué)校的網(wǎng)絡(luò)課程網(wǎng)站也正是由于api無法開放,無法獲得基本的學(xué)生教師信息所以在思考良久之后選擇了自己做一個客戶端,并作出共享接口,這樣一來就能順利獲得服務(wù)端的各項數(shù)據(jù)從而通過客戶端能向服務(wù)端發(fā)送請求來獲得mysql數(shù)據(jù)庫的各類信息。本系統(tǒng)的數(shù)據(jù)提供主要來源于基于mysql的數(shù)據(jù)庫,系統(tǒng)客戶端通過向服務(wù)端發(fā)送請求,服務(wù)端接受來箱子客戶端的請求,并向相應(yīng)數(shù)據(jù)庫發(fā)送sql語句,調(diào)出相應(yīng)的數(shù)據(jù)庫,并將相應(yīng)數(shù)據(jù)庫消息反饋給客戶端,來自客戶端的請求可以是手動的刷新觸發(fā)或者自動觸發(fā),自動觸發(fā)有一定的時間間隔。主要通過java來編寫應(yīng)用程序并通過jdbc來實現(xiàn)向各種關(guān)系數(shù)據(jù)庫發(fā)送SQL語句,只需用JDBC API 寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL語句。而且,使用Java編程語言編寫的應(yīng)用程序,就無須去憂慮要為不同的平臺編寫不同的應(yīng)用程序。將Java和JDBC結(jié)合起來將使程序員只須寫一遍程序就可讓它在任何平臺上運行。這就很好的解決了在不同平臺上軟件的兼容性問題。在系統(tǒng)中程序端與數(shù)據(jù)庫并無直接聯(lián)系,而只是是發(fā)送請求,真正從數(shù)據(jù)庫調(diào)出信息,增加和刪除信息都是服務(wù)端通過接口機制來訪問操作數(shù)據(jù)庫。 后臺服務(wù)后臺服務(wù)是b_tuisong工程的核心模塊,在用戶啟動后響應(yīng)界面的網(wǎng)絡(luò)操作,在后臺運行,直到用戶停止操作。后臺服務(wù)主要有二個功能,一是從JSP Servlet服務(wù)端獲取數(shù)據(jù),二是將從網(wǎng)絡(luò)獲取的數(shù)據(jù)封裝成Activity需要的數(shù)據(jù)格式。 推送機制以及分析前面有談到關(guān)于推送機制的問題,本系統(tǒng)采用的是輪詢式的推送方式,Android客戶端上的文章信息數(shù)據(jù)是通過后臺JSP Servlet服務(wù)端應(yīng)用程序獲取的,這個后臺服務(wù)可以根據(jù)客戶端發(fā)出的請求,返回文章信息。通過安卓客戶端間歇性的向服務(wù)器發(fā)送請求,來獲得服務(wù)器的推送消息。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1