如何在android中存储HTTP url的响应

如何在android中存储HTTP url的响应,android,html-parsing,httpresponse,Android,Html Parsing,Httpresponse,我正在构建一个android应用程序,用户在其中输入姓名、电子邮件ID,然后解析为URL,所有用户数据都存储在那里 现在,当用户发送此信息时,服务器上会生成一个ID,并将该唯一ID作为URL响应重新发送给我 如何获取此响应并将其存储。所以我可以用它作为我未来的用途 下面是我将此值解析为该URL的代码- private class DownloadJSON extends AsyncTask<String, String, String> { @Override pr

我正在构建一个android应用程序,用户在其中输入姓名、电子邮件ID,然后解析为URL,所有用户数据都存储在那里

现在,当用户发送此信息时,服务器上会生成一个ID,并将该唯一ID作为URL响应重新发送给我

如何获取此响应并将其存储。所以我可以用它作为我未来的用途

下面是我将此值解析为该URL的代码-

private class DownloadJSON extends AsyncTask<String, String, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        // Create a progressdialog

    }

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

        // Create an array
        //public String postData() {
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://URL/api/user");

          try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>2);
            nameValuePairs.add(new BasicNameValuePair("name", name));
            nameValuePairs.add(new BasicNameValuePair("email", email));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();

            InputStream parse = entity.getContent();

            return getStringFromInputStream(parse);

          } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
           } catch (IOException e) {
            // TODO Auto-generated catch block
          }

            return "No Result !";
        } 

         //convert InputStream to String
        private  String getStringFromInputStream(InputStream is) {

            BufferedReader br = null;
            StringBuilder sb = new StringBuilder();

            String line;
            try {

                br = new BufferedReader(new InputStreamReader(is));
                while ((line = br.readLine()) != null) {
                    sb.append(line);
                }

            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                if (br != null) {
                    try {
                        br.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }

            return sb.toString();
          }


    @Override
    protected void onPostExecute(String args) {

    }
}
私有类下载JSON扩展异步任务{
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
//创建一个progressdialog
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
//创建一个数组
//公共字符串postData(){
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://URL/api/user");
试一试{
//添加您的数据
List nameValuePairs=new ArrayList2);
添加(新的BasicNameValuePair(“name”,name));
添加(新的BasicNameValuePair(“email”,email));
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
InputStream parse=entity.getContent();
返回getStringFromInputStream(解析);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
返回“无结果!”;
} 
//将InputStream转换为字符串
私有字符串getStringFromInputStream(InputStream为){
BufferedReader br=null;
StringBuilder sb=新的StringBuilder();
弦线;
试一试{
br=新的BufferedReader(新的InputStreamReader(is));
而((line=br.readLine())!=null){
某人附加(行);
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
如果(br!=null){
试一试{
br.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
使某人返回字符串();
}
@凌驾
受保护的void onPostExecute(字符串参数){
}
}
我是android新手,请帮帮我!!

最好用一个众所周知的密钥保存所有内容

首先在SharedReferences中保存您的用户名和EmailId,类似

//Intialize it first
SharedPreferences sharedpreferences = getSharedPreferences("SOME_KEY", Context.MODE_PRIVATE);

//Use the Editor to put value inside this
Editor editor = sharedpreferences.edit();
//save both the name and email first 
editor.putString("NAME", name);
editor.putString("EMAILID", email);
//finally commit it
editor.commit();
现在做你的服务器部分

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

    // Create an array 
    //public String postData() { 
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost("http://URL/api/user");

      try { 
        // Add your data 
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>2);
        nameValuePairs.add(new BasicNameValuePair("name", name));
        nameValuePairs.add(new BasicNameValuePair("email", email));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request 
        HttpResponse response = httpclient.execute(httppost);
        String responseId = response.getEntity().getContent();

        //Just save your ID in the same sharedPreferences in UI Thread
        runOnUiThread(new Runnable(){
          public void run() { 
            Editor editor = sharedpreferences.edit();
            //save your ID now
           editor.putString("ID", responseId );
           editor.commit();
          } 
       }); 
       ..............................
       ..............................

您能帮我解决这个问题吗?-String responseId=response.getEntity().getContent();@qwertymaster行中的“类型不匹配:无法从InputStream转换为字符串”;@qwertymaster您可以使用这些解决方案中的任何选项..检查一次
      String id = sharedpreferences.getStringExtra("ID", "Some default value");