Android向node.js编写的服务器发送数据并接收请求
程序员文章站
2023-12-13 18:21:58
本文实例为大家分享了android九宫格图片展示的具体代码,供大家参考,具体内容如下
首先时node.js服务器端代码
var http = require("...
本文实例为大家分享了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); } }); } }
最后是结果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。