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

正文內(nèi)容

畢業(yè)論文-基于android平臺的3g手機(jī)氣象預(yù)報(bào)軟件設(shè)計(jì)與實(shí)現(xiàn)-在線瀏覽

2024-08-02 10:39本頁面
  

【正文】 的功能需求: (1) 啟動 App Widget應(yīng)用程序 ; (2) 設(shè)置界面:對要顯示天氣預(yù)報(bào)的城市及更新頻率進(jìn)行設(shè)置; (3) 顯示界面:通過文字和圖片顯示當(dāng)前的天氣情況,包括日期、時(shí)間、城市、最高溫度、最低溫度、當(dāng)前溫度等。 性能分析 程序響應(yīng)速度快、安全性高、信息處理速度快。只有 Eclipse還不夠,因?yàn)槭鞘褂?Java語言進(jìn)行開發(fā),還應(yīng)該有由 SUN公司提供的 Java SDK(其中包括 JRE: Java Runtime Environment)。同時(shí),還需要在 Eclipse 安裝 ADT,為 Android 開發(fā)提供開發(fā)工具的升級或者變更,是Eclipse 下開發(fā)工具的升級下載的工具。 (1) Java SDK (2) Eclipse (3) Android SDK (4) ADT Android 開發(fā)平臺搭建 Android 開發(fā)平臺搭建步驟: ①首先到 Eclipse集成開發(fā)環(huán)境并且解壓,這里推薦下載 Java EE 集成版本,可以為平臺的搭建省下不少工作。第一步下載工序就結(jié)束了。過一會就會出現(xiàn)一個Developer Tools選項(xiàng),勾上以后點(diǎn)擊 Next以后 Eclipse會自動網(wǎng)上查找 Android 開發(fā)工具插件,然后找到 Android DDMS 和 Android Development Tools,選中這兩個點(diǎn)擊 Finish, Eclipse 就會自動下載并安裝 Android 插件了,最后會提示第三章 系統(tǒng)開發(fā)環(huán)境及相關(guān)技術(shù) 重啟 Eclipse。 ④在 WindowsXP 的系統(tǒng)變量中的 path 變量中添加一個值,該值指向解壓后的Android SDK 目錄下的 tools 文件夾。 在“設(shè)置頁面”中,需要 對要顯示天氣預(yù)報(bào)的城市及更新頻率進(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 周幾 low integer 最低溫度 第四章 程序設(shè)計(jì) 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ù)報(bào)日期 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í)間 程序模塊設(shè)計(jì) 從功能需求上分析可以看出,整個應(yīng)用程序應(yīng)劃分為 4 個模塊,分別是程序啟動、用戶界面、后臺服務(wù)和數(shù)據(jù)庫適配器,各模塊之間的關(guān)系如圖 42 所示。后臺服務(wù)在程序啟動時(shí)就由 AppWidgetProvider 啟動,也可由用戶界面通過 startService()進(jìn)行啟動,啟動后的后臺服務(wù)將一直保持運(yùn)行狀態(tài)。之所以這么實(shí)際,一方面可以避免因網(wǎng)絡(luò)通信不暢造成界面失去響應(yīng);另一方面,后臺服務(wù)可以及時(shí)更新數(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ù)報(bào)相關(guān)數(shù)據(jù)提供者,操作數(shù)據(jù)庫 后臺進(jìn)程內(nèi)服務(wù) 后臺時(shí)間服務(wù) 實(shí)現(xiàn) AppWidget 組件 ,并啟動服務(wù) 網(wǎng)絡(luò)數(shù)據(jù)獲取模塊 第五章 程序開發(fā) 未來 天氣信息的類 天氣信息工具類 當(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。 //最后更新時(shí)間 private Integer isConfigured。 (2) 的部分代碼: public class ForecastEntity { private Integer id。 //星期 private Integer low。 //最高溫度 private String icon。 //天氣情況 第五章 程序開發(fā) private Integer widgetId。 在創(chuàng)建 ForecastProvider 時(shí),首先需要使用數(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í),同時(shí)建立了兩個數(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ā) (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, String[] selectionArgs, String sortOrder) { //getReadableDatabase()這個函數(shù)會數(shù)據(jù)庫是否存在、版本號和是否可讀等情況, 第五章 程序開發(fā) //決定在返回?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)。 } } 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。 private static final int WIDGETS_FORECASTS = 103。 private static final int FORECASTS_ID = 202。 (AUTHORITY, widgets/, WIDGETS_I
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1