Android开发历程(sqlite事物、游标适配器、include标签)
2015-06-24 07:06
435 查看
一、单元测试
1.写一个类继承android.test.AndroidTestCase
2.在Application节点下面添加:
//添加测试包
<uses-library android:name="android.test.runner"/>
3.在Manifest根目录下面添加:
<!-- 给应用添加测试类 -->
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.jky.sqlite"></instrumentation>
---------------------------------------------------------------------------------------------------------------------------------------------------
1.sqlite3命令可能用不了
是因为没有配置sdk里面的tools目录的环境变量
2.android sqlite3命令.databases 报错:unable to open database file
是因为权限的问题,解决办法如下:
首先是使用sqlite3打开*.db文件时会报,使用chmod 777 *.db命令给数据库文件赋权限后即可打开数据库文件,也能查询数据,但是当我删除数据时报错了。
网上查了下没发现什么有用的信息,后来把db所在的文件夹也赋权限,再次打开数据库,查询数据,删除数据就可以了。
--------------演示-------------------
使用adb shell进入手机端的sqlite3
1.adb shell
#
2.# sqlite3 data/data/com.test.sqlite/databases/Person.db
如果报错需要修改权限
修改权限如下:
# chmod 777 databases (这是linux下修改的方式,databases是包含数据库如Person.db的文件夹)
# chmod 777 Person.db (这个是修改数据库文件的权限rwx,这个证明可以不修改也可以的)
rwx rwx rwx
111 111 111 = 777
---
000
3.可以查看数据库
.databases
4.可以查看表
.tables
5.可以建表等等
insert into person(name,age) values('rose',18);
注意事项:
---------------------------------------------------------------------------------------------------------------------------------------------------
关于使用CursorAdapter要注意的:
如:
1.查询数据库需要这样处理:(或者干脆建表的时候就给一个字段叫“_id”)
public Cursor selectAll2(){
//注意:使用CursorAdapter必须要有一个_id的字段
String sql = "select id as _id, name, age from person";
String[] selectionArgs = new String[]{};
Cursor cursor = db.rawQuery(sql, selectionArgs);
return cursor;
}
2.在使用的时候就:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.item,
c,
//SimpleCursorAdapter源码里面:mRowIDColumn = newCursor.getColumnIndexOrThrow("_id");
//使用CursorAdapter,系统要求必须要有一个字段叫做:_id
new String[]{"_id","name","age"},
new int[]{R.id.tv_id, R.id.tv_name, R.id.tv_age});
lv.setAdapter(adapter);
1.写一个类继承android.test.AndroidTestCase
2.在Application节点下面添加:
//添加测试包
<uses-library android:name="android.test.runner"/>
3.在Manifest根目录下面添加:
<!-- 给应用添加测试类 -->
<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="com.jky.sqlite"></instrumentation>
---------------------------------------------------------------------------------------------------------------------------------------------------
1.sqlite3命令可能用不了
是因为没有配置sdk里面的tools目录的环境变量
2.android sqlite3命令.databases 报错:unable to open database file
是因为权限的问题,解决办法如下:
首先是使用sqlite3打开*.db文件时会报,使用chmod 777 *.db命令给数据库文件赋权限后即可打开数据库文件,也能查询数据,但是当我删除数据时报错了。
网上查了下没发现什么有用的信息,后来把db所在的文件夹也赋权限,再次打开数据库,查询数据,删除数据就可以了。
--------------演示-------------------
使用adb shell进入手机端的sqlite3
1.adb shell
#
2.# sqlite3 data/data/com.test.sqlite/databases/Person.db
如果报错需要修改权限
修改权限如下:
# chmod 777 databases (这是linux下修改的方式,databases是包含数据库如Person.db的文件夹)
# chmod 777 Person.db (这个是修改数据库文件的权限rwx,这个证明可以不修改也可以的)
rwx rwx rwx
111 111 111 = 777
---
000
3.可以查看数据库
.databases
4.可以查看表
.tables
5.可以建表等等
insert into person(name,age) values('rose',18);
注意事项:
---------------------------------------------------------------------------------------------------------------------------------------------------
关于使用CursorAdapter要注意的:
如:
1.查询数据库需要这样处理:(或者干脆建表的时候就给一个字段叫“_id”)
public Cursor selectAll2(){
//注意:使用CursorAdapter必须要有一个_id的字段
String sql = "select id as _id, name, age from person";
String[] selectionArgs = new String[]{};
Cursor cursor = db.rawQuery(sql, selectionArgs);
return cursor;
}
2.在使用的时候就:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
R.layout.item,
c,
//SimpleCursorAdapter源码里面:mRowIDColumn = newCursor.getColumnIndexOrThrow("_id");
//使用CursorAdapter,系统要求必须要有一个字段叫做:_id
new String[]{"_id","name","age"},
new int[]{R.id.tv_id, R.id.tv_name, R.id.tv_age});
lv.setAdapter(adapter);
相关文章推荐
- Android开发历程
- android MD5 加密算法
- Android 自定义 HorizontalScrollView 图片控件
- Android基础之简单mune菜单详解
- android调试时apk可运行,导出签名的apk后闪退
- synchronized使用方法
- [Android随笔]Android参考书籍
- 欠揍的ffmpeg,调试android里的ffmpeg (1)
- 获取Android设备基本信息 TelephonyManager
- Android自定义控件View的探讨
- 如何定位Android NDK开发中遇到的错误(内附我的总结补充)
- Android逆向工程研究
- 【Android】一段时间不操作弹出【屏保】效果
- android---简单的计时器
- Android 四大组件 简介
- Android基础教程(一)--Android工程目录结构
- Android RxJava使用介绍(三) RxJava的操作符
- Android的学习之路一
- TextView的超链接
- android使用font awesome替代简单的图标