同じタイトルのトピックがたくさんあることは知っていますが、すべて試してみました。私は自分の問題を解決できませんでした。
私が得るエラーはまさにこれです:
android.database.sqlite.SQLiteException:読み取り専用データベースをバージョン0から1にアップグレードできません:/data/data/com.halilkaya.flashcard/databases/flashcarddb.db
実際には動作しますエミュレーターで、しかし私が私の電話にそれをインストールするとき、それは動作しません!
9192 次
3 に答える
4
テーブルを削除して、以下のように再度アップグレードしてください。
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + LOCATION_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + PHONE_TABLE);
// Create tables again
onCreate(db);
}
于 2013-01-11T21:51:48.803 に答える
0
これにヒットすると、logcat の前に別の sql 例外がありました (私の HTC OneX テスト電話はクラッシュを非表示にして、単にクラッシュするのではなく、クラッシュを探すようにさせます)。アップグレード ロジックに不正なステートメントがありました。それを片付けたら、「読み取り専用データベースをアップグレードできません」というエラーが表示されなくなりました。
于 2014-04-01T17:43:51.410 に答える
0
これは、インテントを使用して onclick ボタンから開始されるクラスです。
public class disp_emails_sent extends Activity
......
protected void onCreate(Bundle bd)
{
super.onCreate(bd);
setContentView(R.layout.disp_db_res);
lv = (ListView) findViewById(R.id.myEmail_list);
List<String> arrayL = new ArrayList<String>();
db_handler dbHand = new db_handler(disp_emails_sent.this);
上記の (disp_emails_sent.this) は通常、コンテキストを渡す場所です。this.getApplicationContext() は私にとってはうまくいきませんでしたが、これはうまくいきました。
それがどのように機能したかはわかりませんが、機能しました。
コミュニティから提供された上記の回答を試してみましたが、これは問題ではありませんでした。
持ってる人いたら解説お願いします。
于 2014-08-09T03:53:56.383 に答える