4

重複の可能性:
アラームをリセットするために Android アプリケーションがアップグレードされたことを確認するにはどうすればよいですか?

Android アプリが更新されたときにのみ特定のコードを実行する必要があります (具体的にはアラームのスケジュールを変更したい)。

SOで広範な検索を行ったところ、人々がSharedPreferencesの使用を提案していることがわかりました。再起動時または単にキャッシュをクリアすることで sharedPreferences を削除できるため、これは正しいとは思いません。つまり、アプリが更新されたときに、共有設定が存在しない可能性があり、それが更新なのか単に新規インストールなのか (さらに悪いことに再起動なのか) わからない場合があります。

それで、他の方法はありますか?おそらく、何らかのインテントまたは実行する何らかのメソッド (sqlite の onUpgrade のようなもの) です。

お知らせ下さい 。どうもありがとう

4

2 に答える 2

1

SharedPreferencesが最良のアプローチです。説明した内容に加えて、ユーザーがアンインストールして再度インストールするとクリアされます。これでは不十分な場合は、最後にインストールしたバージョンをサーバーに保存する必要がありますが、オフラインの場合はテストを実行できません。

于 2013-01-29T06:48:42.763 に答える
0

onUpgrade for sqliteは、データベースが存在するかどうかを確認し、そのバージョンを確認するだけです。現在のDBのバージョンがAPKのバージョンよりも低い場合、DBをクリアし、新しいDBでDBを更新します。同様に、アプリケーションキャッシュをクリアした場合。DBを含むすべてのファイルがクリアされます

同様に、アプリケーションに実装できます。

static public int version=1000のように; あなたのアプリで。作成時のアプリケーションで、SharedPreferencesにバージョンが含まれているかどうかを確認します(SPが存在しない場合でも)。保存されたメソッドまたはデフォルトのメソッドが返されます。

SPバージョンの値が、コード内の現在のバージョンよりも小さい場合。使用する予定の更新された機能を使用してください。

And if user uninstalls and reinstalled the app then too you might want to register your calls again.

于 2013-01-29T06:56:51.430 に答える