Android - Bluetooth
Di antara banyak cara, Bluetooth adalah cara untuk mengirim atau menerima data antara dua perangkat berbeda. Platform Android menyertakan dukungan untuk kerangka kerja Bluetooth yang memungkinkan perangkat bertukar data secara nirkabel dengan perangkat Bluetooth lain.
Android menyediakan Bluetooth API untuk melakukan operasi yang berbeda ini.
Pindai perangkat Bluetooth lain
Dapatkan daftar perangkat yang dipasangkan
Hubungkan ke perangkat lain melalui penemuan layanan
Android menyediakan kelas BluetoothAdapter untuk berkomunikasi dengan Bluetooth. Buat objek panggilan ini dengan memanggil metode statis getDefaultAdapter (). Sintaksnya diberikan di bawah ini.
private BluetoothAdapter BA;
BA = BluetoothAdapter.getDefaultAdapter();
Untuk mengaktifkan Bluetooth perangkat Anda, panggil maksud dengan konstanta Bluetooth berikut, ACTION_REQUEST_ENABLE. Sintaksnya adalah.
Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnOn, 0);
Selain konstanta ini, ada konstanta lain yang disediakan API, yang mendukung berbagai tugas. Mereka terdaftar di bawah ini.
Sr Tidak | Konstan & deskripsi |
---|---|
1 | ACTION_REQUEST_DISCOVERABLE Konstanta ini digunakan untuk mengaktifkan penemuan bluetooth |
2 | ACTION_STATE_CHANGED Konstanta ini akan memberi tahu bahwa status Bluetooth telah diubah |
3 | ACTION_FOUND Konstanta ini digunakan untuk menerima informasi tentang setiap perangkat yang ditemukan |
Setelah Anda mengaktifkan Bluetooth, Anda bisa mendapatkan daftar perangkat yang dipasangkan dengan memanggil metode getBondedDevices (). Ia mengembalikan satu set perangkat bluetooth. Sintaksnya adalah.
private Set<BluetoothDevice>pairedDevices;
pairedDevices = BA.getBondedDevices();
Selain dari Perangkat yang ditangkis, ada metode lain di API yang memberikan lebih banyak kontrol atas Bluetooth. Mereka terdaftar di bawah ini.
Sr Tidak | Metode & deskripsi |
---|---|
1 | enable() Metode ini mengaktifkan adaptor jika tidak diaktifkan |
2 | isEnabled() Metode ini mengembalikan nilai true jika adaptor diaktifkan |
3 | disable() Metode ini menonaktifkan adaptor |
4 | getName() Metode ini mengembalikan nama adaptor Bluetooth |
5 | setName(String name) Metode ini mengubah nama Bluetooth |
6 | getState() Metode ini mengembalikan status Adaptor Bluetooth saat ini. |
7 | startDiscovery() Metode ini memulai proses penemuan Bluetooth selama 120 detik. |
Contoh
Contoh ini memberikan demonstrasi kelas BluetoothAdapter untuk memanipulasi Bluetooth dan menampilkan daftar perangkat yang disandingkan dengan Bluetooth.
Untuk bereksperimen dengan contoh ini, Anda perlu menjalankannya di perangkat yang sebenarnya.
Langkah | Deskripsi |
---|---|
1 | Anda akan menggunakan studio Android untuk membuat aplikasi Android dengan paket com.example.sairamkrishna.myapplication. |
2 | Ubah file src / MainActivity.java untuk menambahkan kode |
3 | Ubah layout file XML res / layout / activity_main.xml tambahkan komponen GUI jika diperlukan. |
4 | Ubah AndroidManifest.xml untuk menambahkan izin yang diperlukan. |
5 | Jalankan aplikasi dan pilih perangkat android yang sedang berjalan dan instal aplikasi di atasnya dan verifikasi hasilnya. |
Berikut adalah konten dari src/MainActivity.java
package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.Set;
public class MainActivity extends Activity {
Button b1,b2,b3,b4;
private BluetoothAdapter BA;
private Set<BluetoothDevice>pairedDevices;
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.button);
b2=(Button)findViewById(R.id.button2);
b3=(Button)findViewById(R.id.button3);
b4=(Button)findViewById(R.id.button4);
BA = BluetoothAdapter.getDefaultAdapter();
lv = (ListView)findViewById(R.id.listView);
}
public void on(View v){
if (!BA.isEnabled()) {
Intent turnOn = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(turnOn, 0);
Toast.makeText(getApplicationContext(), "Turned on",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(getApplicationContext(), "Already on", Toast.LENGTH_LONG).show();
}
}
public void off(View v){
BA.disable();
Toast.makeText(getApplicationContext(), "Turned off" ,Toast.LENGTH_LONG).show();
}
public void visible(View v){
Intent getVisible = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
startActivityForResult(getVisible, 0);
}
public void list(View v){
pairedDevices = BA.getBondedDevices();
ArrayList list = new ArrayList();
for(BluetoothDevice bt : pairedDevices) list.add(bt.getName());
Toast.makeText(getApplicationContext(), "Showing Paired Devices",Toast.LENGTH_SHORT).show();
final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list);
lv.setAdapter(adapter);
}
}
Berikut adalah konten dari activity_main.xml
Berikut abc menunjukkan tentang logo tutorialspoint.
<?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"
android:transitionGroup="true">
<TextView android:text="Bluetooth Example"
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" />
<ImageView
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"
android:theme="@style/Base.TextAppearance.AppCompat" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Turn On"
android:id="@+id/button"
android:layout_below="@+id/imageView"
android:layout_toStartOf="@+id/imageView"
android:layout_toLeftOf="@+id/imageView"
android:clickable="true"
android:onClick="on" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get visible"
android:onClick="visible"
android:id="@+id/button2"
android:layout_alignBottom="@+id/button"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="List devices"
android:onClick="list"
android:id="@+id/button3"
android:layout_below="@+id/imageView"
android:layout_toRightOf="@+id/imageView"
android:layout_toEndOf="@+id/imageView" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="turn off"
android:onClick="off"
android:id="@+id/button4"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:layout_alignParentBottom="true"
android:layout_alignLeft="@+id/button"
android:layout_alignStart="@+id/button"
android:layout_below="@+id/textView2" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Paired devices:"
android:id="@+id/textView2"
android:textColor="#ff34ff06"
android:textSize="25dp"
android:layout_below="@+id/button4"
android:layout_alignLeft="@+id/listView"
android:layout_alignStart="@+id/listView" />
</RelativeLayout>
Berikut adalah konten dari Strings.xml
<resources>
<string name="app_name">My Application</string>
</resources>
Berikut adalah konten dari 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.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
<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>
Mari coba jalankan aplikasi Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Android Mobile Anda yang sebenarnya dengan komputer Anda. Untuk menjalankan aplikasi dari Android studio, buka salah satu file aktivitas proyek Anda dan klik
Sekarang pilih saja tombol Get Visible untuk mengaktifkan visibilitas Anda. Layar berikut akan muncul meminta izin Anda untuk mengaktifkan penemuan selama 120 detik.
Sekarang pilih saja opsi Daftar Perangkat. Ini akan mencantumkan perangkat yang dipasangkan dalam tampilan daftar. Dalam kasus saya, saya hanya memiliki satu perangkat yang dipasangkan. Itu ditunjukkan di bawah ini.
Sekarang pilih saja tombol Matikan untuk mematikan Bluetooth. Pesan berikut akan muncul ketika Anda mematikan bluetooth yang menunjukkan berhasil mematikan Bluetooth.