

GPS Koordinatlarini Aliyorum Ama Buttona Tiklandiginda Nasil Alabilirim?
-
Arkadaslar su asagidaki Android kodlariyla GPS deki eylem bve Boylam koordinatlarini alip Mesaj(Toast icinde) olarak gösterebiliyorum.Koordinatlar , onLocationChanged oldugunda yeni koorinatlari toastmesaj olarak gösteriyorum.
package com.androidexample.gpsbasics; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.widget.Toast; import android.app.Activity; import android.content.Context; public class GpsBasicsAndroidExample extends Activity implements LocationListener { private LocationManager locationManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gps_basics_android_example); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,0, this); } public void onLocationChanged(Location location) { String str = "Enlem: "+location.getLatitude()+" \nBoylam: "+location.getLongitude(); Toast.makeText(getBaseContext(), str, Toast.LENGTH_LONG).show(); } public void onStatusChanged(String provider, int status, Bundle extras) { } public void onProviderEnabled(String provider) { } public void onProviderDisabled(String provider) { } }
Yanliz ben bu koda bir button ekleyip Buttona bastigim an Toast mesaj veya bir Texview icinde görünmesini bir türlü yapamadim.
Buttonu ekledigimizi ve id sinin de Konum_Goster oldugunu var sayarasak, buttonun onClick olayi ile bu istedigimi nasil yapabilirim?
Buttona bastigimda bana o anki Koordinatlari versin.
Kanakan tarafından 06/Oca/16 20:27 tarihinde düzenlenmiştir -
tahribatın kod görüntüleyici toolu düzgün çalışmadığı için başka yere ekledim
kodu denemedim elle yazdım
unbalanced tarafından 06/Oca/16 21:34 tarihinde düzenlenmiştir -
Ya hocam cok süpersin ya.
cok tesekkürler calisti!!
dedigin gibi tahribatın kod görüntüleyici toolu düzgün calismiyor.
Kodlara html kodlari katiyor !!
tekrar tesekkürler
-
Hocam tekrar rahatsiz ediyorum.
düzelttigin kodlara http post uyguladim.Söyleki alininan koordinatlari bir php dosyasina post edecegim.
PHP kismi calisiyor sorun yok.Yanliz Android kodlarina ekleme yaptim calisiyor, fakat Buttona bastigimda uygulama kapaniyor veri göndermiyor.Kodalri su sekilde düzenledim.Nerde hata ediyorum?
package com.androidexample.gpsbasics; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; import android.view.View; import android.widget.Toast; import android.app.Activity; import android.content.Context; import android.view.View.OnClickListener; import android.widget.Button; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams; import org.apache.http.protocol.BasicHttpContext; import org.apache.http.protocol.HTTP; import org.apache.http.protocol.HttpContext; import java.util.ArrayList; import java.util.List; public class GpsBasicsAndroidExample extends Activity implements LocationListener { private LocationManager locationManager; private Button btnShowLocation; private Location _location; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_gps_basics_android_example); locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); btnShowLocation = (Button)findViewById(R.id.Konum_Goster); btnShowLocation.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if(_location!=null) { PostData(); //--> Buraya ekledigim metod } } }); } public void onLocationChanged(Location location) { _location = location; } public void onStatusChanged(String provider, int status, Bundle extras) { } public void onProviderEnabled(String provider) { } public void onProviderDisabled(String provider) { } //Burasi verileri PHP ye gönderen kisim public void PostData() { HttpClient httpClient = new DefaultHttpClient(); HttpContext localContext = new BasicHttpContext(); HttpPost httpPost = new HttpPost("http://192.168.178.27:80/gps/gpskonum.php"); HttpResponse response = null; try { List params = new ArrayList(3); params.add(new BasicNameValuePair("xlat",Double.toString(_location.getLatitude()))); params.add(new BasicNameValuePair("xlong", Double.toString(_location.getLongitude()))); httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8)); response = httpClient.execute(httpPost, localContext); } catch (Exception e) { // TODO: handle exception } Toast.makeText(getBaseContext(),"Veriler"+ response.toString() +" Adresine gönderildi!", Toast.LENGTH_LONG).show(); } }
Not:Manifest.xml 'de
<uses-permission android:name="android.permission.INTERNET" /> ekli!
Kanakan tarafından 06/Oca/16 23:51 tarihinde düzenlenmiştir -
teamviewer yolla hocam bakalım, böyle hata belli olmaz
-
gönderdim hocam!
-
Http post icin yapabilecegin 3 sey var.
1 - Sinif icinde Thread kullanmak
2 - Runnable arayuzunu kullanmak
3 - Yeni bir sinif olusturup AsyncTask sinifindan turetmek
-
volley kütüphanesine bir bak istersen, http post olayların için
-
Çok komplike bir uygulama değilse tasker ile yap app factory ile apk'ya çevir?
-
Hocalar yeni konu açmayayım, benimde şöyle bir sorunum var. Daha öncesinde lokasyon bilgilerini çektiğim bir uygulama yapmıştım fakat bu sefer sdk version 23 olduğunda izinleri kontrol etmek gerekiyormuş. Android studio'nun check permission önerisine tıklıyorum bişeyler çıkartıyor fakat bir türlü beceremedim kullanmasını. Şöyle bir uyarı alıyorum.

-
teamviewer ver hocam seninkine de bakalım..
olayın özeti şu: kullanıcının gps bilgisini almaya izin verip vermediğini bilmiyorsun o yüzden direk lokasyon bilgisini almaya çalışıyorsun, ya kullanıcı izin vermemişse ne olacak?
bunun en mantıklı çözümü şu..
1- sdk 23 e eşit ya da büyük mü
2- eğer eşit ya da büyükse izinleri kontrol ettir..