K i*_*ere 1 android android-asynctask android-activity
我是android开发的新手.我正在使用asynctask方法来调用我的函数.一切正常,但我不知道为什么函数确实返回数据和android studio为什么会出现此错误
> Error:(182, 9) error: missing return statement
Run Code Online (Sandbox Code Playgroud)
当我删除 return null;
这里是代码我希望你能理解我的问题是什么
public class YourAsyncTask extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... strings) {
//Call getData function from here
getData();
return null;
}
@Override
protected void onPostExecute(String lenghtOfFile) {
// do stuff after posting data
}
}
Run Code Online (Sandbox Code Playgroud)
你的方法签名
您实现的方法签名doInBackground()如下:
protected String doInBackground(String...strings)
Run Code Online (Sandbox Code Playgroud)
方法签名分为访问修饰符,返回类型,标识符和参数.您的实现的返回类型doInBackground()是String.
Android AsyncTask
官方文件说明:
异步任务由3种泛型类型定义,称为Params,Progress和Result
这些是在扩展AsyncTask类时定义的,就像您已经完成的那样:
public class YourAsyncTask extends AsyncTask<String, String, String>
Run Code Online (Sandbox Code Playgroud)
第三个参数是结果类型,如此处所指定的那样String.此类型是您的实现必须返回的类型doInBackground()
这意味着你的实现doInBackGround() 必须返回一个类型的值String.返回null也是可以接受的(它是任何对象数据类型的有效值).通过删除return null,您的方法不会返回任何产生您看到的错误消息的值.
这可能有助于理解Java中方法的结构.
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |