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

正文內(nèi)容

科陸電子科技公司員工考勤綜合信息平臺(tái)的設(shè)計(jì)和實(shí)現(xiàn)-資料下載頁

2025-07-29 11:22本頁面
  

【正文】 內(nèi)容●數(shù)據(jù)格式必選非空說明root result/ result desc/desc/root●●●●(22)聊天消息列表(messagelist)類型:HTTP GET參數(shù)名稱參數(shù)描述必選說明數(shù)據(jù)格式必選非空說明messagelist user id/id name/name photo/photo lastmsg/lastmsg timetag/timetag count/count/user ……/messagelist●○●聊天朋友用戶列表○●○●○●○●最后一條消息記錄○●整型時(shí)間 (得到毫秒/1000)○●未讀取的消息數(shù)量, ○●●(23)聊天消息(receivemessage)類型:HTTP GET參數(shù)名稱參數(shù)描述必選說明userId用戶ID●數(shù)據(jù)格式必選非空說明messages message content/content timetag/timetag/message ……/messages●○●消息列表○●○●整型時(shí)間 (得到毫秒/1000)○●○●●系統(tǒng)使用以下幾種關(guān)鍵技術(shù):界面布局、請(qǐng)求和響應(yīng)、xml文檔解析、圖片處理、GPS定位和android系統(tǒng)的service、廣播的使用機(jī)制。(1)Http請(qǐng)求和響應(yīng)是在手機(jī)端須要向服務(wù)器發(fā)送數(shù)據(jù)和接收服務(wù)器的數(shù)據(jù)時(shí)候使用的功能,發(fā)送請(qǐng)求的時(shí)候有一個(gè)請(qǐng)求標(biāo)識(shí)并且封裝了請(qǐng)求的數(shù)據(jù),數(shù)據(jù)以鍵值對(duì)的方式封裝,接收的數(shù)據(jù)以數(shù)據(jù)流的方式傳送到手機(jī)端,代碼如下:public class HttpRequest {/***Post請(qǐng)求*/public void doPost(String url , ListNameValuePair nameValuePairs){//新建HttpClient對(duì)象HttpClient client = new DefaultHttpClient()。//創(chuàng)建POST連接HttpPost post = new HttpPost(url)。try {//使用PSOT方式,必須用NameValuePair數(shù)組傳遞參數(shù)//ListNameValuePair nameValuePairs = new ArrayListNameValuePair()。//以下封裝了id=123456和password=12345(new BasicNameValuePair(id, 12345))。(newBasicNameValuePair(password,12345))。(new UrlEncodedFormEntity(nameValuePairs))。HttpResponse response = (post)。} catch (ClientProtocolException e) {//連接異常處理()。//輸出到堆棧} catch (IOException e) {//流異常處理()。}}/***Get請(qǐng)求*/public void doGet(String url){HttpParams Params = new BasicHttpParams()。(Params,30000)。(Params, 30000)。HttpClient Client = new DefaultHttpClient(Params)。// GETHttpGet Get = new HttpGet(url)。try {HttpResponse response = (Get)。if (().getStatusCode() != ){(GET, Bad Request!)。//打印調(diào)試信息}} catch (IOException e) {()。}}}(2)xml文檔解析,因?yàn)閿?shù)據(jù)的交互比較頻繁,傳輸?shù)男畔⒁脖容^多,以xml文檔的形式進(jìn)行規(guī)范,可以方便數(shù)據(jù)的封裝和解析。Xml文檔解析有三種方式:DOM,SAX,PULL。①DOM方式解析xml是先把xml文檔都讀到內(nèi)存中,然后再用DOM API來訪問樹形結(jié)構(gòu),并獲取數(shù)據(jù)的,但是這樣一來,如果xml文件很大,消耗的內(nèi)存就很多,手機(jī)CPU處理能力當(dāng)然不能與PC機(jī)器比,因此在處理效率方面就相對(duì)差了。使用方法如下:,那么就需要讀取這個(gè)xml文件,返回輸入流。讀取方法為:inputStream=().getAssets().open(fileName)。參數(shù)是xml文件路徑,當(dāng)然默認(rèn)的是assets目錄為根目錄。然后可以用DocumentBuilder對(duì)象的parse方法解析輸入流,并返回document對(duì)象,然后再遍歷doument對(duì)象的節(jié)點(diǎn)屬性。②SAX即是:Simple API for XMLSAX是基于事件驅(qū)動(dòng)的。當(dāng)然android的事件機(jī)制是基于回調(diào)函數(shù)的,在用SAX解析xml文檔時(shí)候,在讀取到文檔開始和結(jié)束標(biāo)簽時(shí)候就會(huì)回調(diào)一個(gè)事件,在讀取到其他節(jié)點(diǎn)與內(nèi)容時(shí)候也會(huì)回調(diào)一個(gè)事件。既然涉及到事件,就有事件源,事件處理器。在SAX接口中,它通過parser()方法 來解析XML文檔,并產(chǎn)生事件。、DTDHander、ErrorHandler,以 及EntityResolver這4個(gè)接口。XMLReader通過相應(yīng)事件處理器注冊(cè)方法setXXXX()來完成的與ContentHander、DTDHander、ErrorHandler,以及EntityResolver這4個(gè)接口的連接。③PULL方式讀xml回調(diào)方法返回的是數(shù)字。 讀取到xml的聲明返回 START_DOCUMENT。 讀取到xml的結(jié)束返回 END_DOCUMENT 。讀取到xml的開始標(biāo)簽返回 START_TAG讀取到xml的結(jié)束標(biāo)簽返回 END_TAG 讀取到xml的文本返回 TEXT 采用PULL方式與SAX大同小異,重點(diǎn)在于我們需要知道導(dǎo)航到什么標(biāo)簽時(shí)候做什么就行了,依據(jù)上一點(diǎn)SAX處理方式的思路,PULL方式可以一樣處理,基本處理方式是:當(dāng)PULL解析器導(dǎo)航到文檔開始標(biāo)簽時(shí)就開始實(shí)例化集合用來存貯數(shù)據(jù)對(duì)象。導(dǎo)航到元素開始標(biāo)簽時(shí)回判斷元素標(biāo)簽類型。(3)圖片處理,圖片數(shù)據(jù)不同于其他簡單的基本數(shù)據(jù),系統(tǒng)設(shè)計(jì)時(shí)必須另外考慮,本系統(tǒng)的設(shè)計(jì)思路,服務(wù)器端添加圖片時(shí)將圖片的URL地址存入相應(yīng)表字段,手機(jī)端請(qǐng)求時(shí)得到圖片的URL地址,通過URL得到圖片的數(shù)據(jù)流,然后在手機(jī)端保存成圖片數(shù)據(jù)的臨時(shí)文件,供手機(jī)界面使顯示。比如本系統(tǒng)用戶請(qǐng)求個(gè)人信息是需要顯示頭像,通過得到服務(wù)器相應(yīng)的信息解析出圖片的UIL地址:String strIm = :8080/client/。Uri uri = (strIm)。Bitmap bitmap = ()。(4)手機(jī)端的GPS定位功能可以獲得手機(jī)的地理位置信息,android系統(tǒng)提供定位服務(wù)的APIs,可以從GPS硬件獲得坐標(biāo)數(shù)據(jù)。具體代碼如下:要實(shí)用Adnroid平臺(tái)的GPS設(shè)備,首先需要添加上權(quán)限,所以需要添加如下權(quán)限:usespermission android:name=/usespermission具體實(shí)現(xiàn)代碼如下:首先判斷GPS模塊是否存在或者是開啟:private void openGPSSettings() { LocationManager alm = (LocationManager) this .getSystemService()。 if (()) { (this, GPS模塊正常, ) .show()。 return。 } (this, 請(qǐng)開啟GPS!, ).show()。 Intent intent = new Intent()。 startActivityForResult(intent,0)。 //設(shè)置完成后返回到獲取界面}如果開啟正常,則會(huì)直接進(jìn)入到顯示頁面,如果開啟不正常,則會(huì)進(jìn)行到GPS設(shè)置頁面:獲取代碼如下:private void getLocation(){ // 獲取位置管理服務(wù) LocationManager locationManager。 String serviceName = 。 locationManager= (LocationManager) (serviceName)。 // 查找到服務(wù)信息 Criteria criteria = new Criteria()。()。 // 高精度(false)。(false)。(true)。()。 // 低功耗String provider = (criteria, true)。 // 獲取GPS信息 Location location = (provider)。 // 通過GPS獲取位updateToNewLocation(location)。// 設(shè)置監(jiān)聽器,自動(dòng)更新的最小時(shí)間為//間隔N秒(1秒為1*1000,這樣寫主要為了方便)或最小位移變化超過N米(provider, 100 * 1000, 500,locationListener)。}到這里就可以獲取到地理位置信息了,但是還是要顯示出來,那么就用下面的方法進(jìn)行顯示:private void updateToNewLocation(Location location) { TextView tv1。 tv1 = (TextView) ()。 if (location != null) { double latitude = ()。 double longitude= ()。 (維度: + latitude+ \n經(jīng)度 + longitude)。 } else { (無法獲取地理信息)。 } }(5)android系統(tǒng)的service和Broadcast機(jī)制首先是service的使用,Service是android系統(tǒng)中的一種組件,它跟Activity的級(jí)別差不多,但是他不能自己運(yùn)行,只能后臺(tái)運(yùn)行,并且可以和其他組件進(jìn)行交互。Service的啟動(dòng)有兩種方式:() 和 ()。() 啟動(dòng)Service是會(huì)會(huì)經(jīng)歷:() onCreate() onStart()Service running() | onDestroy() Service stop如果Service還沒有運(yùn)行,則android先調(diào)用onCreate()然后調(diào)用onStart();如果Service已經(jīng)運(yùn)行,則只調(diào)用onStart(),所以一個(gè)Service的onStart方法可能會(huì)重復(fù)調(diào)用多次。stopService的時(shí)候直接onDestroy,如果是調(diào)用者自己直接退出而沒有調(diào)用stopService的話,Service會(huì)一直在后臺(tái)運(yùn)行。該Service的調(diào)用者再啟動(dòng)起來后可以通過stopService關(guān)閉Service。所以調(diào)用startService的生命周期為:onCreate onStart(可多次調(diào)用) onDestroy()啟動(dòng)Service會(huì)經(jīng)歷:()onCreate()onBind()Service runningonUnbind() onDestroy() Service stoponBind 將返回給客戶端一個(gè)IBind接口實(shí)例,IBind允許客戶端回調(diào)服務(wù)的方法,比如得到Service運(yùn)行的狀態(tài)或其他操作。這個(gè)時(shí)候把調(diào)用者 (Context,例如Activity)會(huì)和Service綁定在一起,Context退出了,Srevice就會(huì)調(diào)用 onUnbindonDestroy相應(yīng)退出。所以調(diào)用bindService的生命周期為:onCreate onBind(只一次,不可多次綁定) onUnbind onDestory。在Service每一次的開啟關(guān)閉過程中,只有onStart可被多次調(diào)用(通過多次startService調(diào)用),其他onCreate,onBind,onUnbind,onDestory在一個(gè)生命周期中只能被調(diào)用一次。service可以在和多場合的應(yīng)用中使用,比如播放多媒體的時(shí)候用戶啟動(dòng)了其他Activity這個(gè)時(shí)候程序要在后臺(tái)繼續(xù)播放,比如檢測SD卡上文件的變化,再或者在后臺(tái)記錄你地理信息位置的改變等等。 在Android中,Broadcast是一種廣泛運(yùn)用的在應(yīng)用程序之間傳輸信息的機(jī)制。我們拿廣播電臺(tái)來做個(gè)比方。我們平常使用收音機(jī)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1