Android - Wi-Fi-Tutorial

Android ermöglicht es Anwendungen, Zugriff auf den Zugang des Zustands der drahtlosen Verbindungen auf sehr niedrigem Niveau zu sehen. Die Anwendung kann fast alle Daten eines WiFi-Verbindung zugreifen.
Die Information, dass eine Anwendung zugreifen können, enthält die Verbindungsgeschwindigkeit angeschlossenen Netzwerk, IP-Adresse, Verhandlung Zustand, andere Netzwerke Informationen. Anwendungen können auch scannen, zu ergänzen, zu speichern, zu kündigen und Wi-Fi-Verbindungen zu initiieren.
Android bietet WifiManager API, um alle Aspekte der WiFi-Verbindung zu verwalten. Wir können diese Klasse instanziieren, indem SiegetSystemService Methode. Die Syntax ist unten angegeben -
WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
Um eine Liste der drahtlosen Netzwerke zu scannen, müssen Sie auch Ihren BroadcastReceiver registrieren. Es kann unter Verwendung registriert werdenregisterReceiver Methode mit dem Argument des Receivers Klassenobjekt.Die Syntax ist unten angegeben -
class WifiScanReceiver extends BroadcastReceiver {
   public void onReceive(Context c, Intent intent) {
   }
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));  
Die Wi-Fi-Scan kann beginnen, indem Sie die Startscan Methode der WifiManager Klasse. Diese Methode liefert eine Liste der ScanResult Objekte.Sie können jedes Objekt durch einen Aufruf der Zugriff get Methode der Liste.Die Syntax ist unten angegeben -
List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString();
Abgesehen von nur Scannen, können Sie haben mehr Kontrolle über Ihren WIFI unter Verwendung der in WifiManager Klasse definierten Methoden. Sie werden wie folgt aufgeführt -
Sr.NoVerfahren & Beschreibung
1addNetwork (WifiConfiguration config)
Diese Methode fügen Sie eine neue Netzwerkbeschreibung auf den Satz von konfigurierten Netzwerken.
2createWifiLock (String-Tag)
Diese Methode erstellt ein neues WifiLock.
3disconnect ()
Diese Methode distanzieren von der gerade aktiven Access Point.
4enableNetwork (int netId, boolean disableOthers)
Diese Methode ermöglicht eine zuvor konfigurierte Netzwerk zugeordnet werden.
5getWifiState ()
Diese Methode erhält die Wi-Fi-fähigen Zustand
6isWifiEnabled ()
Diese Methode Rück ob Wi-Fi aktiviert oder deaktiviert ist.
7setWifiEnabled (boolean enabled)
Diese Methode aktivieren oder deaktivieren Sie Wi-Fi.
8updateNetwork (WifiConfiguration config)
Diese Methode aktualisiert die Netzwerk Beschreibung einer vorhandenen konfigurierten Netzwerk.

Beispiel

Hier ist ein Beispiel demonstriert die Verwendung von WLAN. Es schafft eine grundlegende Anwendung, eine Liste der drahtlosen Netzwerke scannt und füllen Sie sie in einer Listenansicht.
Um bei diesem Beispiel zu experimentieren, müssen Sie diese auf einem Gerät, auf dem Wi-Fi eingeschaltet wird ausgeführt.
SchritteBezeichnung
1Sie werden Android-Studio verwenden, um ein Android-Anwendung unter einem Paket com.example.sairamkrishna.myapplication erstellen.Bei der Erstellung dieses Projekt, stellen Sie sicher SDK Ziel und Kompilieren Sie mit der neuesten Version des Android SDK zu höheren Ebenen der APIs verwenden.
2Ändern src / MainActivity.java Datei auf WebView Code hinzufügen.
3Ändern Sie die res / layout / activity_main zum jeweiligen XML-Komponenten hinzufügen
4Ändern Sie die AndroidManifest.xml, die notwendigen Berechtigungen hinzufügen
5Führen Sie die Anwendung, und wählen Sie einen laufenden Android-Gerät und installieren Sie die Anwendung und überprüfen Sie die Ergebnisse.
Im Folgenden ist der Gehalt des modifizierten Haupttätigkeit Datei src /MainActivity.java.
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.content.BroadcastReceiver;

import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;

import android.graphics.Color;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.List;

public class MainActivity extends Activity  {
   ListView lv;
   WifiManager wifi;
   String wifis[];
   WifiScanReceiver wifiReciever;
   
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      lv=(ListView)findViewById(R.id.listView);
      
      wifi=(WifiManager)getSystemService(Context.WIFI_SERVICE);
      wifiReciever = new WifiScanReceiver();
      wifi.startScan();
   }
   
   protected void onPause() {
      unregisterReceiver(wifiReciever);
      super.onPause();
   }
   
   protected void onResume() {
      registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));
      super.onResume();
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      
      int id = item.getItemId();
      
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
   
   private class WifiScanReceiver extends BroadcastReceiver{
      public void onReceive(Context c, Intent intent) {
         List<ScanResult> wifiScanList = wifi.getScanResults();
         wifis = new String[wifiScanList.size()];
         
         for(int i = 0; i < wifiScanList.size(); i++){
            wifis[i] = ((wifiScanList.get(i)).toString());
         }
         lv.setAdapter(new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1,wifis));
      }
   }
}
Im Anschluss wird der modifizierte Inhalt der XML-res / layout /activity_main.xml.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView android:text="Wifi" android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/textview"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point"
      android:id="@+id/textView"
      android:layout_below="@+id/textview"
      android:layout_centerHorizontal="true"
      android:textColor="#ff7aff24"
      android:textSize="35dp" />
      
   <mageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" />
      
   <ListView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/listView"
      android:layout_below="@+id/imageView"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:background="#fff5d376" />

</RelativeLayout>
Im Anschluss ist der Inhalt der AndroidManifest.xml Datei.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
   <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>
Lassen Sie uns versuchen, um Ihre Anwendung auszuführen. Ich nehme an, Sie Ihre aktuelle Android-Gerät mit dem Computer verbunden haben. Um die App vom Android-Studio, öffnen Sie eine der Aktivität Dateien Ihres Projekt auszuführen, und klicken Sie auf Eclipse-Run IconAusführen-Symbol in der Symbolleiste. Vor dem Start der Anwendung wird Android Studio Display folgende Fenster, um eine Option, wo Sie Ihre Android-Anwendung ausgeführt werden soll.
Anroid WLAN-Tutorial
Wählen Sie Ihr Mobilgerät als Option und prüfen Sie dann Ihr mobiles Gerät, das Ihr Handy-Display mit drahtlosen Netzwerken um Sie herum gefüllt anzeigt. Es wird unten gezeigt -
Beachten Sie die Informationen, die Sie zurückgegeben wurde. Er enthält viele Informationen über jeden von dem drahtlosen Netz erkannt wird.
android_wifi_tutorials
Bild oben zeigt verschiedene WiFi-Verbindungen, die mit den Geräten verbunden sind
Share on Google Plus

About ptjqatar

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.

0 التعليقات:

Kommentar veröffentlichen