Türkeş Efe
Türkeş Efe
İstanbul-II (Anadolu)
03/02/2015 tarihinden beri üye
30 GY Puanı
73K GY Sırası

Kişisel Sayfaları

İlgi Alanları

1 Rozet
0 Sertifika
3 Soru Sordu
0 Cevap Verdi
0 Blog Yazısı
0 Etiket Takibi

Hakkında

İş Tecrubesi

Kullanıcıya ait İş tecrübesi bilgisi bulunmamaktadır.

Eğitim Geçmişi

Anadolu Üniversitesi
| Aralık 2020 - Aralık 2020

Sertifikalar & Başarılar

GY Sertifikaları (0)
Kullanıcının GY sertifikası bulunmamaktadır.
Diğer Sertifikaları (0)
Kullanıcıya ait sertifika bulunmamaktadır.
Test Sonuçları (0)

Kullanıcıya ait test sonucu bulunmamaktadır.

Dil Becerileri

Son Forum Aktiviteleri

3
Tümünü Gör

Android Service Yeniden Başlatma ??

Selam,
Geliştirdiğim uygulamamda arka planda çalışan bir servis ile sürekli async http post ile veri gönderimi yapıyorum. Fakat bazı zamanlar oluşan exception'lar  yüzünden uygulama kill oluyor, bu durumda uygulama kill olsa bile servis'imin yaşamını sürdürmesi gerekiyor, hataya da düşse tekrar startlanması lazım. 
Bunu nasıl yapabilirim ? 
Teşekkürler

9 yıl 9 ay önce yanıtladın

Android AsyncTask'te Hata Kontrolü ?

Arkadaşlar merhaba, androidte asynctask kullanarak sunucuma veri gönderiyorum 
Fakat şöyle bir problemim var, bir şekilde işlem sırasında internetin gittiğini veya teknik bir problemin olduğunda uygulamanın kapanmaması için nasıl bir hata kontrolü yapmalıyım ? Gerekli try catchler var ama yinede uygulamayı atıyorum internet bağlantısı olmadan açtığımda direk uygulamayı kapatıyor, ben uygulamayı kapatmadan yine devam etmesini istiyorum

Async Class'ım

[code]

public class MyServiceAsync extends AsyncTask<String, String, Boolean> {

        private String json;
        private JSONObject jObj;

        @Override
        protected Boolean doInBackground(String... params) {

            Boolean result = false;


            try {

                JSONArray jsonArrays = GetJson(params[0]).getJSONArray("GetPost");
                if (jsonArrays.length() > 0) result = true;

            } catch (JSONException e) {

                e.printStackTrace();
            }
            return result;

        }

        @Override
        protected void onPostExecute(Boolean result) {


        }

        private JSONObject GetJson(String URL) throws JSONException {
            // Making HTTP request
            try {

                URL url = new URL(URL);
                HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
                httpURLConnection.setRequestProperty("Content-Type", "0");
                httpURLConnection.setRequestMethod("GET");
                //httpURLConnection.setRequestProperty("Connection", "close");
                httpURLConnection.setUseCaches(false);
                httpURLConnection.setConnectTimeout(60000);
                httpURLConnection.setReadTimeout(60000);
                httpURLConnection.setAllowUserInteraction(false);
                httpURLConnection.setInstanceFollowRedirects(true);
                httpURLConnection.connect();
                int status = httpURLConnection.getResponseCode();


                switch (status) {
                    case 200:
                    case 201:
                        BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream()));
                        StringBuilder sb = new StringBuilder();
                        String line;
                        while ((line = br.readLine()) != null) {
                            sb.append(line + "\n");
                        }
                        br.close();
                        json = sb.toString();
                        jObj = new JSONObject(json);
                }

            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return jObj;
        }


    }

[/code]

9 yıl 9 ay önce yanıtladın

Arkaplan Serviste LocationListener Kullanımı

Merhaba gelistirmek istedigim uygulamamda belirli zaman aralıgında arka planda aldıgım kordinatları uzak sunucuma post etmek istiyorum fakat Servis kısmında aşagıdaki hatayı alıyorum.

Can't create handler inside thread that has not called Looper.prepare()

Uygulama locationManager. requestlocationupdates metodunda olusuyor problem. Servisim extends Service implements LocationListener olarak tanımladım gerekli islemleri yapıyorum sorun nerede anlamadım yardımcı olursanız sevinirim

 

[code]

public class CoordinateService extends Service implements LocationListener {

//Gerekli değişkenlerim vb.

//Servis Methodum

@Override
    public void onCreate() {

       super.onCreate();

        timer = new Timer();
        handler = new Handler(Looper.getMainLooper());

        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {

                getLocation();

               // Yukardaki methodtan sonra asynctask ile verileri post ediyorum.

            }
        }, 0, 60 * 2000);
    }

//Location değişkenimi set ettiğim method'um

public Location getLocation() {
        try {
            locationManager = (LocationManager) this.getSystemService(LOCATION_SERVICE);

            // getting GPS status
            isGPSEnabled = locationManager
                    .isProviderEnabled(LocationManager.GPS_PROVIDER);

            // getting network status
            isNetworkEnabled = locationManager
                    .isProviderEnabled(LocationManager.NETWORK_PROVIDER);

            if (!isGPSEnabled && !isNetworkEnabled) {
                // no network provider is enabled
            } else {
                this.canGetLocation = true;
                // First get location from Network Provider
                if (isNetworkEnabled) {
              locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,MIN_TIME_BW_UPDATES,MIN_DISTANCE_CHANGE_FOR_UPDATES,this);

                    Log.d("Network", "Network");
                    if (locationManager != null) {
                        location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
                        if (location != null) {
                            latitude = location.getLatitude();
                            longitude = location.getLongitude();
                        }
                    }
                }
                // if GPS Enabled get lat/long using GPS Services
                if (isGPSEnabled) {
                    if (location == null) {
                        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MIN_TIME_BW_UPDATES,MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
                        Log.d("GPS Enabled", "GPS Enabled");
                        if (locationManager != null) {
                            location = locationManager
                                    .getLastKnownLocation(LocationManager.GPS_PROVIDER);
                            if (location != null) {
                                latitude = location.getLatitude();
                                longitude = location.getLongitude();
                            }
                        }
                    }
                }
            }

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

        return location;
    }

}

 

 

[/code]

9 yıl 9 ay önce yanıtladın