Thứ Ba, 3 tháng 7, 2018

Android - Wi-Fi

Học lập trình Android cho phép ứng dụng truy cập để xem trạng thái 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 một 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 thương lượng, thông tin mạng khác. Ứng dụng cũng có thể quét, thêm, lưu, chấm dứt và khởi tạo kết nối Wi-Fi.

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 phải đăng ký BroadcastReceiver của mình. Nó có thể được đăng ký bằng cách sử dụng phương thức registerReceiver với đối số của đối tượng lớp 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ét wifi có thể được bắt đầu bằng cách gọi phương thức startScan củ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 list. 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 quét chỉ, bạn có thể kiểm soát nhiều hơn WIFI của bạn bằng cách sử dụng các phương pháp được xác định trong lớp WifiManager. Chúng được liệt kê như sau:

Sr.NoPhương thức & Mô tả
1addNetwork (cấu hình WifiConfiguration)

Phương pháp này thêm mô tả mạng mới vào tập hợp các mạng được định cấu hình.
2createWifiLock (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 thức này tách rời khỏi điểm truy cập hiện đang hoạt động.
4enableNetwork (int netId, boolean disableOthers)

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 thức này nhận trạng thái được bật Wi-Fi
6isWifiEnabled ()

Phương thức này trả về cho dù Wi-Fi được bật hay tắt.
7setWifiEnabled (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ạng được cấu hình hiện có.

Thí dụ

Dưới đây là 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 của bạn và đóng wifi của bạn

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

Các bướcSự miêu tả
1Bạn sẽ sử dụng Android studio để tạo ứ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 tệp Android Manifest.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 đã 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 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 Android Manifest.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 cho rằng bạn đã kết nối thiết bị Android Mobile thực tế với máy tính của mình. Để chạy ứng dụng từ Android studio, 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, Android studio sẽ hiển thị cửa sổ sau để chọn tùy chọn mà bạn muốn chạy ứng dụng Android của mình.

ảnh minh họa

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

NIIT-ICT
ảnh minh họa

Bây giờ bấm vào nút tắt wifi.then đầu ra mẫu nên được như thế này 

NIIT-ICT
ảnh minh họa

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 ...