Tag: android asynctask

AsyncTasks不会被收集,导致其他AsyncTasks无法运行

我的应用程序使用了很多AsyncTasks。 毕竟它是一个网络应用程序。 当我跟踪Debug选项卡时,我注意到每个AsyncTask都说在它后面运行,在5个AsyncTasks之后,我无法启动任何AsyncTasks。 我通过将执行程序更改为THREAD_POOL_EXECUTOR来修复它,它允许合并15个线程。 但AsyncTasks仍显示为正在运行。 AsyncTasks中都有InputStreams,其中有BufferedReaders来读取JSON,但我从不在Streamer和Readers上调用close()方法。 这可能是它,或者AsyncTask在完成之后无论如何收集? 如果这是交易,那为什么我不能在我的应用程序中运行超过5个AsyncTasks? 看到我对此表示赞赏,我将更明确地解释这一点 AsyncTasks都经历了他们的方法。 除了使用不同的BasicNameValuePairs之外,所有这些都以相同的方式BasicNameValuePairs 。 我100%确定代码中没有容易出错的错误。 以下是其中一个AsyncTasks的示例: private class RunningEvent extends AsyncTask { @Override protected void onPreExecute() { if (Constants.isOnline(getApplicationContext())) { super.onPreExecute(); } else { Toast.makeText(getApplicationContext(), “No internet connection”, Toast.LENGTH_LONG).show(); return; } } @Override protected Response doInBackground(Void… empty) { HttpClient client = new DefaultHttpClient(); HttpPost post = new […]

Android – loopJ AsyncHttpClient返回响应onFinish或onSuccess

我正在寻找一种方法来返回我在loopJ AsyncHttpClient onFinish或onSuccess或onFailure中得到的响应。 截至目前,我有这段代码: **jsonParse.java file** public class jsonParse { static JSONObject jObj = null; static String jsonString = “”; AsyncHttpClient client; public JSONObject getJSONObj() { RequestParams params; params = new RequestParams(); params.add(“username”, “user”); params.add(“password”, “password”); client = new AsyncHttpClient(); client.post(“http://example.com”, params, new TextHttpResponseHandler() { @Override public void onSuccess(int i, Header[] headers, String response) { […]

轻松创建“加载”动画

我有一个android listView ,每个项目都有一个图像。 图像加载需要一段时间。 如何在每次加载图像时添加“加载”动画? 我应该使用.gif吗? 或者创建我自己的动画并在onPostExecute()上停止它? 如果我使用“picasso”,我怎么能这样做,因为所有异步任务都是开发人员的黑盒子,我不能停止任何动画?

无法将AsyncTask的响应发布到MainActivity

我是Android应用程序开发的新手。 当用户点击按钮时,请查找我的AsyncTask代码以连接URL。 package in.mosto.geeglobiab2bmobile; import java.io.IOException; import java.net.HttpURLConnection; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import android.os.AsyncTask; public class OnbuttonclickHttpPost extends AsyncTask { @Override protected String doInBackground(String… params) { byte[] result = null; String str = “”; // […]

Android从AsyncTask调用notifyDataSetChanged

我有一个自定义ListAdapter,它在AsyncTask中从Internet获取数据。 数据完全添加到列表中,但是当我尝试执行操作时,应用程序崩溃了…… 我确定这是因为我正在调用notifyDataSetChanged(); 在错误的时间(即在AsyncTask结束之前)。 我现在得到了什么: public class MyListAdapter extends BaseAdapter { private ArrayList mStrings = new ArrayList(); public MyListAdapter() { new RetreiveStringsTask().execute(internet_url); //here I call the notify function **************** this.notifyDataSetChanged(); } class RetreiveStringsTask extends AsyncTask<String, Void, ArrayList> { private Exception exception; @Override protected ArrayList doInBackground(String… urls) { try { URL url= new URL(urls[0]); //return arraylist […]

如何在HttpURLConnection中添加AsyncTask?

我正在建立一个服务器连接,我的问题是我需要在我的代码上放一个AsyncTask ,因为它不能在sdk版本10 。 我不想使用StrictMode.ThreadPolicy 。 public class TestConnection extends Activity { @Override public void onCreate(Bundle cbundle) { super.onCreate(cbundle); ConnectivityManager aConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo aNetworkInfo = aConnectivityManager.getActiveNetworkInfo(); if (aNetworkInfo != null && aNetworkInfo.isConnected()){ Toast.makeText(this, “Internet Connected”, Toast.LENGTH_LONG).show(); }else{ Toast.makeText(this, “Internet Connection Timeout”, Toast.LENGTH_LONG).show(); } URL aURL; /* Will be filled and displayed later. */ String […]

Google Analytics(分析) – 在AsyncTask中发送的NetworkOnMainThreadException

我必须在我正在处理的应用中实施Google Analytics。 我正在使用Android Studio。 我不太确定我是否应该从每个Activity实现发送跟踪器,或者如果在Application class执行一次就足够了,但这是另一个故事。 目前,Google Analytics在Application class 。 它尝试连接到某些东西(虽然我已设置dryRun ),失败,然后什么也没说,除非我导致我的应用程序崩溃。 然后,当它尝试调度事件时,我收到NetworkOnMainThreadException错误。 尝试在dryRun上调度事件的dryRun ,导致NetworkOnMainThreadException不会减少? 在dryRun上它不应该把所有东西都发送到dryRun吗? 我应该如何在dryRun上处理它而不是? 起初我尝试实现它,没有额外的AsyncTask类,假设我将所有内容转储到Logcat,但是当我第一次得到NetworkOnMainThreadException错误时,我实现了AsyncTask类。 logcat的: 01-15 13:06:21.835 1787-1800/com.example.app W/GAV4﹕ Thread[GAThread,5,main]: Service unavailable (code=1), will retry. 01-15 13:06:26.847 1787-1808/com.example.app W/GAV4﹕ Thread[Service Reconnect,5,main]: Service unavailable (code=1), using local store. 01-15 13:07:12.695 1787-1787/com.example.app E/GAV4﹕ Thread[main,5,main]: Error dispatching all events on exit, giving up: android.os.NetworkOnMainThreadException […]

带有ProgressDialog的外部AsyncTask类

**更新:(见下文)**我一直在寻找几天,但找不到对此的直接答案。 有人说有可能有人说完成一些说它不是。 我对此感到疯狂。 我想要的只是让AsyncTaskTask显示进度条和外部类。 要做到这一点,我正在传递上下文,你可以在主类中看到。 但无论我尝试什么,我都会得到NullPointerException 。 工作代码示例表示赞赏。 谢谢 顺便使用Android 2.2。 主要: import android.app.Activity; import android.os.Bundle; public class AsyncDemo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); new AsyncClass(this).execute(); } } AsyncClass.java import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.os.SystemClock; public class AsyncClass extends AsyncTask { private Context context; ProgressDialog dialog = […]

使用AsyncTask进行android网络连接

我在使用AsyncTask时遇到了一些麻烦,因为我之前从未遇到过它并且不知道我在做什么。 基本上我得到一个力量关闭,因为我试图在主类上运行连接。 有人可能会帮助我在代码中添加AsyncTask : package com.smarte.smartipcontrol; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class IPControl extends Activity { private Socket socket; private String serverIpAddress; private static final int REDIRECTED_SERVERPORT = 32; public PrintWriter out; public […]