Android 台灣中文網
標題:
【急】為什麼HTTP Request無法對PHP存取?
[打印本頁]
作者:
abcd30282000
時間:
2013-4-3 21:09
標題:
【急】為什麼HTTP Request無法對PHP存取?
我想要簡單設計一個 Android 系統登入的介面
可是為什麼一直沒有辦法連上?
程式碼我也是直接複製網路上的範例
發文的人都說可以
可是我實際執行起來卻不行
我也有在 AndroidManifest 加入存取網路的 permission
程式碼如下:
---------------------------------
public class MainActivity extends Activity {
private static final String URL = "http://140.121.196.8/WS/login.php";
private EditText valueA;
private EditText valueB;
private Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
valueA = (EditText) findViewById(R.id.editText1);
valueB = (EditText) findViewById(R.id.editText2);
button1 = (Button) findViewById(R.id.button1);
button();
}
private void button() {
button1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
HttpClient client = new DefaultHttpClient();
try {
HttpPost post = new HttpPost(URL);
List< NameValuePair> vars=new ArrayList< NameValuePair>();
vars.add(new BasicNameValuePair("account",valueA.getText().toString()));
vars.add(new BasicNameValuePair("password",valueB.getText().toString()));
post.setEntity(new UrlEncodedFormEntity(vars,HTTP.UTF_8));
ResponseHandler< String> h=new BasicResponseHandler();
String response=new String(client.execute(post,h).getBytes(),HTTP.UTF_8);
Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "沒有回應。", Toast.LENGTH_LONG).show();
}
}
});
}
}
---------------------------------
程式跑出來都只會直接到 catch 那邊用 Toast 顯示「沒有回應。」
好像都沒有進入到 try 的部分
怎麼會這樣?
作者:
whl
時間:
2013-4-3 21:09
請善用 thread 來存取 網路。
作者:
whl
時間:
2013-4-4 08:29
那是因為 android 版本的問題,新版不支援 ui 下存取網路。
作者:
xjxuvup
時間:
2013-4-9 08:19
Android 3.0以後在onCreate裡面執行網路動作的話,Android會丟出一個Exception,叫做NetworkOnMainThreadException,如果你在3.0以上的機子上跑,就會出現無法讀取得結果,遇到這種問題,有兩三種解決方式,第一種就是樓上講的使用執行緒,第二種是在onCreate加入一段語法,第三種我沒印象了,相關的資料你可以把例外的名字,key到google查解決方式
作者:
whl
時間:
2013-4-9 19:39
第三種應該就是 android:targetSdkVersion設定成10或9啦。
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1