我在我的应用程序中使用sqlite,我创建了另一个应用程序,其中包含我的第一个应用程序的配置,仅更新我的主应用程序的sqlite选项。但我无法访问相同的sqlite数据库。
如果我使用配置应用程序并执行更新查询,我的数据库会更新,但仅限于配置应用程序。例如IP,我需要在配置中更新我的主应用程序的IP。
我在我的两个应用程序中使用了同一个类。
public class BDCore extends SQLiteOpenHelper {
private static final String DB_NAME = "NewPointerBI";
private static final int DB_VERSION = 3;
public BDCore(Context ctx){
super(ctx, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table user(code integer primary key, ip text not null");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("drop table user;");
onCreate(db);
}
}
并使用同一个类进行访问:
public class DBLiteConnection {
private SQLiteDatabase db;
public DBLiteConnection(Context ctx){
DBCore dbcore = new DBCore(ctx);
db = dbcore.getWritableDatabase();
}
public DBLiteUser search() {
DBLiteUser user = new DBLiteUser();
String[] columns = new String[]{"code", "ip"};
Cursor cursor = db.query("user", columns, null, null, null, null, null);
if (cursor.getCount() > 0) {
cursor.moveToFirst();
user.setCode(cursor.getInt(0));
user.setIp(cursor.getString(1));
}
return user;
}
public void updateconfig(int code, String ip){
ContentValues values = new ContentValues();
values.put("ip",ip);
db.update("user", values, "code = "+code, null);
}
public void insertdata(int code){
ContentValues values = new ContentValues();
values.put("code",1);
values.put("ip","xxx.xxx.xxx");
db.insert("user", null, values);
}
}
答案 0 :(得分:2)
您需要使用内容提供商在应用之间传输数据。