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

正文內(nèi)容

基于android的手機(jī)天氣預(yù)報(bào)系統(tǒng)畢業(yè)論文-資料下載頁(yè)

2025-08-19 19:52本頁(yè)面

【導(dǎo)讀】進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方。及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。對(duì)本研究提供過(guò)幫助和做出過(guò)。貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說(shuō)明并表示了謝意。本人完全了解大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,采用影印、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容?;蚣w已經(jīng)發(fā)表或撰寫(xiě)的成果作品。本人完全意識(shí)到本聲明的法律后果由本人承擔(dān)。涉密論文按學(xué)校規(guī)定處理。文字?jǐn)?shù)不少于萬(wàn)字。圖表整潔,布局合理,文字注釋必須使用工程字書(shū)寫(xiě),不準(zhǔn)用徒手畫(huà)?;赑C端,查詢(xún)起來(lái)并不是很便捷。統(tǒng),本系統(tǒng)通過(guò)選擇城市來(lái)獲得天氣,風(fēng)向,溫度等信息?;谑謾C(jī)的天氣預(yù)報(bào)系統(tǒng)軟件可。必要的麻煩,具有很強(qiáng)的實(shí)用性。進(jìn)行了項(xiàng)目的測(cè)試用例分析,最后給出了結(jié)論以及展望。

  

