当前位置: 移动技术网 > IT编程>移动开发>Android > Android向node.js编写的服务器发送数据并接收请求

Android向node.js编写的服务器发送数据并接收请求

2019年07月24日  | 移动技术网IT编程  | 我要评论

本文实例为大家分享了android九宫格图片展示的具体代码,供大家参考,具体内容如下

首先时node.js服务器端代码

var http = require("http"); 
var fs = require("fs"); 
var querystring = require('querystring'); 
var url = require('url'); 
var util = require('util'); 
 
http.createserver(function (request, response) { 
 // 定义了一个post变量,用于暂存请求体的信息 
 var post = ''; 
 request.on('data', function(chunk){ 
  post += chunk; 
 }); 
// 在end事件触发后,通过querystring.parse将post解析为真正的post请求格式,然后向客户端返回。 
 request.on('end', function(){ 
  post = querystring.parse(post); 
  console.log("请求结束"+post.body); 
  response.writehead(200, {"content-type": "text/plain;charset=utf8"}); 
  response.write("请求成功"); 
  response.end(); 
 }); 
 
}).listen(8888); 
console.log("服务器启动"); 
 
function writefile(str) { 
 fs.writefile('e:/log.txt', str, function (err) { 
  if (err) { 
   return console.error(err); 
  } 
  console.log("数据写入成功!"); 
 }) 
} 

然后是android部分

package com.example.hanbo.servertest; 
 
import android.support.v7.app.appcompatactivity; 
import android.os.bundle; 
import android.view.view; 
import android.widget.button; 
import android.widget.textview; 
 
import org.json.jsonobject; 
 
import java.io.bufferedreader; 
import java.io.bufferedwriter; 
import java.io.ioexception; 
import java.io.inputstream; 
import java.io.inputstreamreader; 
import java.io.outputstream; 
import java.io.outputstreamwriter; 
import java.io.unsupportedencodingexception; 
import java.net.httpurlconnection; 
import java.net.malformedurlexception; 
import java.net.protocolexception; 
import java.net.url; 
import java.net.urlencoder; 
 
public class mainactivity extends appcompatactivity { 
private textview textview; 
 @override 
 protected void oncreate(bundle savedinstancestate) { 
  super.oncreate(savedinstancestate); 
  setcontentview(r.layout.activity_main); 
   textview= (textview) findviewbyid(r.id.textview); 
  button button= (button) findviewbyid(r.id.button); 
  button.setonclicklistener(new view.onclicklistener() { 
   @override 
   public void onclick(view view) { 
    textview.settext("开始请求"); 
    new thread(new runnable() { 
     @override 
     public void run() { 
      httpurlconnection connection = null; 
      url url = null; 
      try { 
       url = new url("http://192.168.1.177:8888"); 
       connection = (httpurlconnection) url.openconnection(); 
       connection.setrequestmethod("post"); 
       connection.setconnecttimeout(8000); 
       connection.setreadtimeout(8000); 
       connection.setrequestproperty("content-type","application/json"); 
       outputstream outputstream=connection.getoutputstream(); 
       bufferedwriter requestbody=new bufferedwriter(new outputstreamwriter(outputstream)); 
       string str = urlencoder.encode("抓哇", "utf-8"); 
       requestbody.write("name=javapost&body=1"); 
       requestbody.flush(); 
       requestbody.close(); 
       getresponsejava(connection); 
      } catch (malformedurlexception e) { 
       e.printstacktrace(); 
      } catch (protocolexception e) { 
       e.printstacktrace(); 
      } catch (ioexception e) { 
       e.printstacktrace(); 
      } 
     } 
    }).start(); 
   } 
  }); 
 } 
 
 private void getresponsejava(httpurlconnection urlconnection) { 
   inputstream in = null; 
   try { 
    in = urlconnection.getinputstream();//响应 
   } catch (ioexception e) { 
    urlconnection.disconnect(); 
    //textview.settext(e.getmessage()); 
    return; 
   } 
   bufferedreader reader = null; 
   try { 
    reader = new bufferedreader(new inputstreamreader(in,"utf-8")); 
   } catch (unsupportedencodingexception e1) { 
    e1.printstacktrace(); 
   } 
   final stringbuilder result = new stringbuilder(); 
   string tmp = null; 
   try { 
    while((tmp = reader.readline()) != null){ 
     result.append(tmp); 
    } 
   } catch (ioexception e) { 
    //textview.settext(e.getmessage()); 
    return; 
   } finally { 
    try { 
     reader.close(); 
     urlconnection.disconnect(); 
    } catch (ioexception e) { 
    } 
   } 
   runonuithread(new runnable() { 
    @override 
    public void run() { 
     textview.settext(result); 
    } 
   }); 
 
  } 
 } 

最后是结果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网