Tag: android asynctask

如何同步两个异步任务?

我的问题是我有两个异步任务,它们进行一种矩阵乘法。 因此,两个任务都访问相同的矩阵。 一个是上部,另一个是下部。 对于内存保存问题,我使用ArrayLists并删除不需要更长时间的条目。 问题在于,在两个任务中都存在循环运行,并且在该循环结束时它应该等待另一个任务。 但我不知道该怎么做。 任务1: protected Void doInBackground(Void… paramArrayOfParams) { android.os.Debug.waitForDebugger(); for(j=1; j<(size+1); j++) { …. try{ othertask.wait(); }catch(InterruptedException e){} //wait for other task(); } 任务2: protected Void doInBackground(Void… paramArrayOfParams) { android.os.Debug.waitForDebugger(); for(j=1; j<(size+1); j++) { …. notifyAll(); //notifythatroundisfinished(); } 我试图使用通知和等待,但似乎这不是解决问题。 我不知道可以用来解决问题的任何其他方法。 在两个任务都在运行时,实际上是否有可能等待另外两个任务?

如何从另一个类访问ArrayList?

我有一个ArrayList : ArrayList cars = new ArrayList(); 我使用AsyncTask填充了我的MainActivity.java onCreate方法: new fillCars().execute(); 我想要的是在名为ModifyCars.java其他类中使用这个ArrayList cars 。 我的问题是,在AsyncTask它在onCreate方法上执行,在所有类MainActivity.java ,ArrayList cars都填充它,我可以使用它里面的数据但是当我将它传递给ModifyCars.java时它的大小等于0 。 我用来传递这个ArrayList的方法来创建类MainActivity.java的空构造函数并创建一个get方法。 在ModifyCars.java类中,我创建了一个MainActivity对象,并尝试使用之前创建的get方法。 这里是我用于此目的的代码: 在MainActivity.java public MainActivity(){ } //Here the method onCreate public ArrayList getCars(){ return cars; } 在ModifyCars.java MainActivity MA = new MainActivity(); Log.d(“prove”,Integer.toString(MA.getCars().size())); //Here the size it’s 0 如何在我的ModifyCars.java类中使用我的cars ArrayList(当然,已填充)? 我究竟做错了什么? 我在互联网上搜索但没有任何对我有用。 任何帮助都会非常感激。 提前致谢!

Android如何实现AsyncTask的并行执行

我需要允许多个AsyncTask同时运行。 这是我的AsyncTask: private void callAPI(String user_id) { new AsyncTask() { protected String doInBackground(Void… parameters) { List params = new ArrayList(); params.add(new BasicNameValuePair(“user_id”, user_id)); return api.post(“”, params); }//end doInBackground protected void onPostExecute(String result) { Log.i(TAG + “POST() => ” + result); }//end onPostExecute }.execute(); //end AsyncTask } 我看到了run-multiple-asynctasks的答案,但我不知道如何使用它。 如何在AsyncTask中实现以下代码: @TargetApi(Build.VERSION_CODES.HONEYCOMB) // API 11 void startMyTask(AsyncTask asyncTask) […]

如何使用AsyncTask类更新复制文件另一个目录的进度?

嗨,大家可以告诉我,我应该如何使用AsyncTask类加上进度条来执行文件到手机SD卡本地上下文中的另一个目录的复制过程? 我已经看到了一个类似的例子[这里] [1],但我不知道如何结合差异/修改代码的上下文以适应我的上下文使其工作?

如何使用AlarmManager在AsyncTask中下载失败时运行重试

我使用AlarmManager来运行试图从Web下载文件的服务。 如果失败了,我想在5分钟内重试该服务。 在服务内部我运行AsyncTask来运行我的代码。 据我所知,我可以判断它是否失败的唯一方法是来自onPostExecute() 。 再次实施该服务重试的最佳方法是什么?

如何从Android应用程序中的异步任务返回位图

好的,所以这段代码就在Android Developer网站上,它将ImageView设置为Bitmap : class BitmapWorkerTask extends AsyncTask { private final WeakReference imageViewReference; private int data = 0; public BitmapWorkerTask(ImageView imageView) { // Use a WeakReference to ensure the ImageView can be garbage collected imageViewReference = new WeakReference(imageView); } // Decode image in background. @Override protected Bitmap doInBackground(Integer… params) { data = params[0]; return decodeSampledBitmapFromResource(getResources(), data, […]

Android将数据从主UI线程发送到另一个线程

我需要将一些数据从主线程发送到另一个线程。 我已经阅读了很多关于线程,asynctasks和处理程序的资料,但也许他们给我带来了一些困惑。 我读到我需要为我的’第二个线程’创建一个Handler,以便我可以从主线程向它发送消息(现在我不担心将任何内容发送回主线程)。 我需要第二个线程连接到服务器(通过套接字)并在某些用户事件上发送一些日期。 我试图以有效的方式(不要打开/关闭不必要的套接字连接)。 所以我想知道我应该在哪里打开socket命令? 此外,在我的处理程序的handleMessage()方法中,我需要对套接字输出流的引用,以便将数据发送到服务器。 我目前有以下代码: protected void initThread(){ this.thread = new HandlerThread(WorkerHandler.class.getCanonicalName()){ @Override public void run() { super.run(); try{ handler = new WorkerHandler(getLooper()); }catch(Exception e){ e.printStackTrace(); } } }; this.thread.start(); } 方法initThread()在我的activity的onCreate()方法中调用。 以下是我的自定义处理程序类的代码: public class WorkerHandler extends Handler { protected Socket socket; protected BufferedWriter writer; public WorkerHandler(Looper looper) throws Exception{ super(looper); this.socket […]

AsyncTask在后台运行时看不到ProgressDialog

我在我的应用程序中使用AsyncTask下载URL。 我在onPreExecute()上使用ProgressDialog进行等待。 但是我在进程结束时看不到ProgressDialog,我看了一会儿。 想要在下载之后看到它。 谁能帮我。 谢谢我的代码是这样的: private class loadMoreListView extends AsyncTask { @Override protected void onPreExecute() { // Showing progress dialog before sending http request pDialog = new ProgressDialog(SingleMenuItemActivity.this); pDialog.setMessage(“Please Wait …”); pDialog.isIndeterminate(); pDialog.setCancelable(false); pDialog.show(); } protected Void doInBackground(Void… unused) { runOnUiThread(new Runnable() { public void run() { // do something for downloading } }); […]

将列表视图的数据从Asynctask传递到自定义列表适配器类

我需要帮助传递自定义列表视图的数据,我似乎无法将数据从asynctask传递到其他java类。 这是我的代码: import android.app.Activity; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.widget.AdapterView; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import com.dmo.d2d.R; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class Inventory extends Activity { //Variables!!!!!!!!! // url to get all products […]

在java服务器中发送edittext时出错。 看代码

这是我的工作代码。 但是,当我尝试单击将我的客户端连接到端口的按钮时,我的应用程序崩溃了。 看我的代码。 public class Order extends Activity { Button GoBackHome; private Button button1, button3; private EditText txtbox1,txtbox2,txtbox3,txtbox4,textField; private TextView tv; Button PayNow; CheckBox chxbx1, chxbx2, chxbx3,chxbx4; @Override public void onBackPressed() { } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.order); GoBackHome = (Button) findViewById(R.id.gohomebutton); PayNow = (Button) findViewById(R.id.button2); txtbox1= (EditText) findViewById(R.id.editText1); button1 = (Button) […]