Android -改变(字符串..路径)从asynctask转换为位于服务端的函数



我试图采取asynctask代码,并将其转换为一个函数,将运行在一个服务类。

asynctask代码像这样开始-

    public class HttpUploader extends AsyncTask<String, Void, String> {
            @Override
             protected String doInBackground(String... path) {
                 String outPut = null;
                 for (String sdPath : path) {
                     Bitmap bitmapOrg = BitmapFactory.decodeFile(sdPath);
                     ByteArrayOutputStream bao = new ByteArrayOutputStream();
                     //rest of the code

现在我试着把它转换成一个函数-像这样-

     private String httpUploader (String path){
     String outPut = null;
         for (String sdPath : path) {
         Bitmap bitmapOrg = BitmapFactory.decodeFile(sdPath);
         ByteArrayOutputStream bao = new ByteArrayOutputStream();
上面的代码显示了路径出错,在- 行
 for (String sdPath : path) 

当站在上面时-它说-"只能迭代数组或java.lang的实例…"

所以我想这个问题是因为在asynctask的后台函数做得到-字符串…路径。

那么我可以用什么改变它来消除这个错误呢?

感谢您的帮助

当你使用这样的for循环时,编译器需要一个数组(或其他可以迭代的类型),而不仅仅是一个字符串。

改变你的方法声明,让你传递一个数组来代替

:

private String httpUploader (String path){

应该是这个

private String httpUploader (String[] paths){

或者你可以传递一个ArrayList

相关内容

  • 没有找到相关文章

最新更新