我正在为Android制作一个IM客户端,我正在使用数据库存储联系人和其他信息...在我的应用程序中,我有一个活动和一个服务.我需要在服务和活动上同时打开三个数据库.
我使用三个数据库,因为我希望更容易管理数据库,而不会出现写入同步问题.(据我所知,我需要同步在数据库中写入,因为它可能会崩溃).
为了同时从服务和活动管理数据库,我认为DatabaseHelper的单例或静态类可以帮助我......
所以我已经开始通过在活动中创建两个databasehelper全局对象来进行测试,每个对象打开一个不同的数据库,在运行项目之后我注意到最后打开的数据库在两个对象中都保持打开状态:((,为什么这样发生了什么?
有人能吸引我,我怎么能让这项工作成功?谢谢!
LE:经过更多测试后,我创建了一个数据库helper的静态对象,打开一个服务,从中我从活动中获取数据库对象,同时我为两个语句创建了一个,一个在activity中,一个在服务中,从0到3000并将一些值添加到同一个数据库中,然后读取数据库.
在这次运行之后,我注意到数据库仍然处于英尺状态并且运行时没有错误.奇怪的是,只有在完成工作的活动之后,服务才会运行.这是为什么?谢谢!
我是android的新手.我有一个使用SQLite DB的应用程序.我需要将值从数据库推送到类型为object的arraylist.我使用的代码在这里给出.
private ArrayList<objectname> objectList = new ArrayList<objectname>();
//function used to get values from database
public ArrayList<objectname> getResults() {
MyDb db = new MyDb(this); //my database helper file
db.open();
Cursor c = db.getAllValues(); //function to retrieve all values from a table- written in MyDb.java file
if (c.moveToFirst())
{
do {
String date = c.getString(c.getColumnIndex("date"));
try
{
ob = new objectname();
ob.setDate(c.getString(c.getColumnIndex("date")));// setDate function is written in Class file
objectList.add(ob);
}
catch (Exception e) {
Log.e(MY_DEBUG_TAG, "Error " + e.toString());
} …Run Code Online (Sandbox Code Playgroud) 是否有可能从Android中的多个数据库中获取数据SQLite?例如:SELECT * FROM db1.tableA A, db2.tableB B WHERE A.id=B.id;
请求帮助,我找不到任何相关的SQLiteOpenHelper和SQLiteDatabase课程.谢谢
如果不可能的话.是否可以快速将大量记录插入数据库?我有一个包含3000条记录的XML文件.插入它需要大约3到4分钟(这就是我将数据放到db2的方式).