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

正文內(nèi)容

基于android平臺的3g手機氣象軟件畢業(yè)設(shè)計論文(編輯修改稿)

2025-08-16 11:52 本頁面
 

【文章內(nèi)容簡介】 red, 完全對應(yīng)數(shù)據(jù)庫中 weather_widget 的表。 (2) 的部分代碼: public class ForecastEntity { private Integer id。 //編號 private String dayOfWeek。 //星期 private Integer low。 //最低溫度 private Integer hight。 //最高溫度 private String icon。 //天氣圖標 第五章 程序開發(fā) 專業(yè)團隊承接 android 畢業(yè)設(shè)計 Android 畢業(yè)設(shè)計代做 : 924097675 private String condition。 //天氣情況 private Integer widgetId。 //組件 id 從代碼中可以看出, WidgetEntity 類中 有以上公有靜態(tài)屬性 id、dayOfWeek、 low、 hight、 icon、 condition、 widgetId, 完全對應(yīng)數(shù)據(jù)庫中 weather_forcast 的表。 在創(chuàng)建 ForecastProvider 時,首先需要使用數(shù)據(jù)庫、文件系統(tǒng)或網(wǎng)絡(luò)實現(xiàn)底層存儲功能,這里我們采用數(shù)據(jù)庫建立了數(shù)據(jù)庫設(shè)計中的兩張表,從而實現(xiàn)了底層存儲功能。然后在繼承 ContentProvider 的類中實現(xiàn)基本數(shù)據(jù)操作的接口函數(shù),包括添加、刪除、查找和更新等功能。下面就核心代碼進行分析。 (1) 創(chuàng) 建 數(shù) 據(jù) 庫 : DatabaseHelper 類 繼 承 SQLiteOpenHelper ,SQLiteOpenHelper 這 個 類 可 以 輔 助 建 立 、 更 新 和 打 開 數(shù) 據(jù) 庫 。DatabaseHelper 在建立數(shù)據(jù)庫時,同時建立了兩個數(shù)據(jù)庫表 weather_widget和 weather_forcast,并對保存配置信息的表進行了初始化。具體代碼如下所示: private static class DatabaseHelper extends SQLiteOpenHelper { //數(shù)據(jù)庫名稱 private static final String DATABASE_NAME = 。 //數(shù)據(jù)庫版本 private static final int DATABASE_VERSION = 2。 //構(gòu)造方法,重載父類構(gòu)造 public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION)。 } public void onCreate(SQLiteDatabase db) { //創(chuàng)建 weather_widget表 public void onCreate(SQLiteDatabase db) { //創(chuàng)建 weather_widget表 (CREATE TABLE + TABLE_WIDGET + ( ......)。 //創(chuàng)建 weather_forecast表 (CREATE TABLE + TABLE_FORECAST + ( ......)。 } } //重寫 onUpgrade()方法 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { ...... } 第五章 程序開發(fā) 專業(yè)團隊承接 android 畢業(yè)設(shè)計 Android 畢業(yè)設(shè)計代做 : 924097675 } } (2) URI 設(shè)置: ContentProvider 可以提供多個數(shù)據(jù)集,調(diào)用者使用 URI(通用資源標識符)對不同的數(shù)據(jù)集的數(shù)據(jù)進 行操作。 URI 用來地位任何遠程或本地的 可 用 資 源 。 ContentProvider 使用的 URI 語 法 結(jié) 構(gòu)URI 進行設(shè)置。代碼如下: public static class WeatherWidgets implements BaseColumns { //繼承 BaseColumns可以提供自動生成的 ID //聲明 CONTENT_URI public static final Uri CONTENT_URI = ( + AUTHORITY + /widgets)。 public static final String FORECAST_END = forecasts。 //指操作多條數(shù)據(jù) public static final String CONTENT_TYPE = 。 //指操作單條數(shù)據(jù) public static final String CONTENT_ITEM_TYPE = 。 } (3) 查詢功能:首先我們先了解一下 SQLiteQueryBuilder 的 query()方法。query ( SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit) ,參數(shù)說明如表 : 參 數(shù) 說 明 SQLiteDatabase db 要查詢的數(shù)據(jù)庫實例 String[] projectionIn 是一個字符串數(shù)組,里邊的每一項代表了需要返回的列名 String selection 相當于 SQL 語句中的 where 部分 String[] selectionArgs 是一個字符串數(shù)組,里邊的每一項依次替代在第三個參數(shù)中出現(xiàn)的問號( ?) String groupBy 相當于 SQL 語句當中的 groupby 部分 String having 相當于 SQL 語句當中的 having 部分 String sortOrder 描述是怎么進行排序 String limit 相當于 SQL 當中的 limit 部分,控制返回的數(shù)據(jù)的個數(shù) 查詢功能的核心代碼如下: public Cursor query(Uri uri, String[] projection, String selection, 第五章 程序開發(fā) 專業(yè)團隊承接 android 畢業(yè)設(shè)計 Android 畢業(yè)設(shè)計代做 : 924097675 String[] selectionArgs, String sortOrder) { //getReadableDatabase()這個函數(shù)會數(shù)據(jù)庫是否存在、版本號和是否可讀等情況, //決 定在返回數(shù)據(jù)庫對象前,是否需要數(shù)據(jù)庫。返回一個可讀的數(shù)據(jù)庫對象。 SQLiteDatabase db = ()。 //聲明了一個 SQLiteQueryBuilder對象,該對象利用傳入的參數(shù)生成一個完整的 //sqlite查詢語句,還可以完成查詢工作并返回結(jié)果集( Cursor)。 SQLiteQueryBuilder qb = new SQLiteQueryBuilder()。 String limit = null。 //通過 一個 switch語句,完成了通過 uri種類的辨別來生成不通的SQLiteQueryBuilder對象的工作。 switch ((uri)) { case WIDGETS: { (TABLE_WIDGET)。 break。 } case WIDGETS_ID: { String appWidgetId = ().get(1)。 (TABLE_WIDGET)。 ( + = + appWidgetId)。 break。 } case WIDGETS_FORECASTS: { // Pick all the forecasts for given widget, sorted by date and // importance //獲得 appWidgetId String appWidgetId = ().get(1)。 //為該 SQLiteQueryBuilder對象設(shè)置它查詢工作將針對的表 (TABLE_FORECAST)。 //qb的 where條件 ( + = + appWidgetId)。 //按照 sortOrder = + ASC。 break。 }case FORECASTS: { (TABLE_FORECAST)。 break。 } case FORECASTS_ID: { String forecastId = ().get(1)。 (TABLE_FORECAST)。 ( + = + forecastId)。 break。 第五章 程序開發(fā) 專業(yè)團隊承接 android 畢業(yè)設(shè)計 Android 畢業(yè)設(shè)計代做 : 924097675 } } return (db, projection, selection, selectionArgs, null, null,sortOrder, limit)。 } (4) 添加、 刪除、更新功能 由于核心代碼類似,此處不一一贅述。 添加功能: 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 判斷,進行不同的操作,因而還需 要對關(guān)鍵字進行類型匹配。核心代碼如下: /*getType()函數(shù)用來返回指定 URI的 MIME數(shù)據(jù)類型 * CONTENT_TYPE表示 URI是多條數(shù)據(jù) * CONTENT_ITEM_TYPE表示是單條數(shù)據(jù) */ @Override public String getType(Uri uri) { // TODO Autogenerated method stub switch ((uri)) { case WIDGETS: return 。 case WIDGETS_ID: return 。 case WIDGETS_FORECASTS: return 。 case FORECASTS: return 。 case FORECASTS_ID: return 。 } throw new IllegalStateException()。 } //構(gòu)造無匹配方式的 uriMatcher private static final UriMatcher uriMatcher = new UriMatcher( )。 private static final int WIDGETS = 101。 private static final int WIDGETS_ID = 102。 第五章 程序開發(fā) 專業(yè)團隊承接 android 畢業(yè)設(shè)計 Android 畢業(yè)設(shè)計代做 : 924097675 private static final int WIDGETS_FORECASTS = 103。 private static final int FORECASTS = 201。 private static final int FORECASTS_ID = 202。 //聲明了 uriMatcher的匹配方式和返回代碼 static { (AUTHORITY, widgets, WIDGETS)。 (AUTHORITY, widget
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1