各位大大好,又来问问题了
目前android还是初心者但PHP算是熟的状态
排版烂先说抱歉
想问android的问题:
我现在想做的是登入系统用POST传帐号密码给PHP再回传OK之类的
让android端可以判断后登入到主页
但是好像POST传值后android端就不会做事了想要解决这个问题
我可以接收值 也可以POST传值
但要把这两件事写在同一个执行绪就不会了
附上程式码
也是网络上拿来改一下的
这是要读取用的java
只取连线的一部分不是完整程式码
这一段我可以读PHP echo的内容
private Runnable mutiThread = new Runnable(){
public void run()
{
try {
URL url = new URL("要连结的PHP");
// 开始宣告 HTTP 连线需要的物件,这边通常都是一綑的
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 建立 HttpURLConnection 物件
connection.setRequestMethod("POST");
// 设定连线方式为 POST
connection.setDoOutput(true); // 允许输出
connection.setDoInput(true); // 允许读入
connection.setUseCaches(false); // 不使用快取
connection.connect(); // 开始连线
int responseCode =connection.getResponseCode();
// 建立取得回应的物件
if(responseCode ==
HttpURLConnection.HTTP_OK){
// 如果 HTTP 回传状态是 OK ,而不是 Error
InputStream inputStream = connection.getInputStream();
// 取得输入串流
BufferedReader bufReader = new BufferedReader(new InputStreamReader(inputStream, "utf-8"), 8);
// 读取输入串流的资料
String box = ""; // 宣告存放用字串
String line = null; // 宣告读取用的字串
while((line = bufReader.readLine()) != null) {
box += line + "\n";
// 每当读取出一列,就加到存放字串后面
}
inputStream.close(); // 关闭输入串流
result = box; // 把存放用字串放到全域变量
}
// 读取输入串流并存到字串的部分
} catch(Exception e) {
result = e.toString(); // 如果出事,回传错误讯息
}
// 当这个执行绪完全跑完后执行
runOnUiThread(new Runnable() {
public void run() {
data.setText(result); // 更改显示文字
}
});
}
};
另外一个是用POST新增资料到数据库的
Toast就不会显示 可能是在执行绪的关系 我想看result但是那一段好像没有执行
还是result是空的
如果能接收result那我的问题大概解决
private Runnable mutiThread = new Runnable(){
public void run(){
try{
// 地址
final String PostUrl = "新增资料的PHP";
// 建一个Http请求
HttpPost httprequest = new HttpPost(PostUrl);
List postparams = new ArrayList();
postparams.add(new BasicNameValuePair("user",user.getText().toString()));
// 添加必须的参数
postparams.add(new BasicNameValuePair("password",password.getText().toString()));
httprequest.setEntity(new UrlEncodedFormEntity(postparams, HTTP.UTF_8));
HttpResponse httpResponse = new DefaultHttpClient().execute(httprequest);
// 发送请求
// 返回的内容
String result = EntityUtils.toString(httpResponse.getEntity());
Toast.makeText(当前页面.this,result,Toast.LENGTH_SHORT).show();
}catch (Exception e) {
}
}};