您的位置:首页 > 理论基础 > 计算机网络

网络请求数据

2016-04-25 17:40 316 查看
比较难理解的是readSteam 

点击按钮提交账户和密码

这里没有进行验证 直接按照正确的格式写的所以bug很少


public class MainActivity extends AppCompatActivity {
private Button button = null;
private EditText name, pwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
name = (EditText) findViewById(R.id.name);
pwd = (EditText) findViewById(R.id.pwd);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

新开一个线程执行sendTomessage  然后star
new Thread() {
@Override
public void run() {
try {
SendToMessage();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
});

}

发送到服务器所用的基本方法,封装
public  void SendToMessage () throws IOException {

得到服务器的URL以及 服务器所设置的基本格式   

需要注意的是地址后面的参数第一个用? 隔开,以后所要传的参数用&  符号隔开,html貌似也是
String loginurl = "http://地址:8081/wulian1/servlet/MLogin?txt_name=" + name + "&txt_password=" + pwd;
URL url = new URL(loginurl);

建立连接
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();

请求方式 get  /post
httpURLConnection.setRequestMethod("GET");

响应码规定成功的话是200
int code = httpURLConnection.getResponseCode();
if (code==200)
{
InputStream inputStream = httpURLConnection.getInputStream();

//解析输入流得到一个result string类型
String result = readStread(inputStream);
Toast.makeText(this,"请输入用户名和密码",Toast.LENGTH_SHORT).show();

}

else

{

Log.e("dsddfds","-1")}

}

读取流的方法

默认格式不用解释
public static String readStread(InputStream is) {
StringBuffer sb = new StringBuffer("");
InputStream inputStream = is;
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(inputStream, "utf-8"));
String temp;
while ((temp = br.readLine()) != null) {
sb.append(temp);
}
} catch (Exception e) {
e.printStackTrace();
return "";
} finally {
try {
br.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}

}
如果要实现需要自己搭建个服务器建议用myeclipse 构建 

页面布局太简单就不一一写了


4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: