.1 创建数据库
Android 提供了标准的数据库创建方式。继承SQLiteOpenHelper ,实现onCreate 和 onUpgrade 两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:
public DBHelper(Context context) {// 创建数据库
super(context, DATABASE_NAME,null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db) {// 创建时调用
db.execSQL(DATABASE_CREATE);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// 版本更新时调用
db.execSQL("DROP TABLE IF EXISTS File_Table");
onCreate(db);
}
@Override // 在ContextProvider运行时自动创建数据库
public boolean onCreate() {
dbOpenHelper= new DBHelper(getContext());
return true;
}
数据库如果创建不成功则抛出FIleNotFoundException异常
3.2.2 操作数据库
Android对数据库的操作主要有插入、删除、更新、查询操作,在进行任何操作时都必须指定一个Uri,才能对相应的表进行数据操作。
//数据库删除操作
@Override
public int delete(Uri arg0, String arg1, String[] arg2) {
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
try {
Db.delete(FileColumn.TABLE, arg1, arg2);
} catch (Exception ex) {
ex.printStackTrace();
}return 1;
}
@Override//数据库插入操作
public Uri insert(Uri uri, ContentValues values) {
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
long count = 0;
try { count = db.insert(FileColumn.TABLE, null, values);
} catch (Exception ex)
{ ex.printStackTrace(); }
if (count > 0) return uri;
else return null;
}
// 数据库更新操作
@Override
public int update(Uri uri, ContentValues values, String selection,String[] selectionArgs) {
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
int i = 0;
try {
i = db.update(FileColumn.TABLE, values, selection, null);return i;
} catch (Exception ex) {}
return 0;
}
3.2.3 数据显示
程序是利用Cursor游标类指向数据表中的某一项,然后进行查询数据,用Log日志显示出来
@Override//数据库查询操作
public Cursor query(Uri uri, String[] projection, String selection,String[] selectionArgs, String sortOrder) {
SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
// 依次参数为:表名,查询字段,where语句,替换,group by(分组),having(分组条件),order by(排序)
Cursor cur = db.query(FileColumn.TABLE, projection, selection,selectionArgs, null, null, sortOrder);return cur;}
第四章 Android项目介绍
4.1 什么是Android?
4.1.1 Android简介
Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。目前最好的是Android2.0的摩托罗拉Droid
Android是基于Linux内核的软件平台和操作系统,早期由Google开发(在华注册商标名为"安致"),后由开放手机联盟(Open Handset Alliance)开发。它采用了软件堆层(software stack,又名以软件叠层)的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。目前最新SDK版本为Android 2.1
4.1.2 Android Features特性
Android系统有如下的几大特性:
·应用程序框架 支持组件的重用与替换
·Dalvik虚拟机 专门为移动设备做了优化
·内部集成浏览器 该浏览器基于开源的WebKit引擎
·优化的图形库 包括2D和3D图形库,3D图形库基于OpenGL ES
·SQLite 用作结构化的数据存储
·多媒体支持 包括常见的音频、视频和静态印象文件格式(如 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
·GSM电话(依赖于硬件)
·蓝牙Bluetooth, EDGE, 3G, and WiFi (依赖于硬件)
·照相机,GPS,指南针,和加速度计 (依赖于硬件)
·丰富的开发环境 包括设备模拟器,调试工具,内存及性能分析图表,和Eclipse集成开发环境插件
4.1.3 Android基本框架(Android Architecture)
图 4.1 Android Architecture
(1) Applications
Application Android会同一个核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是用JAVA编写的。
(2) Application FrameWork
开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组建可以被用户替换。
所有的应用程序都由一系列的服务和系统组成,包括:
· 可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器
·内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。
·资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件(layout files )。
·通知管理器(Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。
·活动类管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。
(3) Libraries库
Android 包括一个被 Android 系统中各种不同组件所使用的 C/C++ 库集。该库通过 Android 应用程序框架为开发者提供服务。以下是一些主要的核心库:
系统 C 库- 一个从 BSD 继承来的标准 C 系统函数库( libc ),专门为基于 embedded linux 的设备定制。 媒体库- 基于 PacketVideo OpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG。 Surface Manager - 对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。 LibWebCore - 一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。 SGL - 一个内置的2D图形引擎 3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。 FreeType - 位图(bitmap)和向量(vector)字体显示。 SQLite 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
(4) Android Runtime
Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来
上一篇:
安卓记事本毕业论文
下一篇:
试论APP广告在手机中的应用