异步任务的3个参数,可变长参数
来源:互联网 发布:mac os x10.8.5下载 编辑:程序博客网 时间:2024/04/27 18:33
- Params是指调用execute()方法时传入的参数类型和doInBackgound()的参数类型
- Progress是指更新进度时传递的参数类型,即publishProgress()和onProgressUpdate()的参数类型
- Result是指doInBackground()的返回值类型,同时也是onPostExecute的入参类型
可变长参数: 底层就是一个数组,只能出现在方法的形参里,不能定义
1)可变长参数的方法只有在必须的时候才会调用,如果有确切匹配的不可变
参数的方法,会优先选择不可变参数的方法;
2)如果两个方法都是可变长参数,都能匹配时,会编译通不过;编译器不知道调用哪个;
3)一个方法只能有一个可变长参数,并且这个可变长参数必须是该方法的最后一个参数;
例子:
main 方法就是将若干个字符串封装成数组
String[] 与 String... 是一样的;不能重载;
依次拿到每个值,包装成数组,然后再用到方法里;
m1(String[] str)
m2(String... str)
差别:但是如果写的是String[] 时,传参数时不能一起传多个;m1(str1,str2)
可以这样传:m1(new String[]{str1,str2});
而String... 则可以传多个参数;m2(str1,str2)
也可以这样传:m2(new String[]{str1,str2});
class HttpconTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... params) { String strJson = ""; try { URL url = new URL(params[0]); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); InputStream inputStream = conn.getInputStream(); strJson = new String(getStringByte(inputStream)); } catch (Exception e) { e.printStackTrace(); } return strJson; } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Log.d("zy",s); } @Override protected void onProgressUpdate(Void... values) { super.onProgressUpdate(values); }}
String strUrl = "http://apis.juhe.cn/cook/query.php";new HttpconTask().execute(strUrl);
0 0
- 异步任务的3个参数,可变长参数
- python的可变长参数
- Python的可变长参数
- 可变长参数
- 可变长参数
- java 可变长参数
- 可变长参数函数
- 可变长参数函数
- 可变长参数列表
- 可变长参数示例
- 函数可变长参数
- 可变长参数
- Java 可变长参数
- 可变长参数列表
- Python可变长参数
- 可变长参数
- 可变长参数的函数的写法
- Java可变参数/可变长参数
- opencv:把三通道图转换成灰度图、二值图
- 查看linux cpu和内存利用率__linux - top命令
- angularjs里面的$routeProvider 里的resolve
- 30天自制操作系统——用U盘启动自制系统
- 通过 WebBrowser 获取网页截图(第二种)
- 异步任务的3个参数,可变长参数
- 记一次ListView性能优化全过程
- 解决CC2540 XDATA内存不足
- mysql事务和锁InnoDB
- 在一地,做一事
- 文章标题
- android.support.v7.internal.app.WindowDecorActionBar
- Stanford机器学习---第十三讲.大规模机器学习
- 通知 notification