1

telnet を使用して場所が変更されたときに、xml ファイルの 2 つの変数 (lat と longi) をローカル サーバーに送信し、クライアント コードを calle d に送信したいと考えています。場所を変更すると、「残念ながら、あなたのアプリは停止しました」と表示されます。ポスト方式を採用しています。私はアンドロイドのクライアントサーバーコードの初心者です。誰か助けてください....

これは私のコードです

String responseBody;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /* Use the LocationManager class to obtain GPS locations */
    LocationManager mlocManager =
    (LocationManager)getSystemService(Context.LOCATION_SERVICE);
    LocationListener mlocListener = new MyLocationListener();
    mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

/* Class My Location Listener */
public class MyLocationListener implements LocationListener
{
    double lat, longi;

public void onLocationChanged(Location loc)    {
    lat = loc.getLatitude();
    longi = loc.getLongitude();
    String Text = "My current location is: "+"Latitude = "+lat+"Longitude = "+longi;
    Toast.makeText( getApplicationContext(), Text, Toast.LENGTH_LONG).show();


    // problem starts here
     try 
    { 
    String s = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" 
                   +"<lat>" + lat +"</name>\n" 
                   +"<long>" + longi + "</number>\n"; 
    String url = "http://localhost:8080/android/test.php?data="+s; 
    HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httpPost = new HttpPost(URI.create(url)); 
     httpPost.setHeader("Content-type","text/xml; charset=ISO-8859-1"); 
    ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
    responseBody = httpclient.execute(httpPost, responseHandler); 
    } 

    catch(IOException e) 
    { 
    e.printStackTrace(); 
    } 

}

public void onProviderDisabled(String provider)    {
    Toast.makeText( getApplicationContext(), "Gps Disabled", Toast.LENGTH_SHORT ).show();
}

public void onProviderEnabled(String provider)    {
    Toast.makeText( getApplicationContext(), "Gps Enabled", Toast.LENGTH_SHORT).show();
}

public void onStatusChanged(String provider, int status, Bundle extras)
{

}


}/* End of Class MyLocationListener */
4

0 に答える 0