gpt4 book ai didi

java - Android - 将(字符串...路径)从 asynctask 更改为位于服务中的函数

转载 作者:行者123 更新时间:2023-12-01 13:14:11 25 4
gpt4 key购买 nike

我正在尝试获取 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 中后台函数中的 do 获取 - String... 路径。

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

感谢您的帮助

最佳答案

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

更改方法声明,以便传递数组

所以这个:

private String httpUploader (String path){

应该是这个

private String httpUploader (String[] paths){

或者你可以传递一个 ArrayList

关于java - Android - 将(字符串...路径)从 asynctask 更改为位于服务中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22592133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com