シンプルな GPS トラッカーを作成しています。アプリケーションは gps 緯度/経度を取得し、リモート サーバー上の php に送信します。
@Override
public void onLocationChanged(Location loc)
{
String infLat = Double.toString(loc.getLatitude());
String infLon = Double.toString(loc.getLongitude());
String Text = "My current location is: " +
"Latitud = " + infLat +
"Longitud = " + infLon;
Toast.makeText( getApplicationContext(),
Text,
Toast.LENGTH_SHORT).show();
uploadLoc(infLat, infLon); // calling method which sends location info
}
そしてここにuploadLocがあります:
public void uploadLoc(String a, String b) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://link to script");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("latitude", a));
nameValuePairs.add(new BasicNameValuePair("longitude", b));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
//
} catch (IOException e) {
//
}
}
しかし、「アプリケーションが停止しました」というメッセージが頻繁に表示されます。uploadLoc メソッドを呼び出している行を削除すると、すべてが機能し、場所が変更されると Toast が更新されます。ここで何が問題なのですか?