🌍İnternete Bağlanma

✍ El Notlarım

👮‍♂️ Gerekli İzinlerin Alınması

  • 📃 AndroidManifest.xml dosyası üzerinden internet izni alınmalıdır

  • 🐣<uses-permission android:name="android.permission.INTERNET" /> ile internet erişimi

  • 🔸 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> ile internet bağlantısı durumu izni alınır

‍🧙‍♂ Detaylı bilgi için Including permissions in the manifest dokümanına bakabilirsin

👨‍💼 Bağlantı Durumunu Yönetme

  • 🧰 Tüm sistem servislerine getSystemService metodu ile erişilir

  • 📶 ConnectivityManager ve NerworkInfo sınıflarından bağlantı bilgileri yönetilir

private static final String DEBUG_TAG = "NetworkStatusExample";

ConnectivityManager connMgr = 
           (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
           
NetworkInfo networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
boolean isWifiConn = networkInfo.isConnected();

networkInfo = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
boolean isMobileConn = networkInfo.isConnected();

Log.d(DEBUG_TAG, "Wifi connected: " + isWifiConn);
Log.d(DEBUG_TAG, "Mobile connected: " + isMobileConn);

‍🧙‍♂ Detaylı bilgi için Managing the network state dokümanına bakabilirsin.

📢 API 29 ve sonrası için eskimiştir, güncel haline activeNetworkInfo.type is deprecated in API level 28 alanından bakabilirsin

❣️ Dikkat Etmen Gerekenler

  • 🕐 Bağlantı işlemleri uzun sürebilir

  • 🚫 UI Thread üzerinden yapılmamalıdır, aksi halde uygulamayı engelleyebilir

  • 💫 Bağlantı işlemleri Asenkron İşlemler yazısına göre yapılmalıdır

👮‍♂️ Güvenlik Notları

  • 🐣 Veri tabanına direkt erişim olmamalı, API üzerinden erişim olmalı

  • 👨‍💻 Reverse Engineering ile bağlantıda kullandığın bilgileri elde edebilirler

🔗 Faydalı Kaynaklar

Last updated

© 2024 ~ Yunus Emre Ak ~ yEmreAk