相关疑难解决方法(0)

如何将变量传入和传出AsyncTasks?

我没有花太多时间AsyncTasks在Android上工作.我试图了解如何将变量传入和传递给类.语法:

class MyTask extends AsyncTask<String, Void, Bitmap>{

     // Your Async code will be here

}
Run Code Online (Sandbox Code Playgroud)

它与< >类定义末尾的语法有点混淆.以前从未见过这种语法.似乎我只限于将一个值传递给AsyncTask.假设这个我不正确吗?如果我有更多要通过,我该怎么做?

另外,如何从AsyncTask返回值?

这是一个类,当你想使用它时,你会调用,new MyTask().execute()但你在课堂上使用的实际方法是doInBackground().那你在哪里实际归还的东西呢?

android android-asynctask

16
推荐指数
2
解决办法
4万
查看次数

从AsyncTask管理ProgressDialog的最佳方法

我想AsyncTask在我的应用程序中使用for来管理一些业务逻辑.使用separed文件onProgressUpdate(...)AsyncTask定义的方法的最佳模式是什么(不是作为一个类的Activity)我有两个想法:
1.最简单的方法:创建ProgressDialogin Activity(使用onCreateDialog(...)方法)并通过AsyncTask构造函数传递对我的子类的引用(覆盖onProgressUpdate(...)里面)我的AsyncTask子类).此解决方案的缺点是在业务逻辑代码中使用UI组件.

FooTask1.java:

public class FooTask1 extends AsyncTask<Void, Integer, Void> {
private ProgressDialog mProgressDialog;

public FooTask1(ProgressDialog progressDialog) {
    super();
    mProgressDialog = progressDialog;
}

@Override
protected Void doInBackground(Void... unused) {
    // time consuming operation
    for (int i=0; i<=100; i++) {
        this.publishProgress(i);
        try {
            Thread.sleep(100);
        } catch (Exception e) {}
    }
    return null;
}

@Override
protected void onProgressUpdate(Integer... progress) {
    mProgressDialog.setProgress(progress[0]);
} …
Run Code Online (Sandbox Code Playgroud)

android design-patterns android-asynctask

9
推荐指数
1
解决办法
7063
查看次数

AsyncTask RETURN值中的OnPostExcecute方法可以吗?

我正在开发一个Android应用程序,它需要使用AsyncTask进行网络连接.我从主线程调用它.因此doInBackground方法运行,然后返回onPostExecute方法.执行onPostExecute方法后,我想返回一个值回从那里它被称为活动,因为我要在那个特定的活动有一定的操作需要从onPostExecute方法的返回值.我该如何解决这个问题?如何从onPostExecute返回值?

提前致谢

android android-asynctask

7
推荐指数
2
解决办法
2万
查看次数

从另一个类调用AsyncTask

在现有的应用程序中,我有一个内部类的活动,它扩展了AsyncTask,如下所示:

public class Activity_1 extends BaseActivity {
    ....
    new async().execute();
    ...

    public class asyncextends AsyncTask<Void, Void, String> {
        protected String doInBackground(Void... progress) { ... }
        protected void onPreExecute() { ... }
        protected void onPostExecute(String result) { ... }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要从另一个活动调用相同的doInBackground方法,但是onPostExecute()这个内部类的操作在一些本地UI变量上,因此不可能在clas之外使用它.有没有什么方法可以调用这个AsyncTask,只是覆盖onPostExecuteonPreExecute-method,或者我应该在另一个活动中创建另一个内部类,做同样的背景事情(当然把它移到普通的实用程序类或者什么)等等......?

android android-asynctask

7
推荐指数
2
解决办法
3万
查看次数

如何使用Android在后台调用URL?

我希望通过调用服务器上的webservice的URL链接将userdata插入数据库:例如:这是链接:

http://mydomain.com/AndroidWebService.asmx/nInsertInfo?id=12&lat=23.2222&log=12322
Run Code Online (Sandbox Code Playgroud)

所以我想以隐藏模式调用此URL.

android

2
推荐指数
1
解决办法
7754
查看次数

doInBackground完成后启用按钮

一旦doInBackground()完成后我想从我的主要活动中启用几个按钮!有人可以让我知道怎么做吗?

因为它不是一个班级,所以我不能用它findViewByID()来让AsyncTask班级上的按钮可见activity!:/

java android android-asynctask

-1
推荐指数
1
解决办法
563
查看次数