0

私は、作業するためにインターネットに接続する必要があるAndroidアプリに取り組んでいます(listViewにデータを入力するため)。したがって、明らかに、入力すると、接続があるかどうかを確認します(このリンクはそのように役立ちました:Androidアプリケーションでインターネット接続が利用できない場合にアラートを表示します)。

接続がない場合は、alertDialog が表示され、アプリを終了するか、設定に移動してネットワーク アクセスを有効にするようにユーザーに指示します。したがって、ユーザーがそれを有効にして戻ってきた後、基本的にアクセスが必要なコードを実行する必要があります...私の質問は...下のif句のコードをどこに置くべきですか? onResume() または onRestart で?

これは私が今まで持っているコードです:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (checkNetworkStatus()){
            System.out.println("i have internet !!!!!!!!");
        overridePendingTransition(R.anim.slide_left,R.anim.fade);

        setContentView(R.layout.activity_start);
        handler = new Handler();

        Button newOrderButton = (Button) findViewById(R.id.new_order_button);
        newOrderButton.setOnClickListener(newOrderListener);

        Button previousOrderButton = (Button) findViewById(R.id.previous_orders_button);
        previousOrderButton.setOnClickListener(previousOrderListener);
    } else {
        System.out.println("I don't have internet !!!!!!!!");
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Start.this);
            .........
   }
4

1 に答える 1

0

ユーザーがアクティビティを離れてネットワーク アクセスをオンにすると、現在のアクティビティは必ず OnPause() を呼び出します。ユーザーが次回アクティビティを開くと、ユーザーがアプリを終了するか、設定に移動して戻ってくるかに関係なく、OnResume() が確実に呼び出されます。これらの関数が呼び出される順序を説明するフローチャートを表示するには、これを確認してください。目的のコードをどこに配置するかについての疑問が解消されます。お役に立てれば。

于 2013-04-13T05:45:57.617 に答える