当前位置:编程学习 > wap >>

Android异步只能更新UI吗?

想实现的功能是:启动一个线程异步去网络取回一个String,将这个String作为另一个函数运行的参数使用,不需要去更新UI.

问:异步操作时,只能把获取的String用来去更新UI吗?能不能将String赋值给一个全局变量,用以其他函数使用。 --------------------编程问答-------------------- 当然可以了 --------------------编程问答-------------------- 可以的~~~ --------------------编程问答-------------------- 能说说怎么实现吗? --------------------编程问答-------------------- 肯定可以的了 --------------------编程问答-------------------- java里没有像C里的全局变量,在java里一个类的public static 的变量相当于全局变量,类名.变量名 就可以读写这个变量了 --------------------编程问答-------------------- 我试过全局变量了,不可以呀。 --------------------编程问答-------------------- 静态全局,或者就是单例啊 --------------------编程问答-------------------- 可以的 不过既然楼主要做全局变量了,纳开线程还有意义吗 --------------------编程问答-------------------- public class MainActivity extends Activity {
private Button button;
private static String strQj;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
MyYiBu myYiBu = new MyYiBu();
myYiBu.execute();
System.out.println("reslut:"+strQj);
}
});
}

class MyYiBu extends AsyncTask<String, Integer, String> {

@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
strQj="abc";
return null;
}

} --------------------编程问答-------------------- 输出结果第一次为空,后面就有值了,如何在第一次就可以取到值 呀?
06-26 22:18:31.440: I/System.out(2705): reslut:null
06-26 22:18:31.930: I/System.out(2705): reslut:abc
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,