【正文】 ew Intent(,)。// 從LaunchActivity轉(zhuǎn)到 MainActivity startActivity(intent)。//啟動(dòng) MainActivity finish()。//結(jié)束 LaunchActivity break。 } } }。 進(jìn)入啟動(dòng)界面后,可定義 2秒后跳轉(zhuǎn)至天氣顯示界面: 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 19 (new Runnable() {//匿名內(nèi)部類(lèi),此時(shí)傳給 myThreadPool構(gòu)造函數(shù)的應(yīng)該是一個(gè)實(shí)現(xiàn) Runnable的類(lèi)的對(duì)象引用 @Override //Runnable是一個(gè)接口,不是一個(gè)線(xiàn)程,一般線(xiàn)程會(huì)實(shí)現(xiàn) Runnable。 //所以如果我們使用匿名內(nèi)部類(lèi)是運(yùn)行在 UI主線(xiàn)程的,如果我們使用實(shí)現(xiàn)這個(gè)Runnable接口的線(xiàn)程類(lèi),則是 運(yùn)行在對(duì)應(yīng)線(xiàn)程的 public void run() { //定時(shí)器 2秒之后跳轉(zhuǎn) while (!) { try { (50)。//線(xiàn)程休眠 50毫秒 //如果大于 50毫秒時(shí)不進(jìn)行休眠。這里讓線(xiàn)程休眠的目的就控制游戲畫(huà)面的刷新頻率。 //如果不足 50毫秒可能是作者認(rèn)為刷新太快了 } catch (InterruptedException e) { ()。 } } finishTime = ()。//記錄下邏輯處理完成時(shí)的時(shí)間 . if (finishTime startTime 2020) {//如果處理時(shí)間小于 2秒的話(huà)線(xiàn)程需要等足到 2秒也就是( 2020 邏輯處理的時(shí)間差)再進(jìn)行下次操作 . try { (2020 (finishTime startTime))。 } catch (InterruptedException e) { ()。 } } (1)。//通過(guò) Handler,發(fā)送到消息隊(duì)列里面去運(yùn)行 ,//執(zhí)行完畢后給 handler發(fā)送一個(gè)消息 } })。 該文件中是一個(gè) android 應(yīng)用最先啟動(dòng)的地方,在這里進(jìn)行全局變量初始化,打開(kāi)數(shù)據(jù)庫(kù)等操作。 初始化 應(yīng)用: public void init() { //初始化應(yīng)用 allCities = openDataBase().queryAllCity()。 //從數(shù)據(jù)庫(kù)讀取所有城市信息 cities = openDataBase().queryMyCity()。//讀取所有我訂閱的城市信息 if (!()) { //設(shè)置默認(rèn)城市 for (int i = 0。 i ()。 i++) { if ((i).isDefault) curCityIndex = i。 }} else curCityIndex = 1。 } 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 20 設(shè)置一個(gè)定時(shí)更新的提醒: public void setAlarm() { //設(shè)置定時(shí)更新提醒 Intent intent = new Intent(this, )。 ()。 sender = (this, 0, intent, 0)。 // 開(kāi)始時(shí)間 long firstime = ()。 am = (AlarmManager) getSystemService(ALARM_SERVICE)。 // 5秒一個(gè)周期,不停的發(fā)送廣播 (, firstime, 5 * 1000, sender)。 } 打開(kāi) 數(shù)據(jù)庫(kù)操作: public DBManager openDataBase() { //開(kāi)啟數(shù)據(jù)庫(kù)操作 if (isDataBaseOpened == false || dbManager == null) { dbManager = (this)。 isDataBaseOpened = true。 } return dbManager。 } 在該界面主要是 顯示 當(dāng)前你所訂閱的城市,在該界面用了一個(gè) Adapter 適配器來(lái)進(jìn)行下拉菜單的操作: cityAdapter = new CityAdapter(this, )。 (cityAdapter)。 (new () { public void onItemClick(AdapterView? arg0, View arg1, int arg2, long arg3) { = arg2。 (new Runnable() { public void run() { for (MyCity city : ) { = false。 } ().isDefault = true。 ().changeDefault((tyIndex).id)。 } })。 ()。 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 21 Intent i = new Intent()。 sendBroadcast(i)。 finish()。 } })。 同時(shí)在該界面還添加了一個(gè)長(zhǎng)按菜單,當(dāng)你想要?jiǎng)h除你所訂閱的城市時(shí),長(zhǎng)按,會(huì)出現(xiàn)是否刪除對(duì)話(huà)框: (new () { public boolean onItemLongClick(AdapterView? arg0, View arg1, int arg2, long arg3) { dialogue((arg2))。 return false。 } })。 } //添加長(zhǎng)按菜單 當(dāng)你第一次運(yùn)行該程序時(shí),進(jìn)行定位功能時(shí),會(huì)出現(xiàn)你當(dāng)前所在的城市,并且會(huì)出現(xiàn)是否添加對(duì)話(huà)框,定位時(shí)調(diào)用百度地圖定位的類(lèi)庫(kù): private void settingLocation() { //初始化定位,調(diào)用百度定位的類(lèi)庫(kù) mLocationClient = new LocationClient(())。 mBDLocationListener = new MyBDLocationListener()。 (mBDLocationListener)。 LocationClientOption option = new LocationClientOption()。 // 需要地址信息,設(shè)置為其他任何值( string類(lèi)型,且不能為 null)時(shí),都表示無(wú)地址信息。 (all)。 // 設(shè)置是否返回 POI的電話(huà)和地址等詳細(xì)信息。默認(rèn)值為 false,即不返回 POI的電話(huà)和地址信息。 (true)。 // 設(shè)置產(chǎn)品線(xiàn)名稱(chēng)。強(qiáng)烈建議您使用自定義的產(chǎn)品線(xiàn)名稱(chēng),方便我們以后為您提供更高效準(zhǔn)確的定位服務(wù)。 (定位我當(dāng)前的位置 )。 // 打開(kāi) GPS,使用 gps前提是用戶(hù)硬件打開(kāi) gps。默認(rèn)是不打開(kāi) gps的。 (false)。 (6)。 // 定位的時(shí)間間隔,單位: ms // 當(dāng)所設(shè)的整數(shù)值大于等于 1000( ms)時(shí),定位 SDK內(nèi)部使用定時(shí)定位模式。 // (1000)。 // 查詢(xún)范圍,默認(rèn)值為 500,即以當(dāng)前定位位置為中心的半徑大小。 (500)。 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 22 // 禁用啟用緩存定位數(shù)據(jù) (true)。 // 坐標(biāo)系類(lèi)型,百度手機(jī)地圖對(duì)外接口中的坐標(biāo)系默認(rèn)是 bd09ll (bd09ll)。 // 設(shè)置最多可返回的 POI個(gè)數(shù),默認(rèn)值為 3。由于 POI查詢(xún)比較耗費(fèi)流量,設(shè)置最多返回的 POI個(gè)數(shù),以便節(jié)省流量。 (3)。 // 設(shè)置定位方式的優(yōu)先級(jí)。 // 即使有 GPS,而且可用,也仍舊會(huì)發(fā)起網(wǎng)絡(luò)請(qǐng)求。這個(gè)選項(xiàng)適合對(duì)精確坐標(biāo)不 是特別敏感,但是希望得到位置描述的用戶(hù)。 ()。 (option)。 } 進(jìn)行定位時(shí),打印 log 信息,獲取省份和城市信息 : private class MyBDLocationListener implements BDLocationListener { public void onReceiveLocation(BDLocation location) { (收到了位置信息! )。 if (location == null) { (10)。 return。 } String temp1 = ()。 // 獲取省份信息 String temp2 = ()。 // 獲取城市信息 if (temp1 == null || temp2 ==null) { (10)。 //通知 handle更新 return。 } mProvince = (0, () 1)。 mCity = (0, () 1)。 (mProvince + === + mCity)。 (0)。 } @Override public void onReceivePoi(BDLocation poiLocation) { (收到了位置信息! onReceivePoi)。 } } } 對(duì)菜單進(jìn)行選擇操作,通過(guò)選擇不同的菜單進(jìn)入不同的功能界面: 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 23 public boolean onOptionsItemSelected(MenuItem item) { //menu選擇操作 int item_id = ()。 switch (item_id) { case 0: //更新操作 if ( = 0) { // (false)。 // (animation)。 (正在更新 ...)。//進(jìn)度框 ()。 Intent intent1 = new Intent(, )。 (0)。 startService(intent1)。 } break。 case 1: //城市管理操作 Intent intent = new Intent(this, )。 startActivity(intent)。 break。 case 2: //退出 finish()。 break。 } return true。 } 接受到更新操作的信息后才能進(jìn)行更新操作,通過(guò) startService來(lái)開(kāi)啟更新服務(wù),更新操作時(shí)通過(guò) myThreadPool = () 來(lái)開(kāi)啟線(xiàn)程,通過(guò) Connect = ()進(jìn)行 連接。 通過(guò)更新操作獲取實(shí)時(shí)的天氣信息: /** * 獲取當(dāng)天實(shí)時(shí)的天氣 * @throws ClientProtocolException * @throws IOException * @throws ServerResponseException * @throws JSONException */ private void updateRealtime() throws ClientProtocolException, IOException, ServerResponseException, JSONException { StringBuilder sb1 = new StringBuilder()。//把地址給 sb1 ().append((WeatherAp).id).append()。 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文 24 InputStream is = (())。 String jsonString = (is)。 JSONObject jsonObject = new JSONObject(jsonString)。 JSONObject weather = (JSONObject) (weatherinfo)。 = ((cityid)).intValue()。 = (city)。 = (temp)。 } 功能 由于 widget 中的時(shí)鐘關(guān)系,需要對(duì) widget 顯示進(jìn)行時(shí)刻的更新用來(lái)保持與系統(tǒng)中時(shí)間的一致。實(shí)現(xiàn)這個(gè)功能需要用到 AlarmManager 類(lèi),這個(gè)類(lèi)專(zhuān)門(mén)用來(lái)設(shè)定在某個(gè)指定的時(shí)間去完成指定的事件。設(shè)計(jì)思路是在 Widget 的 onUpdate 方法中啟動(dòng)一個(gè)自定義更新后臺(tái)服務(wù),更新 widget,并設(shè)定下一分鐘再次調(diào)用此服務(wù)。 public void onReceive(Context context, Intent intent) { //widget 接收到廣播 (context, intent)。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1