我正在开发APP1和APP2两个Android应用程序。并且我在APP1的“UserLogin”表中输入值,并且想要在APP2中获取“UserLogin”表的数据。但是当我提取值时它给我错误UserLogin表不存在。我如何能在APP 2如何从Android数据库的现有表中获取数据
获取数据,这里是我的数据库辅助类
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String LOG = "DatabaseHelper";
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "MessengerDb";
// Table Names
private static final String TABLE_USER_LOGIN= "UserLogin";
private static final String TABLE_CHAT_MESSAGE_THREAD = "ChatMessageThread";
private static final String TABLE_CHAT_MESSAGE = "ChatMessage";
//Login table column name
private static final String KEY_ID = "id";
private static final String KEY_LoginUserInfoId = "LoginUSerInfoId";
private static final String KEY_LoginUserFullName = "LoginUserFullName";
private static final String KEY_LoginUserAvatarURL = "LoginUserAvatarURL";
private static final String KEY_LoginStatus = "LoginStatus";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
//db.execSQL(CREATE_TABLE_USER_LOGIN);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.d("Database updated", "Database Updated");
db.execSQL("DROP TABLE IF EXISTS " + TABLE_USER_LOGIN);
// create new tables
// onCreate(db);
}
//-----------------Get login user--------------//
public List<UserLogin> getLoginUser() {
List<UserLogin> loginUser = new ArrayList<UserLogin>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_USER_LOGIN, null);
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
UserLogin uL = new UserLogin();
uL.setId(Integer.parseInt(cursor.getString(cursor.getColumnIndex(KEY_ID))));
uL.setLoginUserInfoId(cursor.getString(cursor.getColumnIndex(KEY_LoginUserInfoId)));
uL.setLoginUserFullName(cursor.getString(cursor.getColumnIndex(KEY_LoginUserFullName)));
uL.setLoginUserAvatarURL(cursor.getString(cursor.getColumnIndex(KEY_LoginUserAvatarURL)));
uL.setLoginStatus(cursor.getString(cursor.getColumnIndex(KEY_LoginStatus)));
// Adding contact to list
loginUser.add(uL);
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return loginUser;
}
}
你为什么评论这个? //db.execSQL(CREATE_TABLE_USER_LOGIN); – Amsheer
在哪里创建'TABLE_USER_LOGIN'表? –
APP1和APP2是两个独立的应用程序吗?也就是说,每个都有自己的软件包名称并单独安装?如果是这样,你不能只从另一个应用程序的数据库访问(想象安全问题!)。您必须通过['ContentProvider'](http://developer.android.com/guide/topics/providers/content-providers.html)向APP1公开APP2中的数据。 –