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();
    }
}

时间: 2024-10-07 05:06:31

android-数据存储之远程服务器存储的相关文章

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

JDK方式 API 一.URL 1.new  URL("http://网络资源路径") 2.openConnection(),返回URLConnection对象 二.HttpURLConnection 1.setRequestMethod(“GET”/“POST”):设置请求方式 2.setConnectTimeout(毫秒数):设置连接超时时间 3.setReadTimeout(毫秒数):设置读超时时间 4.connect( ):连接服务器,发送请求 5.getOutputStrea

远程服务器存储之JDK方式

一.API 1.new  URL("http://网络资源路径") 2.openConnection(),返回URLConnection对象 二.HttpURLConnection 1.setRequestMethod(“GET”/“POST”):设置请求方式 2.setConnectTimeout(毫秒数):设置连接超时时间 3.setReadTimeout(毫秒数):设置读超时时间 4.connect( ):连接服务器,发送请求 5.getOutputStream( ):得到连接输

数据存储——远程服务器存储——JDK的get请求方式

一.HTTP协议 1.超文本传输协议 2.支持客户端/服务器端模式 3.内容 1-请求协议 1>请求报文格式 1>-请求行:请求方式  请求资源名  协议版本号; 2>-请求消息头 3>-请求体 2>请求方式 1>-POST:请求内容在请求体里,以键=值的形式,键值对之间用&间隔;长度不受限制,保密性高. 2>-GET:请求内容在URL后面用?开始,以键=值的形式,键值对之间用&间隔:请求报文没有请求体:请求数据的长度受到浏览器的限制:请求数据保密

数据储存——远程服务器存储——JSON

JSON 一.特点 1.JavaScript Object Notation 2.一种轻量级的数据交互格式 二.格式 1.[ ] 数组:[value1, value2, value3...] 2.{ } 对象:{key1:value1, key2:value2, key3:value3,...} 1-key:字符串,表示对象的属性 2-value:表示属性的值 数据类型:数值,字符串,null,json数组,json对象. 三.API 1.Android原生 2.第三方框架 1 <?xml ve

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

一.Volley 1.特点 ①轻量级的Android网络通信库 ②适合数量不大但通信频繁的场景 2.API 1.RequestQueue ①请求队列 ②Volley.newRequestQueue(context) 创建或得到请求队列    单例模式 ③add(Request)添加请求到队列中 2.Request ①封装请求的基类 ②子类 1)StringRequest  返回字符串的请求 构造方法: new  StringRequest(get_path,正常响应监听,异常响应监听)   实现

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

一.HTTP协议 1.超文本传输协议 2.支持客户端/服务器端模式 3.内容 1-请求协议 1>请求报文格式 1>-请求行:请求方式  请求资源名  协议版本号; 2>-请求消息头 3>-请求体 2>请求方式 1>-POST:请求内容在请求体里,以键=值的形式,键值对之间用&间隔;长度不受限制,保密性高. 2>-GET:请求内容在URL后面用?开始,以键=值的形式,键值对之间用&间隔:请求报文没有请求体:请求数据的长度受到浏览器的限制:请求数据保密

远程服务器存储之JSON

一.特点 1.JavaScript Object Notation 2.一种轻量级的数据交互格式 二.格式 1.[ ] 数组:[value1, value2, value3...] 2.{ } 对象:{key1:value1, key2:value2, key3:value3,...} 1-key:字符串,表示对象的属性 2-value:表示属性的值 数据类型:数值,字符串,null,json数组,json对象. 三.API 1.Android原生 2.第三方框架 JSON代码展示: 1 <?x

远程服务器存储之框架方式的get和post请求方式

一.Volley 1.特点 1-轻量级的Android网络通信库 2-适合数量不大但通信频繁的场景 2.API 1-RequestQueue 1>请求队列 2>Volley.newRequestQueue(context)  :创建或得到请求队列并且是单例模式 3>add(Request):添加请求到队列中 2-Request 1>封装请求的基类 2>子类 1>-StringRequest:返回字符串的请求 构造方法:1-new StringRequest(get_pa

WCF LIST 传输大数据,远程服务器返回了意外响应 400

WCF传输LIST 大数据量 出现 远程服务器返回了意外响应 400 错误提示. 出现这个问题,各种搜索,都没有解决问题,而且有些都比较复杂,自己琢磨了一下,其实也不是很难,好了,看下面方案.解决方案:在web.config(host)端<system.serviceModel>节中, 增加 services 节 如下:<services>      <service behaviorConfiguration="app.dcgkbehavior" nam