2012-03-14 9 views
0

私のアプリケーションを更新しようとしています。そのために、私のアプリケーションをローカルパスから再インストールしようとしています。再インストールAndroidでプログラムをプログラムでインストールしてもデータを消去します

public void installApplication(String fileLocalPath){ 

     Uri installpackageURI = Uri.parse("package:ABC"); 
     Intent installIntent = new Intent(android.content.Intent.ACTION_VIEW, installpackageURI); 
     installIntent.setDataAndType(Uri.parse(fileLocalPath), "application/vnd.android.package-archive"); 

     // deleteDatabase(DatabaseName); 
     // startActivity(installIntent); 

    } 

これは、インストールの確認のためのアラートをユーザーに提供します。今私はintDataを開始する前にdeleteDatabase関数(上のコードでコメント)に呼び出してデータを削除し、私はインストールをキャンセルすると、データが失われます。

それ以外の場合は、データを消去できません。

更新中にデータを消去する方法を教えてください。前もって感謝します。

+0

まだ問題はありますか? – vrs

答えて

0

私はデータベースのバージョンをアップグレードし、次のコードをデータベースヘルパーに書き込むことでこれを処理する正しい方法だと思います。

@Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     Log.w(TAG, "Upgrading database from version " + oldVersion + " to " 
       + newVersion + ", which will destroy all old data"); 
     db.execSQL("DROP TABLE IF EXISTS notes"); 
     onCreate(db); 
    } 

詳細については、APIデモのノートパッドの例を参照してください。

関連する問題