Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从AsyncTask返回arraylist?_Php_Android_Mysql_Android Asynctask - Fatal编程技术网

Php 如何从AsyncTask返回arraylist?

Php 如何从AsyncTask返回arraylist?,php,android,mysql,android-asynctask,Php,Android,Mysql,Android Asynctask,我有一个问题是:我必须从android中获取mysql中的一些数据,为此我使用php,但由于我使用android 4.0,因此需要执行AsyncTask。问题是我不知道如何返回结果arraylist 您可以创建接口,将其传递给异步任务(在构造函数中),然后在onPostExecute中调用方法 例如: 您的界面: public interface OnTaskCompleted{ void onTaskCompleted(values); } 您的活动: public YourActi

我有一个问题是:我必须从android中获取mysql中的一些数据,为此我使用php,但由于我使用android 4.0,因此需要执行
AsyncTask
。问题是我不知道如何返回结果
arraylist

您可以创建
接口
,将其传递给
异步任务
(在构造函数中),然后在
onPostExecute中调用方法

例如:

您的界面:

public interface OnTaskCompleted{
    void onTaskCompleted(values);
}
您的活动:

public YourActivity implements OnTaskCompleted{
    //your Activity
    YourTask  task = new YourTask(this); // here is the initalization code for your asyncTask
}
你的任务是:

public YourTask extends AsyncTask<Object,Object,Object>{ //change Object to required type
    private OnTaskCompleted listener;

    public YourTask(OnTaskCompleted listener){
        this.listener=listener;
    }

    //required methods

    protected void onPostExecute(Object o){
        //your stuff
        listener.onTaskCompleted(values);
    }
}
publicYourTask扩展了AsyncTask{//将对象更改为所需类型
私有OnTaskCompleted侦听器;
公共任务(OnTaskCompleted侦听器){
this.listener=listener;
}
//必要的方法
受保护的void onPostExecute(对象o){
//你的东西
onTaskCompleted(值);
}
}

一种方便的方法是将AsyncTask设置为活动类中的匿名类。然后在onPostExecute方法中,您可以从创建异步任务的方法中访问属于Activity+final对象的所有字段。

阅读文档,使用onPostExecute…我应该在哪里创建接口?存储return arraylist的变量是什么?如您所愿,对于您,我认为您可以将其设置为arraylist。我应该在OnTaskCompleted接口中还是在我的主要活动中创建arraylist?在活动中,您应该执行(实现OnTaskCompleted),这意味着将有函数OnTaskCompleted(arraylist)…因此通过调用listener.OnTaskCompleted(arraylist)您正在呼叫活动的onTaskCompleted并传递阵列我该如何做?对不起,我是新来的