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

正文內(nèi)容

基于android平臺的3g手機(jī)氣象軟件畢業(yè)設(shè)計(jì)論文-在線瀏覽

2024-09-13 11:52本頁面
  

【正文】 面”中,需要 對要顯示天氣預(yù)報的城市及更新頻率進(jìn)行設(shè)置。在“詳細(xì)頁面”動態(tài)顯示當(dāng)前天氣情況,還要顯示未來四天的天氣情況。 圖 41 用戶界面草圖 數(shù)據(jù)庫設(shè)計(jì) 本軟件中有兩部分?jǐn)?shù)據(jù)需要存儲,一個是顯示頁面的數(shù)據(jù),另一個詳細(xì)頁面的數(shù)據(jù)。 表 41 詳細(xì)頁面的數(shù)據(jù)庫表 weather_forcast 的結(jié)構(gòu) 屬性 數(shù)據(jù)類型 說明 _id integer 自動增加的主鍵 widgetId integer 組件的 ID 號 dayOfWeek text 周幾 第四章 程序設(shè)計(jì) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 low integer 最低溫度 hight integer 最高溫度 icon text 顯示天氣的圖標(biāo) condition text 未來天氣情況 表 42 顯示頁 面的數(shù)據(jù)庫表 weather_widget 的結(jié)構(gòu) 屬性 數(shù)據(jù)類型 說明 _id integer 存儲 Widget 組件 id city text 進(jìn)行天氣信息查詢的城市名 updateMilis text 進(jìn)行天氣信息查詢的頻率,單位為分 /次 isConfigured text 是否設(shè)置 postalCode text 城市標(biāo)記 forecastDate integer 預(yù)報日期 condition text 當(dāng)前天氣情況 tempF integer 最高溫度 tempC integer 最低溫 度 humidity text 當(dāng)前濕度 icon text 天氣圖標(biāo) windCondition text 風(fēng)向風(fēng)速情況 lastUpdateTime integer 最后一次更新時間 程序模塊設(shè)計(jì) 從功能需求上分析可以看出,整個應(yīng)用程序應(yīng)劃分為 4 個模塊,分別是程序啟動、用戶界面、后臺服務(wù)和數(shù)據(jù)庫適配器,各模塊之間的關(guān)系如圖 42 所示。后臺服務(wù)在程序啟動時就由 AppWidgetProvider 啟動,也可由用戶界面通過 startService()進(jìn)行啟動,啟動后的后臺服務(wù)將一直保持運(yùn)行狀態(tài)。之所以這么實(shí)際,一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺服務(wù)可以及時更新數(shù)據(jù),以保證數(shù)據(jù)的準(zhǔn)確性。 在完成用戶界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和模塊設(shè)計(jì)后,至此程序設(shè)計(jì)階段基本完成。 Weather 工程源代碼的結(jié)構(gòu)如圖 所示。 表 tyweather 工程的文件用途說明 包 名 稱 文 件 名 說 明 “設(shè)置頁面”的 Activity “詳細(xì)頁面”的 Activity 天氣預(yù)報相關(guān)數(shù)據(jù)提供者,操作數(shù)據(jù)庫 后臺進(jìn)程內(nèi)服務(wù) 后臺時間服務(wù) 實(shí)現(xiàn) AppWidget 組件 ,并啟動服務(wù) 網(wǎng)絡(luò)數(shù)據(jù)獲取模塊 第五章 程序開發(fā) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 未來天氣信息的類 天氣信息工具類 當(dāng)前天氣信息的類 Android 的資源文件保存在 /res 的子目錄中。所有在程序開發(fā)階段可以被調(diào)用的資源都保存在這些目錄中,具體每個資源文件的用途可以參考表 : 表 資源文件名稱與用途 資源目錄 文 件 說 明 anim 漸變透明度動畫效果 畫面轉(zhuǎn)換位置移動動畫效果(從左至右) 畫面轉(zhuǎn)換位置移動動畫效果(從右至左) 畫面轉(zhuǎn)換位置移動動畫效果(從上至下) 畫面轉(zhuǎn)換位置移動動畫效果(從上至下) 畫面轉(zhuǎn)換位置移動動畫效果(從上 至下) 畫面轉(zhuǎn)換位置移動動畫效果(從上至下) 畫面轉(zhuǎn)換位置移動動畫效果(從上至下) drawable 這個文件夾里是工程里所用的圖片,如有表示天氣狀況、數(shù)字等,此處不贅述。應(yīng)用程序在不同的進(jìn)程中運(yùn)行 ,因此,數(shù)據(jù)和文件在不同的應(yīng)用程序之間是不能夠直接進(jìn)行訪問的。 在介紹 ForecastProvider 的 核 心 代 碼 前 , 首 先 了 解 一 下(當(dāng)前天氣信息的類 )和 (未來天氣信息的類)。 //ForecastEntity對象 private Integer id。 //更新 頻率 private String city。 //城市標(biāo)記 private Long forecastDate。 //天氣情況 private Integer tempF。 //攝氏溫度 private String humidity。 //天氣圖標(biāo) private String windCondition。 //最后更新時間 private Integer isConfigured。 (2) 的部分代碼: public class ForecastEntity { private Integer id。 //星期 private Integer low。 //最高溫度 private String icon。 //天氣情況 private Integer widgetId。 在創(chuàng)建 ForecastProvider 時,首先需要使用數(shù)據(jù)庫、文件系統(tǒng)或網(wǎng)絡(luò)實(shí)現(xiàn)底層存儲功能,這里我們采用數(shù)據(jù)庫建立了數(shù)據(jù)庫設(shè)計(jì)中的兩張表,從而實(shí)現(xiàn)了底層存儲功能。下面就核心代碼進(jìn)行分析。DatabaseHelper 在建立數(shù)據(jù)庫時,同時建立了兩個數(shù)據(jù)庫表 weather_widget和 weather_forcast,并對保存配置信息的表進(jìn)行了初始化。 //數(shù)據(jù)庫版本 private static final int DATABASE_VERSION = 2。 } public void onCreate(SQLiteDatabase db) { //創(chuàng)建 weather_widget表 public void onCreate(SQLiteDatabase db) { //創(chuàng)建 weather_widget表 (CREATE TABLE + TABLE_WIDGET + ( ......)。 } } //重寫 onUpgrade()方法 Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { ...... } 第五章 程序開發(fā) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 } } (2) URI 設(shè)置: ContentProvider 可以提供多個數(shù)據(jù)集,調(diào)用者使用 URI(通用資源標(biāo)識符)對不同的數(shù)據(jù)集的數(shù)據(jù)進(jìn) 行操作。 ContentProvider 使用的 URI 語 法 結(jié) 構(gòu)URI 進(jìn)行設(shè)置。 public static final String FORECAST_END = forecasts。 //指操作單條數(shù)據(jù) public static final String CONTENT_ITEM_TYPE = 。query ( SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit) ,參數(shù)說明如表 : 參 數(shù) 說 明 SQLiteDatabase db 要查詢的數(shù)據(jù)庫實(shí)例 String[] projectionIn 是一個字符串?dāng)?shù)組,里邊的每一項(xiàng)代表了需要返回的列名 String selection 相當(dāng)于 SQL 語句中的 where 部分 String[] selectionArgs 是一個字符串?dāng)?shù)組,里邊的每一項(xiàng)依次替代在第三個參數(shù)中出現(xiàn)的問號( ?) String groupBy 相當(dāng)于 SQL 語句當(dāng)中的 groupby 部分 String having 相當(dāng)于 SQL 語句當(dāng)中的 having 部分 String sortOrder 描述是怎么進(jìn)行排序 String limit 相當(dāng)于 SQL 當(dāng)中的 limit 部分,控制返回的數(shù)據(jù)的個數(shù) 查詢功能的核心代碼如下: public Cursor query(Uri uri, String[] projection, String selection, 第五章 程序開發(fā) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 String[] selectionArgs, String sortOrder) { //getReadableDatabase()這個函數(shù)會數(shù)據(jù)庫是否存在、版本號和是否可讀等情況, //決 定在返回?cái)?shù)據(jù)庫對象前,是否需要數(shù)據(jù)庫。 SQLiteDatabase db = ()。 SQLiteQueryBuilder qb = new SQLiteQueryBuilder()。 //通過 一個 switch語句,完成了通過 uri種類的辨別來生成不通的SQLiteQueryBuilder對象的工作。 break。 (TABLE_WIDGET)。 break。 //為該 SQLiteQueryBuilder對象設(shè)置它查詢工作將針對的表 (TABLE_FORECAST)。 //按照 sortOrder = + ASC。 }case FORECASTS: { (TABLE_FORECAST)。 } case FORECASTS_ID: { String forecastId = ().get(1)。 ( + = + forecastId)。 第五章 程序開發(fā) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 } } return (db, projection, selection, selectionArgs, null, null,sortOrder, limit)。 添加功能: public Uri insert(Uri uri, ContentValues values) {} 刪除功能: public int delete(Uri uri, String selection, String[] selectionArgs) {} 更新功能: public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {} (5) 類型匹配:增刪改查通過 switch 判斷,進(jìn)行不同的操作,因而還需 要對關(guān)鍵字進(jìn)行類型匹配。 case WIDGETS_ID: return 。 case FORECASTS: return 。 } throw new IllegalStateException()。 private static final int WIDGETS = 101。 第五章 程序開發(fā) 專業(yè)團(tuán)隊(duì)承接 android 畢業(yè)設(shè)計(jì) Android 畢業(yè)設(shè)計(jì)代做 : 924097675 private static final int WIDGETS_FORECASTS = 103。 private static final int FORECASTS_ID = 202。 (AUTHORITY, widgets/, WIDGETS_ID)。 (AUTHORITY, forecasts, FORECASTS)。 } } 后臺服務(wù) 后臺服務(wù)是 tyweather工程的核心模塊,在用戶啟動后持續(xù)在后臺運(yùn)行,直到用戶停止服務(wù)。 獲取天氣數(shù)據(jù) 天氣數(shù)據(jù)的獲取天氣數(shù)據(jù)分為以下三個步驟: (1) 從 Google提供的 Web Service中獲取的天氣數(shù)據(jù),數(shù)據(jù)的獲取地址是: 下: public static WidgetEntity queryWebservice(String postalCode) throws ForecastParseException { //編碼出錯 if (postalCode == null) { throw new
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1