难看出,name,icon,lable这些属性就分别指activity的名称、图标、标识。我们通过manifest描述程序的信息,Android系统就能读取出来并产生相应的行为。2.2数据库技术
2.2.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异常
2.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;
}
2.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;}
2.3 用户界面UI设计技巧
2.3.1 关注用户
(1)了解你的用户(年龄,技能,文化,对你的应用需求,使用的设备,以及何时何地如火热使用设备)
(2)"用户优先"的设计心态(用户通常是任务导向的行为模式)。在做设计以前一定要做大量的调查,只有这样才能真正了解用户的行为,才能在设计的时候以用户为中心。
(3)更早更频繁地由真实用户来测试。一个UI设计的好坏最终的评价者还是用户,所以,在你设计完成以后,一定要尽快一些实际的用户来帮助你测试一下你的UI,然后,可以根据用户的反馈更好的改进UI。
2.3.2显示正确的内容
(1)最常用的操作需要最快地被用户看到并且可用。
(2)不太常用的功能可以放到菜单里。在大多情况下,在做UI设计的时候,总是觉得哪一个功能都是有用的。这时候,应该去咨询一下你的用户,询问一下看看他们的常用功能是什么。然后在结合UI的美观设计出一个优秀的UI来。
图2.1
2.3.3给予用户适当的回馈
(1)交互式的UI元素最少需要反应出4种不同的状态(default,disabled,focused,pressed)。这样会使用户在使用UI元素的时候知道元素的状态,并根据当前状态做进一步的操作。
(2)保证操作的结果是清晰可见的。这条准则告诉我们,必须在用户做完一个或者相继的几个操作后给出操作结果。想想看,如果你现在正在看本书,然后你翻了一页,没有什么结果,这是在你原先那一页上,有什么感受呢。
(3)多给用户进度提示,但是不要干扰他们当前的操作。这条原则也很重要,简单地说,在用户不熟悉的过程中,要多给用户相关操作的提示,在用户熟悉的情况下,所给提示的方式又不会影响他。
2.3.4有章可循的行为模式
(1)行为模式遵循用户的期望。这条准则就要求我们在设计UI的时候要注意让UI的设计元素形象化,要注意通用符号的含义,不要更改人们已经设定的标准,比如说红十字不要用来表示可选按钮。
(2)使用合适的方式来加强功能可见性。这条准则是显而易见的,可点击的一定要做的像可点击的元素,不要非把一个按钮做成一个可以编辑文本的UI元素。
(3)如果用户完成一项任务需要复杂的操作,重新思考你的设计。这条准则说明,一定要清楚简单地完成用户的主要任务,但是对于一些对系统有威胁的操作除外。
如果设计的UI能够符合大部分的准则,那么这个UI 就是个很优秀的设计。
2.4 Android应用开发平台的搭建
2.4.1 计算机配置
开发Android应用所用到的开发工具较占内存,尤其是模拟器。官方并未给出最低配置要求,根据个人实际体会,在本人Intel corei5双核及2G内存的情况,基本上能流畅使用。另外还需有600MB以上的剩余磁盘空间(官方文档中的说明)。
2.4.2 下载SDK初始包
初始包中有开发Android程序所要用到的工具,这些工具包括了从编译到运行Android应用程序所需要的各种工具。因此,事实上最基本的开发环境至此就已经搭建完整。(SDK的下载地址为androidappdocs.appspot/sdk/index.html ,本来官方网站为android,但是经常被封锁,该链接更为稳定。)
2.4.3安装ADT
按照2.2.2安装完SDK初始包后,就可以开始开发Android应用程序了,但是为了更高效地进行开发,Android团队推出了Android Development Tools (ADT) 。ADT是目前开发Android应用最有效的工具,它是一个Eclipse插件,支持Eclipse 3.4及3.4以上的版本。以Eclipse 3.5 (Galileo)为例,安装过程如下:
1. 打开Eclipse,选择 Help > Install New Softare。
2. 在Available S
上一篇:
基于Android的会议白板
下一篇:
试论APP广告在手机中的应用