1

私のアプリはこの外観をしています

いくつかのTableRowsを持つTableLayoutのようです。私のアクティビティでは、各TableRowにImageView、TextView、およびButtonの3つのビューがあります。

ユーザーは、必要なテキストを入力してボタンを押すことにより、ImageViewとTestViewのコンテンツを設定するユーザーです。

このデータをstringArray変数に保存し、電話が再起動されないか、アプリが閉じられていない場合は正常に機能します(forceClose)

これらの2つの状況のいずれかが発生した場合、すべてのデータが失われます。

私はSharedPreferencesによってStringArraysを保存しようとしていますが、OnCreate()、OnResume()、またはOnStartメソッド()のいずれにあるのか、いつプリファレンスをロードする必要があるのか​​わかりません。

もう1つの質問は、配列を定義する方法です。私はこれを使用します:

String [] titulo = new String [500];

アクティビティを開始するたびにこの文字列が作成されるかどうかはわかりません。たとえば、SharedPreferencesから前の文字列をロードし、電話を再起動するたびに新しい文字列を作成しないように、さらにいくつかのエントリを追加する必要があるためです。

SQLデータベースが必要だと思いますか、それともこのStringArrayで問題ありませんか。

ありがとうございました。

4

1 に答える 1

1

サイズ500の配列があるため、データベースの使用に切り替える必要があります。これは、将来的に増加する可能性があります。

ただし、SharedPreferencesを引き続き使用する場合は、onPause()メソッドとonStop()メソッドにデータを書き込み、if elseステートメントを使用して、操作を実行する前にデータがnullかどうかを確認する必要があります。データがnullの場合は、続行する前にSharedPreferencesからデータを読み取ります。

于 2012-09-01T19:16:50.800 に答える