php代码:
<?php
$response = array();
$client_username = $_GET['username'];
$client_pwd = $_GET['pwd'];
$name = 'weizhi';
$pwd = '111111';
if($client_username == $name && $client_pwd == $pwd){
$response['code'] = 1;
$response['message'] = '登录成功';
//echo json_encode($response);
exit(json_encode($response));
}else{
$response['code'] = 1;
$response['message'] = '登录失败';
//echo就是相当于将内容响应出去了 json_encode将数据转换成json字符串
//这个在移动端需要将这个json字符串转换成json对象 然后在里面取响应的字段的值,否则汉字显示不出来
echo json_encode($response);
}
// echoing JSON response
//echo '<br>';
//$arr=json_decode($str);//再进行json解码
//print_r($arr);//打印解码后的数组,数据存储在对象数组中
//echo '使用$arr->row[0]->code输出数组元素:'.$arr->row[0]->code;
?>
Android端的代码:
public class MainActivity extends AppCompatActivity {
private final OkHttpClient client = new OkHttpClient();
private EditText m_obj_username;
private EditText m_obj_code;
private Button m_obj_login;
private TextView m_obj_result;
private String result = null;
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what){
case 0:
try {
JSONObject dataJson = new JSONObject(result);
<span style="white-space:pre"> </span>//如果不将后台返回的json字符串转换成json对象再取字段值,而是直接打印result,则汉字就会显示成这样:"\u767b\u5f55\u5931\u8d25""
m_obj_result.setText(dataJson.getString("message"));
} catch (JSONException e) {
e.printStackTrace();
}
break;
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
m_obj_username = (EditText) this.findViewById(R.id.id_username);
m_obj_code = (EditText) this.findViewById(R.id.id_usercode);
m_obj_login = (Button) this.findViewById(R.id.id_login);
m_obj_result = (TextView) this.findViewById(R.id.id_result);
m_obj_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
new Thread(new Runnable() {
@Override
public void run() {
try {
execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
});
}
public void execute() throws Exception {
//String url = "http://192.168.10.70/handleForm/test.php?username=weizhi&pwd=11111";
String url ="http://192.168.10.70:80/handleForm/test.php?username="+m_obj_username.getText().toString()+"&pwd="+m_obj_code.getText().toString();
Request request = new Request.Builder()
.url(url)
.build();
final Response response = client.newCall(request).execute();
if(response.isSuccessful()){
result = response.body().string();
handler.sendEmptyMessage(0);
}else{
response.message();
}
}
}
成功后的截图:
关联:
1、exit print echo的区别
http://www.4u4v.net/php-output-function-echo-print-printf-die-uses-the-difference-between-such.html