Java Android-将(字符串…路径)从asynctask更改为位于服务的函数
我试图获取asynctask代码并将其转换为将在服务类上运行的函数 asynctask代码是这样开始的-Java Android-将(字符串…路径)从asynctask更改为位于服务的函数,java,android,android-asynctask,Java,Android,Android Asynctask,我试图获取asynctask代码并将其转换为将在服务类上运行的函数 asynctask代码是这样开始的- public class HttpUploader extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... path) { String outPut =
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中,backround函数中的do得到-String。。。路径
那么,为了消除这个错误,我可以用什么来改变它呢
感谢您提供的任何帮助当您使用这样的for循环时,编译器希望使用数组(或您可以迭代的另一种类型),而不仅仅是字符串 更改方法声明,以便改为传递数组 因此:
private String httpUploader (String path){
应该是这个吗
private String httpUploader (String[] paths){
或者你可以通过你的例子传递一个ArrayListAny我知道我还需要将for行中的路径更改为path,对吧@4不可以。如果传递数组,其余代码应该可以正常工作。如果您只想使用一条路径,那么应该删除`for(String sdPath:path)`作为替代