ellentby 2015-06-16 12:15 采纳率: 0%
浏览 2620

使用json包中的函数,提示source not found

开发安卓项目的时候,使用json包中的函数,例如JSONObject jsonObject = JSONObject.fromObject(result),就会报错。debug时显示source not found。logcat中的报错:图片说明

json相关的6个jar都已经加入build path。在其它的项目中都是好用的。为什么安卓里不行?

本人第一次开发安卓,纯小白,望大神指教,谢谢!


贴一下代码:
安卓客户端的:

    public boolean login(String phoneNumber, String pass) {     
        String path=ServerConfiguration.basicUrl + "/UserServlet";
        //将用户名和密码放入HashMap中
        Map<String,String> params=new HashMap<String,String>();
        params.put("phoneNumber", phoneNumber);
        params.put("passWord", pass);       
        String result = "";
        try {
            result = this.sendGETRequest(path,params,"UTF-8");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        if(result != ""){
            JSONArray jsonArray = null;
            try{
                JSONObject  jsonObject = JSONObject.fromObject(result);
                jsonObject.toJSONArray(jsonArray);
            }catch(Exception e){
                e.printStackTrace();
            }
            System.out.println(result);
            List<User> output = null;
            output = JSONArray.toList(jsonArray,User.class);
            UserData.user = output.get(0);
            ServerConfiguration.sessionId = UserData.user.getSessionId();
            return true;
        }
        return false;
    }

这个函数在点击登录按钮时被调用。
提交get请求后,可以正确返回json格式的result。
debug到这句话:JSONObject jsonObject = JSONObject.fromObject(result); 的时候报错:
图片说明

对应的服务器端的servlet:

 public class UserServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;   
    public UserServlet() {
        super();
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {      
        //规定编码
        request.setCharacterEncoding("UTF-8");
        response.setCharacterEncoding("UTF-8");
        response.setContentType("text/html;charset=utf-8");

        String phoneNumber = request.getParameter("phoneNumber");
        String passWord = request.getParameter("passWord");

        UserService userService = new UserService();
        User user = userService.selectUserByPhoneNumber(phoneNumber);

        if(user.getPassword().equals(passWord)){
            HttpSession session = request.getSession();
            user.setSessionId(session.getId());
            session.setAttribute("user", user);
            SessionData.addSession(session);

            JSONArray jsonArray = JSONArray.fromObject(user);
            response.getWriter().println(jsonArray.toString()); 
        }
    }   
    protected void doPost(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}
  • 写回答

2条回答 默认 最新

  • 背包下的影子 2015-06-16 13:03
    关注

    could not execute method of the activity
    在当前活动中不能执行该方法, 你这个方法是耗时操作吗? 还是仅仅就是数据的的封装?
    不知道你项目中的具体逻辑,

    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