🌍 İ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