2012-06-25 3 views
1

안드로이드에서 PHP 스크립트로 json으로 데이터를 게시하려고하는데, 보내고있는 데이터를 읽지 않는 것 같습니다.json 안드로이드에서 PHP 입력

PHP

header('Content-type: application/json'); 
$json = file_get_contents('php://input'); 
print_r($json); 

데이터

{"Date":"2012-05-31","Device_ID":"soaptester","Time":"15:22:59","Longitude":0.33,"Latitude":51.01} 

자바 난 그냥로부터 데이터를 수신하지 않는 이유를 찾을 수 없습니다 테스트의 부하 후

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    sp = getSharedPreferences("SoapTester", Context.MODE_PRIVATE); 
    setContentView(R.layout.main); 
    String address = sp.getString("address", null); 
    if (address == null) { 
     sp.edit().putString("address", "http://192.168.0.8/lt_data/test.php").commit(); 
    } 

    addressTextView = (EditText) findViewById(R.id.address); 
    addressTextView.setOnEditorActionListener(new TextView.OnEditorActionListener() { 

     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      sp.edit().putString("address", String.valueOf(v.getText())).commit(); 
      return true; 
     } 
    }); 

    track = new LocationTrack(); 
    track.setDate("2012-05-31"); 
    track.setTime("15:22:59"); 
    track.setLatitude(51.01); 
    track.setLongitude(0.33); 
    track.setDevice_ID("soaptester"); 

    output = new Gson().toJson(track); 

    outputTextView = (TextView) findViewById(R.id.output); 
    outputTextView.setText(output); 

} 

@Override 
protected void onResume() { 
    super.onResume(); 
    addressTextView.setText(sp.getString("address", "")); 
} 

public void sendPost(View view) { 

    ServiceResponse r = Resting.post(sp.getString("address", ""), 80, output, EncodingTypes.UTF8); 
    ((TextView)findViewById(R.id.response)).setText(String.valueOf(r)); 

} 

안드로이드 응용 프로그램.

+0

코드에서 코드를 액세스하기 전에'$ json = json_decode ($ json); '을 놓쳤습니까? 그리고 print_r ($ json);에 대한 결과는 무엇입니까? – lisachenko

+0

@Alexander 실제로 저장 목적 (임시)을 위해 .txt 파일에 데이터를 게시하는 아래에 더 많은 코드가 있습니다. – Xavier

+0

'file_get_contents ('php : // input')'에서 얻은 것이 있습니까? 여기에 올바른 문자열이 있다면 PHP 코드에 문제가있는 것입니다. 그렇다면 문제는 Android의 앱 부분에 있습니다. – lisachenko

답변

0

json 메시지를 제대로 보내고 있는지 확인하기 위해 netcat과 같은 도구를 사용해보십시오. 또는 네트워크 트래픽 (wireshark, tcpdump)에 대한 일부 도구를 사용해보십시오.

관련 문제