安卓基于android平台的3g气象软件毕业论文内容摘要:

e static final int DATABASE_VERSION 2 构造方法重载父类构造 public DatabaseHelper Context context super context DATABASE_NAME null DATABASE_VERSION public void onCreate SQLiteDatabase db 创建 weather_widget 表 public void onCreate SQLiteDatabase db 创建 weather_widget 表 dbexecSQL CREATE TABLE TABLE_WIDGET 创建 weather_forecast 表 dbexecSQL CREATE TABLE TABLE_FORECAST 重写 onUpgrade 方法 Override public void onUpgrade SQLiteDatabase db int oldVersion int newVersion URI 设置 ContentProvider 可以提供多个数据集调用者使用 URI 通用资源标识符对不同的数据集的数据进行操作 URI 用来地位任何远程或本地的可用资源ContentProvider 使用的 URI 语法结构 content 因此我们就需要先来对 URI进行设置代码如下 public static class WeatherWidgets implements BaseColumns 继承 BaseColumns 可以提供自动生成的 ID 声明 CONTENT_URI public static final Uri CONTENT_URI Uriparse content AUTHORITY widgets public static final String FORECAST_END forecasts 指操作多条数据 public static final String CONTENT_TYPE ordirawidget 指操作单条数据 public static final String CONTENT_ITEM_TYPE oritemwidget 查询功能首先我们先了解一下 SQLiteQueryBuilder 的 query 方法querySQLiteDatabase String[] projectionIn String selection String[] selectionArgs String groupBy String having String sortOrder String limit53 参 数 说 明 SQLiteDatabase db 要查询的数据库实例 String[] projectionIn 是一个字符串数组里边的每一项代表了需要返回的列名 String selection 相当于 SQL 语句中的 where 部分 String[] selectionArgs 是一个字符串数组里边的每一项依次替代在第三个参数中出现的问号 String groupBy 相当于 SQL语句当中的 groupby部分 String having 相当于 SQL 语句当中的 having 部分 String sortOrder 描述是怎么进行排序 String limit 相当于 SQL 当中的limit 部分控制返回的数据的个数 查询功能的核心代码如下 public Cursor query Uri uri String[] projection String selection String[] selectionArgs String sortOrder getReadableDatabase 这个函数会数据库是否存在版本号和是否可读等情况 决定在返回数据库对象前是否需要数据库返回一个可读的数据库对象 SQLiteDatabase db dbHelpergetReadableDatabase 声明了一个 SQLiteQueryBuilder对象该对象利用传入的参数生成一个完整的 sqlite 查询语句还可以完成查询工作并返回结果集 Cursor SQLiteQueryBuilder qb new SQLiteQueryBuilder String limit null 通过一个 switch 语句完成了通过 uri 种类的辨别来生成不通的SQLiteQueryBuilder 对象的工作 switch uriMatchermatch uri case WIDGETS qbsetTables TABLE_WIDGET break case WIDGETS_ID String appWidgetId urigetPathSegments get 1 qbsetTables TABLE_WIDGET qbappendWhere BaseColumns_ID appWidgetId break case WIDGETS_FORECASTS Pick all the forecasts for given widget sorted by date and importance 获得 appWidgetId String appWidgetId urigetPathSegments get 1 为该 SQLiteQueryBuilder 对象设置它查询工作将针对的表 qbsetTables TABLE_FORECAST qb 的 where 条件 qbappendWhere ForecastEntityWIDGET_ID appWidgetId 按照 BaseColumns_ID 进行排序 sortOrder BaseColumns_ID ASC break case FORECASTS qbsetTables TABLE_FORECAST break case FORECASTS_ID String forecastId urigetPathSegments get 1 qbsetTables TABLE_FORECAST qbappendWhere BaseColumns_ID forecastId break return qbquery db projection selection selectionArgs null nullsortOrder 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 类型匹配增删改查通过 switch 判断进行不同的操作因而还需要对关键字进行类型匹配核心代码如下 getType 函数用来返回指定 URI 的 MIME 数据类型 CONTENT_TYPE 表示 URI 是多条数据 CONTENT_ITEM_TYPE 表示是单条数据 Override public String getType Uri uri TODO Autogenerated method stub switch uriMatchermatch uri case WIDGETS return WeatherWidgetsCONTENT_TYPE case WIDGETS_ID return WeatherWidgetsCONTENT_ITEM_TYPE case WIDGETS_FORECASTS return WeatherDetailsCONTENT_TYPE case FORECASTS return WeatherDetailsCONTENT_TYPE case FORECASTS_ID return WeatherDetailsCONTENT_ITEM_TYPE throw new IllegalStateException 构造无匹配方式的 uriMatcher private static final UriMatcher uriMatcher new UriMatcher UriMatcherNO_MATCH private static final int WIDGETS 101 private static final int WIDGETS_ID 102 private static final int WIDGETS_FORECASTS 103 private static final int FORECASTS 201 private static final int FORECASTS_ID 202 声明了 uriMatcher 的匹配方式和返回代码 static uriMatcheraddURI AUTHORITY widgets WIDGETS uriMatcheraddURI AUTHORITY widgets WIDGETS_ID uriMatcheraddURI AUTHORITY widgetsforecasts WIDGETS_FORECASTS uriMatcheraddURI AUTHORITY forecasts FORECASTS uriMatcheraddURI AUTHORITY forecasts FORECASTS_ID 53 后台服务 后台服务是 tyweather 工程的核心模块在用户启动后持续在后台运行直到用户停止服务后台服务主要有三个功能一是周期性的获取 Google 的天气数据并存储到 SQLite二是从 SQLite读取出要显示的数据三是定时更新显示页面的时间 获取 天气数据 天气数据的获取天气数据分为以下三个步骤 从 Google 提供的 Web Service 中获取的天气数据数据的获取地址是 igapiweather shl zh 核心代码如下 pu。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。