以前こちら
https://teratail.com/questions/26472
で質問させていただいて、回答に取得した現在位置をサーバーに送信する。とありました。
そこで実際に試してみようと思い、以前使っていたAndroid端末を準備しました。
サーバーはAWSを使おうと思います。
初歩的で申し訳ないのですが、Android端末からGPS情報を取得しAWSに送るにはどのようにするのでしょうか?
インターネットで調べたところ、gps情報を発信するためのコードがありました。こちらのコードを使って送信したいと考えています。
LocationSenderService.javaファイルに
private final String server = "http://192.168.0.4/";
とあるので、こちらのURLをAWSに変更すれば送れるものなのでしょうか?
HTMLとCSSについてはある程度わかるのですが、それ以外については操作したことがありません。
先ほど、Androidstudioをインストールしたレベルです。。。
JAVA
1 2**GPSTest1.java** 3 4package com.example.gpstest1; 5import android.os.Bundle; 6import android.app.Activity; 7import android.content.Intent; 8import android.view.Menu; 9import android.view.View; 10import android.view.View.OnClickListener; 11import android.widget.Button; 12import android.widget.Toast; 13 14public class GPSTest1 extends Activity implements OnClickListener { 15 16 private Button btnSendStart; 17 private Button btnSendStop; 18 19 @Override 20 protected void onCreate(Bundle savedInstanceState) { 21 super.onCreate(savedInstanceState); 22 setContentView(R.layout.activity_gpstest1); 23 24 btnSendStop = (Button)findViewById(R.id.btnSendStop); 25 btnSendStart = (Button)findViewById(R.id.btnSendStart); 26 27 btnSendStop.setOnClickListener(this); 28 btnSendStart.setOnClickListener(this); 29 30 } 31 32 @Override 33 protected void onDestroy() { 34 35 Intent locationSenderService = new Intent(GPSTest1.this, LocationSenderService.class); 36 stopService(locationSenderService); 37 38 super.onDestroy(); 39 } 40 41 @Override 42 public void onClick(View view) { 43 // TODO Auto-generated method stub 44 if (view == btnSendStop) { 45 Intent locationSenderService = new Intent(GPSTest1.this, LocationSenderService.class); 46 stopService(locationSenderService); 47 48 btnSendStop.setEnabled(false); 49 btnSendStart.setEnabled(true); 50 } else if (view == btnSendStart) { 51 Intent locationSenderService = new Intent(GPSTest1.this, LocationSenderService.class); 52 startService(locationSenderService); 53 54 btnSendStop.setEnabled(true); 55 btnSendStart.setEnabled(false); 56 57 } 58 } 59 60} 61
JAVA
1**LocationSenderService.java** 2 3 4package com.example.gpstest1; 5import java.io.IOException; 6 7import org.apache.http.client.HttpClient; 8import org.apache.http.client.methods.HttpGet; 9import org.apache.http.impl.client.DefaultHttpClient; 10 11import android.app.Service; 12import android.content.Intent; 13import android.location.Location; 14import android.location.LocationListener; 15import android.location.LocationManager; 16import android.os.Bundle; 17import android.os.Handler; 18import android.os.IBinder; 19import android.widget.Toast; 20 21public class LocationSenderService extends Service implements LocationListener { 22 23 private final String server = "http://192.168.0.4/"; 24 private final String path = "PHP/LocationLogger.php"; 25 private String username = "pondelion"; 26 private LocationManager lm; 27 28 @Override 29 public IBinder onBind(Intent arg0) { 30 // TODO Auto-generated method stub 31 return null; 32 } 33 34 @Override 35 public void onCreate() { 36 super.onCreate(); 37 lm = (LocationManager)getSystemService(LOCATION_SERVICE); 38 39 lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 60000, 0, this); 40 lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 60000, 0, this); 41 42 Toast.makeText(this, "サービス開始", Toast.LENGTH_LONG).show(); 43 44 } 45 46 @Override 47 public void onDestroy() { 48 lm.removeUpdates(this); 49 50 } 51 52 @Override 53 public void onLocationChanged(Location location) { 54 // TODO Auto-generated method stub 55 String url = server 56 + path 57 + "?username=" 58 + username 59 + "&latitude=" 60 + location.getLatitude() 61 + "&longitude=" 62 + location.getLongitude() 63 + "×tamp=" 64 + System.currentTimeMillis(); 65 66 try { 67 HttpClient httpClient = new DefaultHttpClient(); 68 httpClient.execute(new HttpGet(url)); 69 Toast.makeText(getApplicationContext(), "位置を送信しました", Toast.LENGTH_LONG).show(); 70 } catch (IOException e) { 71 Toast.makeText(getApplicationContext(), "Error : " + e.getMessage(), Toast.LENGTH_LONG).show(); 72 } 73 } 74 75 @Override 76 public void onProviderDisabled(String arg0) { 77 // TODO Auto-generated method stub 78 79 } 80 81 @Override 82 public void onProviderEnabled(String arg0) { 83 // TODO Auto-generated method stub 84 85 } 86 87 @Override 88 public void onStatusChanged(String arg0, int arg1, Bundle arg2) { 89 // TODO Auto-generated method stub 90 91 } 92 93}
回答1件
あなたの回答
tips
プレビュー