كثيرا ما نحتاج في تطيقاتنا التي تحتاج الإتصال بالإنترنت كود فحص هل هناك اتصال ام لا حتي لا يحدث خطأ في التطبيق
سنحاول في الدرس ان اعطيك دالة سهلة و اشرح لك طريقة استختدامها و التعامل معها
دالة فحص الإنترنت ترجع true او false نتيجة فحص الإتصال
public static boolean isNetworkAvailable(Context context) {
boolean outcome = false;
if (context != null) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] networkInfos = cm.getAllNetworkInfo();
for (NetworkInfo tempNetworkInfo : networkInfos) {
if (tempNetworkInfo.isConnected()) {
outcome = true;
break;
}
}
}
return outcome;
}
هذه دالة اخري نستطيع استخدامها في عرض مربع رسالة حواريةpublic void showMsgDialog(Context context, String title, String message) {
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.setButton("موافق", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
}
الكود كامل
package com.example.jhj;
import java.util.Locale;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.SearchManager;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v4.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainnew);
if(isNetworkAvailable(getApplicationContext()))
{
showMsgDialog(MainActivity.this, "تم الإتصال بنجاح", "يوجد حاليا اتصال بالإنترنت ");
}
else
{showMsgDialog(MainActivity.this, "عذرا", "لا يوجد اتصال بالإنترنت او الشبكة ");}
}
public static boolean isNetworkAvailable(Context context) {
boolean outcome = false;
if (context != null) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] networkInfos = cm.getAllNetworkInfo();
for (NetworkInfo tempNetworkInfo : networkInfos) {
if (tempNetworkInfo.isConnected()) {
outcome = true;
break;
}
}
}
return outcome;
}
public void showMsgDialog(Context context, String title, String message) {
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.setTitle(title);
alertDialog.setMessage(message);
alertDialog.setButton("موافق", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});
alertDialog.show();
}
}
اخيرا لا ننسي ملف manifest و اضافة الصلاحيات مثل صلاحية الوصول للإنترنت و صلاحية حالة الشبكة
<?xml version="1.0" encoding="utf-8"?>
.android.com/apk/res/android"
package="com.example.jhj"
andr
<manifest xmlns:android="http://schema
soid:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8"/>
<!-- Network State Perm
<!-- Internet Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
issions -->
roid:allowBackup="true"
android:icon="@drawable/ic_launcher"
a
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
an
dndroid:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.jhj.MainActivity"
<category android:name="android.in
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
tent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest
>
تحميل التطبيق مفتوح المصدر
شكرا لكم ..... ادعو لي و لوالدي بالهداية
شكرا لكم ..... ادعو لي و لوالدي بالهداية

ليست هناك تعليقات:
إرسال تعليق