あなたのアプリケーションでprogressdialogを表示するためにasynctaskを実装しようとする前に私のコードを実行していましたか?それは今週でした。コード、 私のコードです:progressdialog asynctaskフェッチデータを使用して
あなたは5月31日12:13:09.437:I /振付家(698):スキップ64のフレームエラーを示す
package coma.exame.dbselect; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.app.Activity; import android.app.ProgressDialog; import android.graphics.Color; import android.os.AsyncTask; import android.os.Bundle; import android.os.StrictMode; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView; import android.widget.Toast; import android.widget.TableRow.LayoutParams; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class MainActivity extends Activity { InputStream is = null; String result = null; JSONObject contact = null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { new task().execute(); } }); } class task extends AsyncTask<String, String, String> { private ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);//private ProgressDialog progressDialog = new ProgressDialog(Login.this); protected String doInBackground(String... params) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();StrictMode.setThreadPolicy(policy); try{ HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://192.168.1.11/sqlserv/test.php"); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch(Exception e) { Log.e("log_bad_connection", "Error in http connection "+e.toString()); Toast.makeText(getApplicationContext(), "Tsy tafa ny connexion", Toast.LENGTH_SHORT).show(); } try { BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); StringBuilder sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result=sb.toString(); return result; } catch(Exception e) { Log.e("log_conversion_resultat", "Error converting result "+e.toString()); Toast.makeText(getApplicationContext(), " Input reading fail", Toast.LENGTH_SHORT).show(); } } protected void onPreExecute() { progressDialog.setMessage("Download data..."); progressDialog.show(); } protected void onPostExecute(String result) { JSONArray jArray = new JSONArray(result); TableLayout tv=(TableLayout) findViewById(R.id.table); tv.removeAllViewsInLayout(); for(int i=-1;i<jArray.length();i++) { TableRow tr = new TableRow(MainActivity.this); tr.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); try { JSONObject json_data = jArray.getJSONObject(i); TextView b=new TextView(MainActivity.this); String stime=String.valueOf(json_data.getString("AR_REF")); b.setText(stime); b.setTextColor(Color.BLACK); b.setTextSize(6); tr.addView(b); tv.addView(tr); final View vline1 = new View(MainActivity.this); vline1.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1)); vline1.setBackgroundColor(Color.RED); tv.addView(vline1); } } this.progressDialog.dismiss(); } catch(JSONException e) { Log.e("log_tag", "Error parsing data "+e.toString()); Toast.makeText(getApplicationContext(), "JsonArray fail", Toast.LENGTH_SHORT).show(); } } } }
マイlogcat! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:10.159:I/Choreographer(698):60フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:10.619:D/gralloc_goldfish(698):GPUエミュレーションのないエミュレータ が検出されました。 05-31 12:13:25.900:I/Choreographer(698):111 フレームをスキップしました!アプリケーションがメインの スレッドで多すぎる作業をしている可能性があります。 05-31 12:13:26.334:I/Choreographer(698):35フレームをスキップしました! アプリケーションは、メインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:26.808:I/Choreographer(698):50フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:27.214:I/Choreographer(698):106フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:27.413:I/Choreographer(698):41フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:27.613:I/Choreographer(698):32フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:27.844:I/Choreographer(698):58フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:28.113:I/Choreographer(698):59フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:28.364:I/Choreographer(698):57フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:28.634:I/Choreographer(698):55フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:28.894:I/Choreographer(698):62フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:29.178:I/Choreographer(698):64フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:29.484:I/Choreographer(698):75フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:29.754:I/Choreographer(698):57フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:30.034:I/Choreographer(698):35フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:30.294:I/Choreographer(698):53フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:30.573:I/Choreographer(698):スキップされた66フレーム! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 12:13:30.804:I/Choreographer(698):53フレームをスキップしました! アプリケーションがメインスレッドであまりにも多くの作業を行っている可能性があります。 05-31 ...
使用方法を教えてもらえますか?私のコードでPreExecuteメソッドを既に持っているので – Ratoj
いいえ。私たちはあなたのアプリケーションがメインスレッドであまりにも多くの作業をしていることを理解しています。 –
'ProgressDialog'が表示されていますか? –