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

问题描述

使用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);
    }
}

解决方案

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

解决方案二:

你把这部分相关的代码,拿出来粘贴让大家看看,错误显示不能执行这个方法。

时间: 2025-01-14 16:03:24

build path-使用json包中的函数,提示source not found的相关文章

r-R包中的函数用不了 无法连接

问题描述 R包中的函数用不了 无法连接 情况如图 用了ggplot包的函数结果出错了 网上查了下好像要翻墙 但是小白一枚 不懂 求详细指导 解决方案 把你的CRAN mirror换成国内的应该就可以了. 解决方案二: 另外,应该是ggplot2,不是ggplot

Go语言的os包中常用函数初步归纳_Golang

(1)os.Getwd函数原型是func Getwd() (pwd string, err error) 返回的是路径的字符串和一个err信息,为什么先开这个呢?因为我看os的包的时候第一个是Chkdir这个包,但是你不知道当前目录怎么知道改变目录了呢?所以先说Getwd() 函数demo 复制代码 代码如下: import (  "fmt"  "os" ) func main() {  dir, _ := os.Getwd()  fmt.Println("

android 导入libs中的os然后build path add iar后项目包红色感叹号

问题描述 Description    Resource    Path    Location    Type Archive for required library: 'libs/armeabi/libhyphenate_av.so' in project 'mychattest' cannot be read or is not a valid ZIP file     Build path    Build Path Problem 解决方案 解决方案二:这个里面的能实现语音聊天吗?我

java-在eclipse中导入压缩包时,为什么Build Path后解压缩的文件里没有原来压缩包里的类

问题描述 在eclipse中导入压缩包时,为什么Build Path后解压缩的文件里没有原来压缩包里的类 加载驱动程序时,需要com.mysql.jdbc.Driver类,mysql-connector-java.zip下是有这个类的,但是Build Path后,Reference Library里却没有任何类,怎么办 解决方案 zip压缩包跟jar包还是有区别的,建议你直接导入mysql-connector-java.jar. 解决方案二: zip包识别不出来的吧,都是引用jar包的. 解决方

PL/SQL --&amp;gt; 动态SQL调用包中函数或过程

      动态SQL主要是用于针对不同的条件或查询任务来生成不同的SQL语句.最常用的方法是直接使用EXECUTE IMMEDIATE来执行动态SQL语句字符串或字符串变量.但是对于系统自定义的包或用户自定的包其下的函数或过程,不能等同于DDL以及DML的调用,其方式稍有差异.如下见本文的描述.       有关动态SQL的描述,请参考:           PL/SQL --> 动态SQL           PL/SQL --> 动态SQL的常见错误   1.动态SQL调用包中过程不正确

xposed-android中负责http包处理的函数是什么?

问题描述 android中负责http包处理的函数是什么? 最近在写一个hook 想从手机端抓去数据包 但是不太清楚要hook哪个函数

MyEclipse 项目导入jar包后就不能对其进行修改了,build path的按钮是灰色的。

问题描述 MyEclipse 项目导入jar包后就不能对其进行修改了,build path的按钮是灰色的. myeclipse版本10 重新安装后仍然这样~~ 解决方案 没遇到过呢?不知道,你在试试 解决方案二: 难道你忘了怎么创建的包吗 解决方案三: 应该是你操作方式的问题,,

用什么办法(函数)顺序读出获取的JSON格式中的关键字

问题描述 比如数组中内容可以拿索引获取:Map集合通过keySet()函数可以返回该Map中所有key所组成的Set集合.那么有什么办法(函数)顺序读出获取的JSON格式中的关键字,从而可以得到对应数值. 解决方案 var arr = {'a':1,'b";2,'c':3};for(var i in arr){ alert(i+":"+arr[i]);}

ajax中eval()解析函数(json反馈值)函数字符串解析 报错问题

ajax中eval()解析函数(json反馈值)函数字符串解析 报错问题 在一个ajax效果实现的时候,火狐报错,内容意思大概是"函数字符串解析错误",于是用alert(),发现 var result = eval(xmlhttp.responseText); 这句eval函数报错,xmlhttp.responseText可以正常弹出,但只要是eval函数一解析,就会报错,并且不显示数据:蛋疼的我只好在一般处理程序中开始设置断点,查询错误,不知道原因的我一开始就将问题锁定在了反馈值这上