android-数据存储之远程服务器存储

Posted 循吏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android-数据存储之远程服务器存储相关的知识,希望对你有一定的参考价值。

待续....

 

public class MainActivity extends Activity {

 private TextView tv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv=(TextView) findViewById(R.id.textView1);
    }

    public void testGet(View v) throws Exception{
     
      final ProgressDialog dialog=ProgressDialog.show(this, null, "正在请求中...");
     new Thread(){
      public void run() {
       String path="http://192.168.56.1:8080/Web_Server/index.jsp?name=tom&age=23";
          URL url;
    try {
     url = new URL(path);
     HttpURLConnection huc= (HttpURLConnection)url.openConnection();
           huc.setRequestMethod("GET");
           huc.setConnectTimeout(5000);
           huc.setReadTimeout(6000);
           huc.connect();
           
           //发送请求
           int responseCode=huc.getResponseCode();
           if (responseCode==200) {
      InputStream is=huc.getInputStream();
      ByteArrayOutputStream baos=new ByteArrayOutputStream();
      byte[] buffer=new byte[1024];
      int len=-1;
      while((len=is.read(buffer))!=-1){
       baos.write(buffer, 0, len);
      }
      final String reault=baos.toString();
      baos.close();
      is.close();
      
      //在主线程更新ui
      runOnUiThread(new Runnable() {
       
       @Override
       public void run() {
        tv.setText(reault);
        dialog.dismiss();
       }
      });
      //断开连接
      huc.disconnect();
     }
           
    } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     dialog.dismiss();
    }
          
          
      }
     }.start();
     
     
     
    }
   
    public void testPost1(View v){
     final ProgressDialog dialog=ProgressDialog.show(this, null, "正在请求中...");
     new Thread(){
      public void run() {
       String path="http://192.168.56.1:8080/Web_Server/index.jsp";
          URL url;
    try {
     url = new URL(path);
     HttpURLConnection huc= (HttpURLConnection)url.openConnection();
           huc.setRequestMethod("POST");
           huc.setConnectTimeout(5000);
           huc.setReadTimeout(6000);
           huc.connect();
           OutputStream os=huc.getOutputStream();
           String data="name=tom5&age=11";
           os.write(data.getBytes("utf-8"));
           //发送请求
           int responseCode=huc.getResponseCode();
           if (responseCode==200) {
      InputStream is=huc.getInputStream();
      ByteArrayOutputStream baos=new ByteArrayOutputStream();
      byte[] buffer=new byte[1024];
      int len=-1;
      while((len=is.read(buffer))!=-1){
       baos.write(buffer, 0, len);
      }
      final String reault=baos.toString();
      baos.close();
      is.close();
      
      //在主线程更新ui
      runOnUiThread(new Runnable() {
       
       @Override
       public void run() {
        tv.setText(reault);
        dialog.dismiss();
       }
      });
      //断开连接
      huc.disconnect();
     }
           
    } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     dialog.dismiss();
    }
          
          
      }
     }.start();
     
    }
   
    public void testGet2(View v) throws Exception{
     
     final ProgressDialog dialog=ProgressDialog.show(this, null, "正在请求中...");
    new Thread(){
     public void run() {
      String path="http://192.168.56.1:8080/Web_Server/index.jsp?name=tom&age=23";
         
    try {
     //创建Client对象
     HttpClient httpClient=new DefaultHttpClient();
     //设置超时
     HttpParams params=httpClient.getParams();
     HttpConnectionParams.setConnectionTimeout(params, 5000);
     HttpConnectionParams.setSoTimeout(params, 5000);
     //创建请求对象
     HttpGet request=new HttpGet(path);
     //执行请求对象
     HttpResponse response=httpClient.execute(request);
     
     int statusCode=response.getStatusLine().getStatusCode();
     if (statusCode==200) {
      //得到响应文本
      HttpEntity entity=response.getEntity();
      final String result=EntityUtils.toString(entity);
      
      //在主线程更新ui
      runOnUiThread(new Runnable() {
       
       @Override
       public void run() {
        tv.setText(result);
        dialog.dismiss();
       }
      });
     }
     
            
      
      //断开连接
      httpClient.getConnectionManager().shutdown();
     } catch (Exception e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
     dialog.dismiss();
    }
     }
       
    }.start();    
   }
   
    public void testPost2(View v){
      final ProgressDialog dialog=ProgressDialog.show(this, null, "正在请求中...");
         new Thread(){
          public void run() {
           String path="http://192.168.56.1:8080/Web_Server/index.jsp";
              
         try {
          //创建Client对象
          HttpClient httpClient=new DefaultHttpClient();
          //设置超时
          HttpParams params=httpClient.getParams();
          HttpConnectionParams.setConnectionTimeout(params, 5000);
          HttpConnectionParams.setSoTimeout(params, 5000);
          //创建请求对象
          HttpPost request=new HttpPost(path);
          //设置请求体
          List<BasicNameValuePair> parameters=new ArrayList<>();
          parameters.add(new BasicNameValuePair("name", "tom4"));
          parameters.add(new BasicNameValuePair("age", "14"));
          HttpEntity entity=new UrlEncodedFormEntity(parameters);
          request.setEntity(entity);
          
          //执行请求对象
          HttpResponse response=httpClient.execute(request);
          
          int statusCode=response.getStatusLine().getStatusCode();
          if (statusCode==200) {
           //得到响应文本
           HttpEntity entity2=response.getEntity();
           final String result=EntityUtils.toString(entity2);
           
           //在主线程更新ui
           runOnUiThread(new Runnable() {
            
            @Override
            public void run() {
             tv.setText(result);
             dialog.dismiss();
            }
           });
          }
          
                 
           
           //断开连接
           httpClient.getConnectionManager().shutdown();
          } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
          dialog.dismiss();
         }
          }
            
         }.start();
    }
}
































































































































































































































以上是关于android-数据存储之远程服务器存储的主要内容,如果未能解决你的问题,请参考以下文章

远程服务器存储之JSON

数据储存——远程服务器存储——框架方式

04_数据存储

在 Android 中将 Sqlite 数据库与远程服务器同步

远程服务器存储之JDK的get请求方式

Android 应用程序以异步方式将数据同步到远程服务器