iOS AppDelegateと同等のAndroidの質問

iOS AppDelegateと同等のAndroidの質問

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

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

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

ベストアンサー1

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

例:

マニフェスト.xml

<application name="YourApp"> 

あなたのApp.java

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

あなたのアクティビティ.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();
    }
 }

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

おすすめ記事