将对象从服务器传递到android

时间:2017-06-09 14:59:19

标签: java android web-services server

我有一个Java servlet Web服务器和一个相互通信的android应用程序。将自定义对象(EX:User对象)从服务器传递到android的正确方法是什么。

实施例: 用户通过Android设备登录,用户的电子邮件和密码被发送到服务器进行身份验证。服务器现在需要将用户对象发送回Android设备。

如果您可以附加一个示例或链接到教程,这将是伟大的。

2 个答案:

答案 0 :(得分:1)

https://www.youtube.com/watch?v=Gyaay7OTy-w

创建一个扩展AsyncTask的类 实现覆盖方法(Alt + Insert) 在背景中做: 建立http网址连接

try {
            URL url=new URL(urladdress);


            HttpURLConnection con= (HttpURLConnection)url.openConnection();

            con.setRequestMethod("GET");
            con.setRequestMethod("POST")
            con.setDoOutput(true);

            con.setDoInput(true);
            return con;
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

现在从此连接下载数据

if(con==null) {
            Toast.makeText(ctx,"Connection is null",Toast.LENGTH_LONG).show();


        }

    try{
        InputStream is = new BufferedInputStream(con.getInputStream());
        BufferedReader br = new BufferedReader(new InputStreamReader(is));

        String line;
        StringBuffer jsonData= new StringBuffer();

        while ((line=br.readLine())!=null)
        {

            jsonData.append(line+"/n");
        }
        br.close();
        is.close();
        return jsonData.toString();

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

现在解析这个jsonData

try{

            JSONArray ja = new JSONArray(jsonData);
            JSONObject jo = null;
            //parse Data

            }

在onPostExecute中调用将接收数据的必需java文件 编写一个脚本,用于转换从服务器恢复的数据并以json格式发送数据

注意 - 这些代码属于三个不同的类,所以不要尝试复制/粘贴

答案 1 :(得分:1)

使用Retrofit,非常简单明了。

Retrofit几乎提供了所有API来进行服务器调用和接收响应。在内部,他们也使用GSON进行解析。你可以通过官方网站获得更多信息和教程。

希望有所帮助