1

我正在尝试使用下面的代码在用户登录时获取分配给用户的所有角色。

public class roles extends AsyncTask <String,Void,Void>{

       @Override
       protected Void doInBackground(String... params) {

           final CloudUser user = new CloudUser();
           final CloudRole role = new CloudRole("MCA");

           user.setUserName(params[0]);
           user.setPassword(params[1]);


               try {
                   user.logIn(new CloudUserCallback() {
                       @Override
                       public void done(CloudUser cloudUser, CloudException e) throws CloudException {
                           if (cloudUser != null) {
                               System.out.println("login Successful");
                               System.out.println(cloudUser.getUserName());
                               cloudUser.isInRole(role);
                           }
                           if (e != null) {
                               System.out.println("In logn exception");
                               e.printStackTrace();
                           }


                       }
                   });
               } catch (CloudException e) {
                   e.printStackTrace();
               }


               return null;
       }
    }

我收到以下错误:

致命异常:AsyncTask #1 进程:com.rakesh_kr.image,PID:31256 java.lang.RuntimeException:在 java.os.AsyncTask$3.done(AsyncTask.java:300) 处执行 doInBackground() 时发生错误。 util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 在 java.util.concurrent.FutureTask.setException(FutureTask.java:222) 在 java.util.concurrent.FutureTask.run(FutureTask.java:242) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818) 原因:java.lang.ClassCastException: io.cloudboost.json.JSONArray 不能转换为 io.cloudboost 的 java.util.ArrayList .CloudUser.isInRole(CloudUser.java:335) 在 com.rakesh_kr.image.MainActivity$roles$1.done(MainActivity.java:174) 在 io.cloudboost.CloudUser.logIn(CloudUser.java:219) 在 com.rakesh_kr.image.MainActivity$roles。 doInBackground(MainActivity.java:168) 在 com.rakesh_kr.image.MainActivity$roles.doInBackground(MainActivity.java:155) 在 android.os.AsyncTask$2.call(AsyncTask.java:288) 在 java.util.concurrent。 FutureTask.run(FutureTask.java:237) 在 android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run( ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)1112) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:818)

4

1 回答 1

0

JavaSDK这是 CloudBoost之前的版本中出现的错误,v1.0.7已修复,请从github克隆最新的源或获取最新的源,这些源jar(1.0.7)应该在几个小时后在maven上可用。

于 2016-04-06T13:53:36.087 回答