Thứ Tư, 12 tháng 12, 2018

Android - Wi-Fi

Học lập trình Android cho phép các ứng dụng truy cập để xem trạng thái truy cập trạng thái của các kết nối không dây ở mức rất thấp. Ứng dụng có thể truy cập gần như tất cả các thông tin của kết nối wifi.

Thông tin mà ứng dụng có thể truy cập bao gồm tốc độ liên kết của mạng được kết nối, địa chỉ IP, trạng thái đàm phán, thông tin mạng khác. Các ứng dụng cũng có thể quét, thêm, lưu, chấm dứt và khởi tạo các kết nối Wi-Fi.

Học lập trình Android
Học lập trình Android

Học lập trình Android cung cấp API WifiManager để quản lý tất cả các khía cạnh của kết nối WIFI. Chúng ta có thể khởi tạo lớp này bằng cách gọi phương thức getSystemService . Cú pháp của nó được đưa ra dưới đây
WifiManager mainWifiObj;
mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
Để quét danh sách các mạng không dây, bạn cũng cần đăng ký BroadcastReceiver.

Nó có thể được đăng ký bằng phương thức registerReceiver với đối số của đối tượng lớp người nhận của bạn. Cú pháp của nó được đưa ra dưới đây
class WifiScanReceiver extends BroadcastReceiver {
   public void onReceive(Context c, Intent intent) {
   }
}

WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));  
Quá trình quét wifi có thể được bắt đầu bằng cách gọi phương thức startScancủa lớp WifiManager.

Phương thức này trả về một danh sách các đối tượng ScanResult. Bạn có thể truy cập bất kỳ đối tượng nào bằng cách gọi phương thức get của danh sách. Cú pháp của nó được đưa ra dưới đây

List<ScanResult> wifiScanList = mainWifiObj.getScanResults();
String data = wifiScanList.get(0).toString();

Ngoài việc chỉ quét, bạn có thể kiểm soát WIFI của mình nhiều hơn bằng cách sử dụng các phương thức được xác định trong lớp WifiManager. Chúng được liệt kê như sau

Không.Phương pháp & Mô tả
1addNetwork (Cấu hình WifiConfiguration)

Phương pháp này thêm một mô tả mạng mới vào tập hợp các mạng được cấu hình.
2createdWifiLock (Thẻ chuỗi)

Phương pháp này tạo ra một WifiLock mới.
3ngắt kết nối ()
Phương pháp này tách rời khỏi điểm truy cập hiện đang hoạt động.
4enableNetwork (int netId, booleaneacOthers)

Phương pháp này cho phép một mạng được cấu hình trước đó được liên kết với.
5getWifiState ()

Phương pháp này có trạng thái kích hoạt Wi-Fi
6isWifiEnables ()
Phương pháp này trả về việc Wi-Fi được bật hay tắt.
7setWifiEnables (bật boolean)

Phương pháp này cho phép hoặc vô hiệu hóa Wi-Fi.
số 8updateNetwork (Cấu hình WifiConfiguration)

Phương pháp này cập nhật mô tả mạng của một mạng được cấu hình hiện có.
Thí dụ

Dưới đây là một ví dụ minh họa việc sử dụng WIFI. Nó tạo ra một ứng dụng cơ bản mở wifi và đóng wifi của bạn

Để thử nghiệm với ví dụ này, bạn cần chạy nó trên một thiết bị thực tế có bật wifi.

Các bướcSự miêu tả
1Bạn sẽ sử dụng studio Android để tạo một ứng dụng Android theo gói com.example.sairamkrishna.myapplication.
2Sửa đổi tệp src / MainActivity.java để thêm mã WebView.
3Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng
4Sửa đổi AndroidManifest.xml để thêm các quyền cần thiết
5Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả.
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .
package com.example.sairamkrishna.myapplication;

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {
   Button enableButton,disableButton;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      enableButton=(Button)findViewById(R.id.button1);
      disableButton=(Button)findViewById(R.id.button2);

      enableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(true);
         }
      });
  
      disableButton.setOnClickListener(new OnClickListener(){
         public void onClick(View v){
            WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
            wifi.setWifiEnabled(false);
         }
      });
   }
}
Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<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">
 
   <ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" />
  
   <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginLeft="76dp"
      android:text="Enable Wifi"
      android:layout_centerVertical="true"
      android:layout_alignEnd="@+id/imageView" />

   <Button
      android:id="@+id/button2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Disable Wifi"
      android:layout_marginBottom="93dp"
      android:layout_alignParentBottom="true"
      android:layout_alignStart="@+id/imageView" />

</RelativeLayout>
Sau đây là nội dung của tệp AndroidManifest.xml .
<?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>
Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Android Mobile thực tế của mình với máy tính.

Để chạy ứng dụng từ studio Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Trước khi bắt đầu ứng dụng của bạn, studio Android sẽ hiển thị cửa sổ sau để chọn tùy chọn nơi bạn muốn chạy ứng dụng Android của mình.

Học lập trình Android Chọn thiết bị di động của bạn làm tùy chọn và Nó sẽ hiển thị hình ảnh sau đây

Bây giờ bấm vào vô hiệu hóa nút wifi. Sau đó, đầu ra mẫu sẽ như thế này

Không có nhận xét nào:

Đăng nhận xét

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...