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

正文內(nèi)容

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

2024-08-16 11:52 本頁(yè)面
 

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