本文介绍了Android的AsyncTask的例子和说明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想使用的AsyncTask
在我的应用程序,但我无法找到一个code段与事物是如何工作的一个简单的解释。我只是想要的东西帮我拿回去的速度很快,而不必涉水通过文档或大量的Q&放大器;至于一次。
I want to use an AsyncTask
in my app but I am having trouble finding a code snippet with a simple explanation of how things work. I just want something to help me get get back up to speed quickly without having to wade through the documentation or lots of Q&As again.
推荐答案
下面是一个骨骼code与说明概要:
Code:
Here is a skeletal code outline with explanations:
public class AsyncTaskTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// This starts the AsyncTask
// Doesn't need to be in onCreate()
new MyTask().execute("my string paramater");
}
// Here is the AsyncTask class:
//
// AsyncTask<Params, Progress, Result>.
// Params – the type (Object/primitive) you pass to the AsyncTask from .execute()
// Progress – the type that gets passed to onProgressUpdate()
// Result – the type returns from doInBackground()
// Any of them can be String, Integer, Void, etc.
private class MyTask extends AsyncTask<String, Integer, String> {
// Runs in UI before background thread is called
@Override
protected void onPreExecute() {
super.onPreExecute();
// Do something like display a progress bar
}
// This is run in a background thread
@Override
protected String doInBackground(String... params) {
// get the string from params, which is an array
String myString = params[0];
// Do something that takes a long time, for example:
for (int i = 0; i <= 100; i++) {
// Do things
// Call this to update your progress
publishProgress(i);
}
return "this string is passed to onPostExecute";
}
// This is called from background thread but runs in UI
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
// Do things like update the progress bar
}
// This runs in UI when background thread finishes
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// Do things like hide the progress bar or change a TextView
}
}
}
流图:
下面是用于帮助说明,所有的参数和类型会:
Flow Diagram:
Here is a diagram to help explain where all the parameters and types are going:
- What参数传递到AsyncTask的&LT; ARG1,ARG2,ARG3&GT ;?
- Slidenerd的Android AsyncTask的教程:Android的初学者教程
- 安卓:为什么,何时以及如何使用AsyncTask的使用例子
- <一个href="http://androidresearch.word$p$pss.com/2012/03/17/understanding-asynctask-once-and-forever/">Understanding AsyncTask的 - 一劳永逸
- <一个href="http://androidresearch.word$p$pss.com/2013/05/10/dealing-with-asynctask-and-screen-orientation/">Dealing与AsyncTask的和屏幕方向
- 如何将多个参数传递给AsynkTask
- how在两个不同的数据类型传递给AsyncTask的,Android的
- What arguments are passed into AsyncTask<arg1, arg2, arg3>?
- Slidenerd Android AsyncTask Tutorial: Android Tutorial For Beginners
- Android: Why, When and How to use AsyncTask with example
- Understanding AsyncTask – Once and Forever
- Dealing with AsyncTask and Screen Orientation
- How to pass multiple parameters to AsynkTask
- how to pass in two different data types to AsyncTask, Android
这篇关于Android的AsyncTask的例子和说明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!