나는이 포럼을 오랫동안 사용하고 있습니다. 우선, 도와 주셔서 고맙다고 말씀 드리고 싶습니다. 나에게 많은 시간. 내가 처음으로 대답을 찾지 못해서 나를 놀라게했다. ...PHP로 안드로이드에서 데이터를 게시
DB에서 /로 데이터를 가져 오거나 가져 오는 슈퍼 간단한 응용 프로그램을 작성하려고합니다. 문제는 데이터를 게시 할 수 없다는 것입니다. 나는 안드로이드 장치에서 데이터를 가져 와서 DB로 보내야하는 PHP 파일을 사용하고 있습니다. 처음에는 PHP 파일에 게시 할 수 없습니다. 나는 그것의 모든 것을 (내가 아는) 시도했다.
는 PHP는
$test=$_POST['v']; print $_POST['v'];
는 자바가
공공 무효 postData를()가 ClientProtocolException, IOException가 슬로우 {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("https://www.myweb.coom/test.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1);
nameValuePairs.add(new BasicNameValuePair("v", "123"));
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
httpclient.execute(post);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
내가 로그인을했습니다. *이 저를 보여
을 파일 - 파일 - 영원히 괜찮습니다. ... PHP는 어떤 데이터를 얻을하지 않는 것 같다편집 ASYNTASK ----- 공용 클래스 업로드 AsyncTask를 확장 {
@Override
protected String doInBackground(String... params) {
try {
JSONObject json = new JSONObject();
json.put("UserName", "test2");
json.put("FullName", "1234567");
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
10000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
HttpClient client = new DefaultHttpClient(httpParams);
//
String url = "http://my WAMP server/test.php"+
"json={\"UserName\":1,\"FullName\":2}";
HttpPost request = new HttpPost(url);
request.setEntity(new ByteArrayEntity(json.toString().getBytes(
"UTF8")));
request.setHeader("json", json.toString());
HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
// If the response does not enclose an entity, there is no need
if (entity != null) {
InputStream instream = entity.getContent();
String result = "gr8 Success";
Log.i("Read from server", result);
}
} catch (Throwable t) {
Log.e("Request failed: " ,"ERR"+ t.toString());
}
}
}
MainActivity-
public void postData(View v) { //starts on button click
if(upload!=null){
if(upload.getStatus()!= AsyncTask.Status.FINISHED){
Log.d("postData","no need to start AsyncTask");
return;
}
}
upload= new Upload();
upload.execute();
Log.i("Async", "Starting...");
}
PHP- $ json = $ _GET [ 'json']; $ obj = json_decode ($ json);
$posts = array(1);
header('Content-type: application/json');
echo json_encode(array('posts'=>$posts));
가 아니라 웹으로 동적으로 PHP 파일에 쓰려고합니까 작성해야합니까? 어쩌면 그냥 파일에 쓰도록 만들어야합니다. –
에뮬레이터에서 코드를 실행하고 wireshark에서 트래픽을 덤프하십시오. 이렇게하면 문제를 해결하는 데 도움이됩니다. – rekire
나는 그것을 그것을 위해 파일에 쓰고있다. 다른 것들은 ... 에뮬레이터를 사용하지 않고 장치를 사용하고 있습니다. – AndroAid