私のアプリでは、自分のrssニュースをデータベースに保存しています。ユーザーがインターネットで私のニュース活動に入ると、私はcreateEnty()を呼び出します。Androidデータベースアップデート
public void createEntry(String title, String getagonistiki, String getskor,
String getgipedo, String date, String getgoal1, String getgoal2, String teliko_skor) {
// TODO Auto-generated method stub
ContentValues cv=new ContentValues();
cv.put(DBHelper.TITLE, title);
cv.put(DBHelper.AGONISTIKI, getagonistiki);
cv.put(DBHelper.SKOR, getskor);
cv.put(DBHelper.GIPEDO, getgipedo);
cv.put(DBHelper.DATE, date);
cv.put(DBHelper.GOALA, getgoal1);
cv.put(DBHelper.GOALB, getgoal2);
cv.put(DBHelper.DESCRIPTION, teliko_skor);
try
{
ourDatabase.insert("osfpDB",null,cv);
} //ourDatabase.update("osfpDB",cv,DBHelper.ROWID,null);
catch(Exception e)
{
Log.e("DB ERROR ON .INSERT", e.toString()); // prints the error message to the log
e.printStackTrace(); // prints the stack trace to the log
}
}
そして、ユーザがインターネットなしでニュース活動に入ったときに私は()のgetDataの呼び出しM(HotOrNot中)メソッド
HotOrNot entry = new HotOrNot(agones.this);
entry.open();
entry.createEntry(msg.getTitle(), msg.getagonistiki(), msg
.getskor(), msg.getgipedo(), msg.getDate(),msg.getgoal1(),msg.getgoal2(),msg.getDescription());
// entry.update(msg.getTitle(),msg.getagonistiki(),msg.getskor(),msg.getgipedo(),msg.getDate());
entry.close();
。
public Cursor getData()
{
String[] columns =new String[]{DBHelper.ROWID, DBHelper.TITLE , DBHelper.AGONISTIKI, DBHelper.SKOR, DBHelper.GIPEDO, DBHelper.DATE, DBHelper.GOALA, DBHelper.GOALB, DBHelper.DESCRIPTION };
Cursor c=ourDatabase.query(DBHelper.DATABASE_TABLE, columns, null, null, null, null, null);
return c;
}
私の問題は、ユーザーがインターネットに接続してニュースの活動に入るたびに、データベースが初めての12件のニュースがある場合、それらが書いていることを意味beginning.Iから再びすべてのデータの書き込みを行うということですもう一度12のニュースがあり、同じ12のニュースがある場合、アプリケーションはそれらを書き換え、私はデータベースに12のエントリを持っていますが、私は持っていない12を持っています。私のデータベースを削除する方法を探していますユーザーがインターネットを持っていて、それを作り直すたびに、または毎回データベースを書き直すたびに... ....ヘルプをして、ここに数日積み重ねてきたのです... :)
@Guillaumeこれを試していますが、データベース
HotOrNot entry = new HotOrNot(agones.this);
agones.this.deleteDatabase(DBHelper.DATABASE_NAME);
entry.open();
entry.createEntry(msg.getTitle(), msg.getagonistiki(), msg
.getskor(), msg.getgipedo(), msg.getDate(),msg.getgoal1(),msg.getgoal2(),msg.getDescription());
// entry.update(msg.getTitle(),msg.getagonistiki(),msg.getskor(),msg.getgipedo(),msg.getDate());
entry.close();
私はこの公開ボイドdeleteTable(SQLiteDatabaseデシベル){ db.delete(DBHelper.DATABASE_TABLE、NULL、NULL)を試みました。 }しかし、それは動作していません... –
私は個人的にあなたの動機がデータをリフレッシュしているときに "削除"データベースは良い選択肢ではないと感じています。テーブルスキーマに変更はないので、データベースの "削除"は意味をなさない。 – kosa
@ user1094597 –