**データベース**
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE " + TABLE_NAME
+ "(ID INTEGER PRIMARY KEY AUTOINCREMENT, " + key_msg + " STRING, " + key_isread + " STRING)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
onCreate(db);
}
// ***************** ******** ------- GCMメッセージを挿入--------- *********************** *** //
public void insert_GCM_receive_data(String msg) {
String value;
SQLiteDatabase db = getWritableDatabase();
ContentValues cv = new ContentValues();
cv.put(key_msg, msg);
cv.put(key_isread, "N");
value = cv.toString();
db.insert(TABLE_NAME, null, cv);
System.out.println("/n******this is temp table name " + TABLE_NAME + "\nthis is temp msg " + cv + "\nmsg" + msg + "\nval" + value);
db.close();
}
// -------------------------------------------- --------------------------------------- //
// *** ******************* ----------アラートデータを取得する------------ ****** ******************** // 公共のArrayList get_alert_msg(){
ArrayList<String> name = new ArrayList<String>();
try {
SQLiteDatabase db = getWritableDatabase();
Cursor c = null;
c = db.rawQuery("SELECT * FROM " + TABLE_NAME, null);
System.out.println(c);
for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
String str_id = c.getString(0);
String str_msg = c.getString(1);
String str_read = c.getString(2);
Log.e("value", str_id + str_msg + str_read);
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("msg", str_msg);
hm.put("isread", str_read);
name.add(str_msg);
}
c.close();
db.close();
} catch (Exception e) {
Log.e("this not work", "" + e);
}
return name;
}
等//コール方法(2活性 dbHelper.get_alert_msgで) ; ....
データ操作とデータベース操作での使用操作... データを取得した後でdbを閉じると、 2つのアクティビティに共通のデータベースメソッドを使用してください。これはあなたに役立つことを願っています..
本当にデータベース共有が必要ですか?私は共有優先度共有のためのコードを持っています。これで十分ですか? –
データベース操作コードを送信します。 –
あなたのコードはどこにありますかnotifyChange()の呼び出しがありません – danny117