Kişisel Sayfaları
İlgi Alanları
İş Tecrubesi
Eğitim Geçmişi
Sertifikalar & Başarılar
Kullanıcıya ait test sonucu bulunmamaktadır.
Dil Becerileri
Son Forum Aktiviteleri
87Android Servis Arka Planda Çalışmıyor
Merhaba Arkadaşlar Android servis oluşturdum. Bu servis konum güncellenince api çağırıyor ve veri kaydediyor. Uygulama ön planda olunca sorun yok ancak arka plana alınca servisim çalışmıyor . Sebebi ne olabilir ? Servisim aşağıdaki gibidir.
public class VehicleGPSTrackerService extends Service { private LocationListener listener; private LocationManager locationManager; boolean gps_enabled = false; private Location llocation; private static final long MIN_TIME_BW_UPDATES = 1000 * 5 * 1; // 5 saniye public Coordinate lastCoordinate; TelephonyManager mTelephonyManager; @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { Toast.makeText(this,getBaseContext().getResources().getString(R.string.tracking_on_started), Toast.LENGTH_SHORT).show(); Log.e("onStartCommand", "GPS Service onStartCommand"); lastCoordinate = new Coordinate(); lastCoordinate.Latitude =0; lastCoordinate.Longitude = 0; try { locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); gps_enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); if(!isNetworkAvailable(getBaseContext())) { Intent i = new Intent("location_update"); i.putExtra("status", getBaseContext().getResources().getString(R.string.internet_connection_notfound)); sendBroadcast(i); } if(!gps_enabled) { Intent i = new Intent("location_update"); i.putExtra("status", getBaseContext().getResources().getString(R.string.cannot_gps_data)); sendBroadcast(i); } if (isNetworkAvailable(getBaseContext()) && gps_enabled) { if (locationManager != null) { if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return Service.START_STICKY; } llocation = locationManager.getLastKnownLocation(locationManager.GPS_PROVIDER); updateWithNewLocation(llocation); //locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,MIN_TIME_BW_UPDATES,0, this.listener); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES,0, this.listener); } } } catch (Exception e) { Log.e("gpsserviceexception",e.getMessage()); } return super.onStartCommand(intent, flags, startId); } public boolean isNetworkAvailable(final Context context) { final ConnectivityManager connectivityManager = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)); return connectivityManager.getActiveNetworkInfo() != null && connectivityManager.getActiveNetworkInfo().isConnected(); } public void updateWithNewLocation(Location location) { listener = new LocationListener() { @Override public void onLocationChanged(Location location) { lastCoordinate = new Coordinate(); double lat = location.getLatitude(); double longi = location.getLongitude(); lastCoordinate.Latitude =lat; lastCoordinate.Longitude = longi; DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(location.getTime()); String formatted = format.format(date); final JSONObject headerObject = new JSONObject(); final JSONObject params = new JSONObject(); try { JSONObject coordinate = new JSONObject(); coordinate.put("Latitude",lastCoordinate.Latitude); coordinate.put("Longitude",lastCoordinate.Longitude); JSONArray jsonArrayLogs = new JSONArray(); params.put("Status", EnumHelpers.EnumStatus.Active.getValue()); params.put("Coordinate", coordinate); params.put("LastInfoDate",formatted); jsonArrayLogs.put(params); headerObject.put("UserId", AppEngine.CURRENT_USER.getId()); headerObject.put("ActiveDeviceId",getDeviceImei()); headerObject.put("Details",jsonArrayLogs); Log.e("AktiveData",headerObject.toString()); SentDataToVolley(headerObject); } catch (Exception e){} Intent i = new Intent("location_update"); i.putExtra("status", getBaseContext().getResources().getString(R.string.active)); sendBroadcast(i); } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override public void onProviderEnabled(String provider) { Intent i = new Intent("location_update"); i.putExtra("status", getBaseContext().getResources().getString(R.string.active)); sendBroadcast(i); } @Override public void onProviderDisabled(String provider) { final JSONObject headerObject = new JSONObject(); final JSONObject params = new JSONObject(); try { JSONObject coordinate = new JSONObject(); coordinate.put("Latitude",0); coordinate.put("Longitude",0); JSONArray jsonArrayLogs = new JSONArray(); params.put("Status", EnumHelpers.EnumStatus.NoGpsSignal.getValue()); params.put("Coordinate", coordinate); params.put("LastInfoDate",getCurrentDate()); jsonArrayLogs.put(params); headerObject.put("UserId", AppEngine.CURRENT_USER.getId()); headerObject.put("ActiveDeviceId",getDeviceImei()); headerObject.put("Details",jsonArrayLogs); Log.e("NoSignalData",headerObject.toString()); SentDataToVolley(headerObject); } catch (Exception e){} Intent i = new Intent("location_update"); i.putExtra("status", getBaseContext().getResources().getString(R.string.cannot_gps_data)); sendBroadcast(i); } }; } @Override public void onDestroy() { super.onDestroy(); Toast.makeText(this, getBaseContext().getResources().getString(R.string.stop_tracking), Toast.LENGTH_LONG).show(); final JSONObject headerObject = new JSONObject(); final JSONObject params = new JSONObject(); try { JSONObject coordinate = new JSONObject(); coordinate.put("Latitude",lastCoordinate.Latitude); coordinate.put("Longitude",lastCoordinate.Longitude); JSONArray jsonArrayLogs = new JSONArray(); params.put("Status", EnumHelpers.EnumStatus.StopTracking.getValue()); params.put("Coordinate", coordinate); params.put("LastInfoDate",getCurrentDate()); jsonArrayLogs.put(params); headerObject.put("UserId", AppEngine.CURRENT_USER.getId()); headerObject.put("ActiveDeviceId",getDeviceImei()); headerObject.put("Details",jsonArrayLogs); Log.e("StopTrackingData",headerObject.toString()); SentDataToVolley(headerObject); } catch (Exception e){} if(locationManager != null){ //noinspection MissingPermission locationManager.removeUpdates(listener); } } public void SentDataToVolley(final JSONObject headerObject ) { RequestQueue getRequestQueue = Volley.newRequestQueue(getApplicationContext()); JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST, UrlConfig.VOLLEY_MOBILEGPSLOG, headerObject, new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.e("onResponse", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { VolleyLog.d("onErrorResponse", "Error: " + error.getMessage()); Log.e("Oonfail", error.toString()); } }) { @Override public Map<String, String> getHeaders() throws AuthFailureError { HashMap<String, String> headers = new HashMap<String, String>(); headers.put("Content-Type", "application/json; charset=utf-8"); headers.put("Authorization-Token", ConstansApi.API_KEY); return headers; } }; jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(60000, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); // Adding request to request queue getRequestQueue.add(jsonObjReq); } public String getCurrentDate() { Calendar c = Calendar.getInstance(); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String strDate = format.format(c.getTime()); return strDate; } private String getDeviceImei() { mTelephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String deviceid = mTelephonyManager.getDeviceId(); Log.d("msg", "DeviceImei " + deviceid); return deviceid; } }
Bu servisi de şu şekilde çağırıyorum
Intent i =new Intent(MainActivity.this,VehicleGPSTrackerService.class);
startService(i);
manifast.xml dosyası da şu sekildedir
<service
android:name=".VehicleGPSTrackerService"
android:enabled="true"
android:exported="false"/>
Node.js arka planda çalıştırma
Merhabalar node.js ' te çalışmaya başladım. Henüz yeniyim consolden .js uzantılı dosyamı çalıştırıyorum sıkıntı yok. Ancak control paneli kapatınca web sayfam açılmıyor. Bunun çözümünü forever kullanark buldum . Ancak bilgisayarı restart edince otomatik olarak çalışmıyor. node.js uygulamasının servisini sürekli olarak backgrounda çalıştırabilir miyiz ?
Firebase Notification Göndermiyor
Merhaba arkadaşlar firebase ile uygulamaya notification göndermeye calısıyorum ancak bildirim gelmiyor Firebase console den bildirim gonderemiyorum . Android tarafında tüm işlemleri doğru eksiksiz bir biçimde gercekleştirdim json dosyasını kontrol ettim uygulamam package isimleri falan hersey doğru. Böyle bir durum ile karsılasan oldumu? Kolay Gelsin . İyi Çalısmalar
Notification Gruplama
Merhabalar firebase kullanarak android cihazıma bildirim gonderebiliyorum çok güzel . Ancak birden fazla bildirim gonderince alt alta örneğin 4 tane bildirim geliyor bu da ekran goruntu kirliliğine neden olmaktadır. Whatsapp gibi gelen bildirimleri gruplayabilir miyim?. Böyle birşey yapabilmiş olan var mı yada ornek yada tutorial olan var mıdır ? Kolay Gelsin
Notification Gönderme Tüm Platformlar
Merhabalar web uygulamamda olusturduğum yeni kayıtların yada silme işlemlerin web api kullanarak android ve ios platformlarına bildirim gondermek istiyorum. GCM' e baktım firebase kullanmamızı öneriliyor. Firebase yada GCM kullarak android ve ios a bildirim gönderdiniz mi ? Elinde bu tarz ornek yada tutorial olan varsa paylaşırsanız sevinirim . Kolay gelsin
Firebase Notification Göndermiyor
Merhabalar hatayı şu şekilde çözdüm AndroidManifest.xml dosyasında bulunan tagına tools:node="merge" satırını ekleyerek çözüme ulaştım.
<application>
tools:node="merge"
</applicatioon>
Firebase Notification Göndermiyor
Selam Rahmican dediğin gibi tekrar 3 kere kontrol ettim gradle manifest dosyamı firebase servislerini herseyi kontrol ettim .
FirebaseInstanceId.getInstance().getToken(); metodunda herzaman null geliyor . Ayrıca firebase türkceleştirilmesi için gosterdiğin çabayıda tebrik ediyorum Kolay Gelsin
Volley kullanımı android
Selam Ulaş cok tesekkur ederim yanıt verdiğin için retrofiti inceledim ancak aklıma takılan bir durum olustu.Retrofit response lerinde pojo sınıfı kullanmak zorunlumu yani ben gelen yanıtın hepsini string olarak alıp jsonobject içerisine aktarıp ihtiyacım olanı kullnmak istiyorum . Pojo sınıfı olusturmadan retrofit kullanmak mumkun mudur?
Swipe-Listview
Merhaba Ali tesekkur ederim ilgilendiğin için play store linkinin içerisinde libray adresi verilmiş bu adresi indirmeye calıstıgımda github tan kaldırılmıs Library:
https://github.com/47deg/android-swipelistview internette aradım ancak bunu bulamadım
Kolay Gelsin
android butona tıklayınca ses problemi
Merhabalar kodum bu şekildedir
public class MainActivity extends Activity {
private ListView listView;
private RelativeLayout listbtn;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.login);
listbtn = (RelativeLayout)findViewById(R.id.btn_login);
mp= MediaPlayer.create(MainActivity.this,R.raw.button_sound);
listbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
mp.start();
}
});
}
}