-2

私はプロジェクトを正常に完了しました。ユーザーが2つ以上のボタンを同時に押すとアプリがクラッシュし、アプリがサービスからデータをフェッチすると、ユーザーが他のウィジェットを押すと強制的に閉じられます。

などのエラーログ

12-13 12:42:03.763: W/webcore(576): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
12-13 12:44:52.284: E/AndroidRuntime(665):  at android.os.Looper.loop(Looper.java:137)
12-13 12:44:52.284: E/AndroidRuntime(665):  at android.app.ActivityThread.main(ActivityThread.java:4340)
12-13 12:44:52.284: E/AndroidRuntime(665):  at java.lang.reflect.Method.invokeNative(Native Method)
12-13 12:44:52.284: E/AndroidRuntime(665):  at java.lang.reflect.Method.invoke(Method.java:511)
12-13 12:44:52.284: E/AndroidRuntime(665):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-13 12:44:52.284: E/AndroidRuntime(665):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 

リクエストキューをAndroidコードに入れる方法はありますか?

Androidアプリで強制終了を処理するにはどうすればよいですか?

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

4

3 に答える 3

1

コードにこれ以上の変更を加えたくない場合は、フラグを使用して、サーバー要求が現在実行されているか、次のように完了しているかを確認してください。

public static boolean status=true;
    getdatabuttn.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
                   // check flag here before makeing 
                   //new request to server
                   if(status==true){
                      status=false;
                      // get data here
                         getDatafromServer();
                    }
                   else{
                    // show message already downloading data from server
                    }
        }
         });

サーバーにデータ要求を行うためのgetdataメソッド

public void getDatafromServer(){

//your code here for getting data
//....

// after getting data change flag
status=true;
}
于 2012-12-13T07:29:04.353 に答える
0

サービスからデータを取得するためにasynクラスを使用し、例外を処理するためにtry/catchでボタンを囲みます。

于 2012-12-13T07:33:46.463 に答える
0

サービスからデータを取得するときに非同期クラスを使用します。または、ハンドラーを使用してこの種のクラッシュを処理します。それ以外の場合は、サービスからデータを取得するまでボタンを無効にします...

于 2012-12-13T07:24:21.760 に答える