18

アクティビティが 1 つある単純な Android アプリがあります。このアクティビティは、小さな XML ファイルをダウンロードし、コンテンツをユーザーに表示します。現在、アクティビティのonStartメソッドでダウンロードを開始しています。

デバイスの向きが変わると、アクティビティが破棄されて再作成されることを理解しています。そのため、ユーザーがアプリをローテーションすると、XML ファイルが再度ダウンロードされます。ファイルは 1 日に数回しか変更されないため、アプリでファイルをダウンロードするのは 1 回だけにしてください。したがって、デバイスの向きが変わったときにローカルデータを再利用できるように、ダウンロードしたデータを保持するオブジェクトが必要です。データを保持するための Android の理想的なオブジェクトは何ですか?

iOS ではAppDelegate、データを一度ダウンロードして保持するために使用します。次に、データを表示するviewControllerは、ローカルデータが破棄されて再作成された場合に再利用できます。

4

4 に答える 4

31

Application の独自のサブクラスを作成し、AndroidManifest.xml で指定する必要があります。その後、このクラスの新しいインスタンスが作成され、アプリケーション全体からアクセスできるようになります。

例:

マニフェスト.xml

<application name="YourApp"> 

YourApp.java

public class YourApp extends Application {
    private String yourState;
 
    public void setState(String state){
        yourState = state;
    }
    public String getState(){
        return yourState;
    }
 }
 

YourActivity.java

 public class YourActivity extends Activity {
    @Override
    public void onCreate(Bundle bundle){
        YourApp appState = ((YourApp)getApplicationContext());// you can use getApplication() as well in the activity
        String state = appState.getState();
    }
 }

アプリケーションに関する詳細情報

于 2013-09-27T09:12:54.990 に答える
1

iOSとAndroidの両方でデータを保持するには、モデルオブジェクト(独自のクラス)を作成する必要があります。私見では。

于 2012-08-06T14:57:31.577 に答える
0

私はあなたがこのページを見たことがあると思います:

http://developer.android.com/guide/topics/data/data-storage.html#pref

XMLファイルのデータの種類によっては(かなり単純なデータの場合)、「共有設定」を使用するのが簡単な方法です。必要に応じて、共有設定からデータを使用しながら、XMLから新しいデータを書き換えることができます。

于 2012-08-06T15:05:19.620 に答える