Android Telefon Yazılım Rom Destek Teknoloji Sitesi

Android Mobil Telefon Genel Bölüm => Android Genel Bölümü => Android Eğitim => Konuyu başlatan: Fuul oyun - 12 Nisan 2016, 03:42:14

Başlık: Android Programlama - İnternet ve GPS Kontrolü
Gönderen: Fuul oyun - 12 Nisan 2016, 03:42:14

                        
Mobil uygulama geliştirirken platformdan bağımsız olarak ilk işimiz uygulama başlangıcında gerekli kontrolleri yapmak olmalıdır. Uygulamanızı 5 yaşındaki bir çocuğun bile kullanacağı şekilde tasarlamak en doğrusu olacaktır. Hatta test aşamasında 5 yaşındaki bir çocuğa verin ve kurcalasın. Elbet sizin gözünüzden kaçan bir çok hatayı tesadüfen bulacaktır.
   
   Ne demek istediğimi biraz daha açayım. Bir mobil uygulama yaptınız ve bu mobil uygulama internet ve gps erişimini gerektiriyor. GPS üzerinden konumumuzu bulacak ve bize çevremizdeki kafeleri gösterecek diyelim. Uygulamanız kullanıcının GPS ve internet erişimi aktifse hiç bir hata vermeden çalışacaktır. Peki ya kullanıcı GPS'ini kapattıysa? Ya internet erişimi yoksa ?
   
   Şimdi gelin hep birlikte android üzerinde internet ve gps erişimi kontrolünü nasıl yapacağımıza bakalım. (internet ve gps tamamen bir örnek, sadece kafanızda bir fikir oluşması açısından. Sizin yapacağınız uygulama neye gereksinim duyuyorsa onun kontrolünü uygulama başında kontrol etmelisiniz.)
   
   İlk olarak manifest dosyamıza gerekli izinleri vermeliyiz.
   
   internet erişimi için;
   
   
[Seç][/url]<uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
   GPS erişimi için;
   
   
[Seç][/url]<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
   Bu izinleri manifest dosyamıza ekledikten sonra kontrolü yapacağımız sayfayı açalım.
   
   İnternet erişimini kontrol edeceğimiz fonksiyonu yazalım.
   
   
[Seç][/url]public boolean internetErisimi(){
          ConnectivityManager baglanti = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
          if(baglanti.getActiveNetworkInfo()!=null){
          if(baglanti.getActiveNetworkInfo().isConnected ())
          return true;
          }
         
          return false;
          }
   Bu fonksiyonu çağırdığımız her yerde uygulamanın yüklü olduğu cihazın internet erişimini kontrol edebiliriz. Erişimi varsa true, yoksa false değer döndürecektir.
   
   Şimdi nasıl kullanacağımıza bakalım. Mesela bir başlangıç ekranı yaptınız ve bu ekranda kontrolü yapacaksınız, eğer internet erişimi varsa uygulamanızın anasayfasına gidecek, yoksa kullanıcıya uyarı verecek.
   
   
[Seç][/url]if(internetErisimi()){
          
          {   
             startActivity(new Intent (BaslangicSayfasi.this,AnaSayfa.class));
          }
       }
         else{
            
           AlertDialog alertDialog = new AlertDialog.Builder(this).create();
     
           alertDialog.setMessage("Uygulamayı kullanabilmek için internet bağlantınızın aktif olması gerekmektedir");
           alertDialog.setButton("Tamam", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              System.exit(0);
            }
           });
     
           alertDialog.show();
         }
   Yazmış olduğumuz kod ile telefonda internet erişimi var ise Anasayfa ya yönlendirdik. (tabiki sayfanızı activity olarak manifest dosyanızda belirtmeniz gerekiyor.)
   
   Activitymizin onCreate methoduna yukarıdaki kodları yazdığımızda gerekli kontrolleri yapacak ve eğer uygunsa uygulama başlayacaktır.
   
   Şimdi hem GPS hem internet kontrolü yapalım bakalım;
   
   
   
[Seç][/url]public void kontrol(){
         
         LocationManager locManager = (LocationManager) getSystemService(LOCATION_SERVICE);
   
       if (locManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
         
          if(internetErisimi()){
          
          {   
             startActivity(new Intent (BaslangicSayfasi.this,Anasayfa.class));
          }
       }
         else{
            
           AlertDialog alertDialog = new AlertDialog.Builder(this).create();
     
           alertDialog.setMessage("Uygulamayı kullanabilmek için internet bağlantınızın aktif olması gerekmektedir");
           alertDialog.setButton("Tamam", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              System.exit(0);
            }
           });
     
           alertDialog.show();
         }
          
     }
       
       else{
   
             AlertDialog alertDialog2 = new AlertDialog.Builder(this).create();
     
           alertDialog2.setMessage("Uygulamayı kullanabilmek için GPS'in aktif olması gerekmektedir");
           alertDialog2.setButton("Tamam", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
              System.exit(0);
            }
           });
     
           alertDialog2.show();
             
       }
         
      }
   Artık her iki erişimide kontrol etmiş olduk. Ve ikiside aktif ise gerekli yönlendirmelerimizi yaptık. onCreate methodunda kontrol() fonksiyonunu çağırmanız yeterli olacaktır.
   
   Yazı tamamen bana aittir lütfen paylaşırken kaynak belirtiniz.
   
   Kaynak: http://blog.melihmucuk.com/android-programlama-internet-ve-gps-kontrolu/ (http://blog.melihmucuk.com/android-programlama-internet-ve-gps-kontrolu/)
                     
                  
                  
EhPortal 1.39.6 © 2025, WebDev