Android Bluetooth Tutorial

Blant mange måter er Bluetooth en måte å sende eller motta data mellom to forskjellige enheter. Android-plattformen inkluderer støtte for Bluetooth-rammeverk som gjør at en enhet til trådløst utveksle data med andre Bluetooth-enheter.

Android gir Bluetooth API for å utføre disse forskjellige operasjoner.

  • Skann for andre Bluetooth enheter

    Få en liste over sammenkoblede enheter

    Koble til andre enheter via tjenesten oppdagelse

    Android gir BluetoothAdapter klassen til å kommunisere med Bluetooth. Opprett et objekt for sitt kall ved å kalle den statiske metoden getDefaultAdapter (). Syntaksen er gitt nedenfor
    privat BluetoothAdapter BA;. BA = BluetoothAdapter.getDefaultAdapter ();

    For å aktivere Bluetooth på enheten, kan du ringe hensikten med følgende Bluetooth konstant ACTION_REQUEST_ENABLE. Syntaksen er
    Intent turnon = new Intent (BluetoothAdapter.ACTION_REQUEST_ENABLE);. StartActivityForResult (turnon, 0);

    Bortsett fra dette er konstant, er det andre konstanter gitt API, som støtter forskjellige oppgaver. De er listet opp nedenfor
    Sr.NoConstant &.; description1 ACTION_REQUEST_DISCOVERABLE

    Denne konstante brukes for turn på å oppdage av bluetooth
    2 ACTION_STATE_CHANGED

    Denne konstante vil varsle at Bluetooth staten har blitt endret
    3 < b> ACTION_FOUND

    Denne konstante brukes til å motta informasjon om hver enhet som er oppdaget

    Når du aktiverer Bluetooth, kan du få en liste over sammenkoblede enheter ved å ringe getBondedDevices () -metoden. Den returnerer et sett med Bluetooth-enheter. Syntaksen er
    private Set. ≪ BluetoothDevice > pairedDevices; pairedDevices = BA.getBondedDevices ();

    I tillegg til de parerte Devices, finnes det andre metoder i API som gir mer kontroll over Blueetooth. De er listet opp nedenfor
    Sr.NoMethod &.; description1 aktivere ()

    Denne metoden gjør at adapteren hvis ikke aktivert
    2 isEnabled ()

    Denne metoden returnerer true hvis kortet er aktivert
    3 < b> deaktivere ()

    Denne metoden deaktiverer adapter
    4 getName ()

    Denne metoden returnerer navnet på Bluetooth-adapter
    5 setName ( String navn)

    Denne metoden endrer Bluetooth-navnet
    6 getState ()

    Denne metoden returnerer gjeldende status for Bluetooth Adapter.
    7 startDiscovery ()

    Denne metoden starter oppdagelsen prosessen med Bluetooth i 120 sekunder.

    Eksempel

    Dette eksemplet gir demonstrasjon av BluetoothAdapter klasse å manipulere Bluetooth og viser listen over sammenkoblede enheter av Bluetooth.

    For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet.
    StepsDescription1You vil bruke Android studio for å lage en Android-applikasjon en pakke com.example.sairamkrishna.myapplication;. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK til å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge til code3Modify layout XML fil res /layout /activity_main.xml legge noen GUI-komponent hvis required.4Modify AndroidManifest.xml å legge nødvendig permissions.5Run programmet og velge en som kjører Android-enhet, og installere programmet på den og verifisere resultatene.

    Her er innholdet i src /MainActivity.java
    pakken com.example.sairamkrishna.myapplication, import android.app.Activity, import android.bluetooth.BluetoothAdapter, import android.bluetooth.BluetoothDevice, 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 .Menyen, 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.ArrayList, import java.util.List, import java.util.Set; public class MainActivity strekker Aktivitet {Button b1, b2, b3, b4; private BluetoothAdapter BA; private Set < BluetoothDevice > pairedDevices; Listview lv; Override Beskyttet 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 på (Se v) {if {Intent turnon = new Intent (BluetoothAdapter.ACTION_REQUEST_ENABLE) (BA.isEnabled ()!); startActivityForResult (turnon, 0); Toast.makeText (getApplicationContext (), "Slått på", Toast.LENGTH_LONG) .vis (); } Else {Toast.makeText (getApplicationContext (), "Allerede på", Toast.LENGTH_LONG) .vis (); }} Public void off (Se v) {BA.disable (); Toast.makeText (getApplicationContext (), "slått av", Toast.LENGTH_LONG) .vis (); } Public void synlig (Vis v) {Intent getVisible = new Intent (BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); startActivityForResult (getVisible, 0); } Public void liste (Se v) {pairedDevices = BA.getBondedDevices (); Arraylist liste = new Arraylist (); for (BluetoothDevice bt: pairedDevices) list.add (bt.getName ()); Toast.makeText (getApplicationContext (), "Viser Sammenkoblede enheter", Toast.LENGTH_SHORT) .vis (); endelig ArrayAdapter adapter = new ArrayAdapter (dette, android.R.layout.simple_list_item_1, liste); lv.setAdapter (adapter); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . getMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingen bar varen klikk her. Handlingsfeltet vil //automatisk håndtere klikker på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (element); }}

    Her er innholdet i activity_main.xml
    < RelativeLayout xmlns: Android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "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 ". MainActivity" = "@ dimen /activity_vertical_margin" android:: paddingBottom = "@ dimen /activity_vertical_margin" verktøy kontekst = android: transitionGroup = "true" > < TextView android: text = "Bluetooth Eksempel" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /textview" android: Tekststørrelse = "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: Tekststørrelse = "35dp" /> < Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /abc" android: layout_below = "+ id /textView" android : layout_centerHorizontal = "true" android: tema = "@ stil /Base.TextAppearance.AppCompat" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Turn On" android: id = "+ id /knapp" android: layout_below = "+ id /bildeVis" android: layout_toStartOf = "+ id /bildeVis" android: layout_toLeftOf = "+ id /bildeVis" android: klikkbar = "true" android: onclick = "on" /> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Get synlig" android: onclick = "synlig" android: id = "+ id /knappen2" android: layout_alignBottom = "+ id /knapp "android: layout_centerHorizontal =" true "/> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "List enheter" android: onclick = "list" android: id = "+ id /Button3" android: layout_below = "+ id /bildeVis "android: layout_toRightOf =" + id /bildeVis "android: layout_toEndOf =" + id /bildeVis "/> < Button android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "slå av" android: onclick = "off" android: id = "+ id /button4" android: layout_below = "+ id /knapp "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 /knapp" android: layout_alignStart = "+ id /knapp" android: layout_below = "+ id /textView2" /> < TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "sammenkoblede enheter:" android: id = "+ id /textView2" android: textcolor = "# ff34ff06" android: Tekststørrelse = " 25dp "android: layout_below =" + id /button4 "android: layout_alignLeft =" + id /Listview "android: layout_alignStart =" + id /Listview "/> < /RelativeLayout >

    Her er innholdet av strings.xml
    < resources > < string name = "APP_NAME" > My Application < /string > < string name = "hello_world" > Hei, verden <! /string > < string name = "action_settings" > Innstillinger < /string > < /ressurser >

    Her er innholdet i AndroidManifest.xml
    <? xml version = "1.0" encoding = "utf-8" > < manifest xmlns:? android = "http://schemas.android.com/apk/res/android" pakken = "com.example.sairamkrishna.myapplication" > < bruker-tillatelse android: name = "android.permission.BLUETOOTH" /> < bruker-tillatelse android: name = "android.permission.BLUETOOTH_ADMIN" /> < søknad android: allowBackup = "true" android: icon = "@ Mipmap /ic_launcher" android: label = "@ streng /APP_NAME" android: tema = "@ stil /AppTheme" > < aktivitet android: ". MainActivity" name = android: label = "@ streng /APP_NAME" > < intent-filter > < handling android: name = "android.intent.action.MAIN" /> < kategori android: name = "android.intent.category.LAUNCHER" /> < /intent-filter > < /aktivitets > < /søknad > < /manifest >

    La oss prøve å kjøre programmet. Jeg antar at du har koblet den faktiske Android Mobile-enhet med datamaskinen. For å kjøre programmet fra Android studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Før du starter programmet, vil Android studio vise følgende vindu for å velge et alternativ hvor du vil kjøre Android-applikasjon.

    Nå velger Slå på for å slå på Bluetooth. Men som du velger det, Bluetooth vil ikke bli slått på. Faktisk vil det be om tillatelse til å aktivere Bluetooth.

    Nå bare velg Få Synlig-knappen for å slå på synlighet. Følgende skjermbilde vil vises spør om tillatelse til å slå på oppdagelse i 120 sekunder.

    Nå bare velge List Devices alternativet. Det vil liste ned de sammenkoblede enheter i listevisning. I mitt tilfelle, jeg har bare en sammenkoblet enhet. Det er vist nedenfor.

    Nå bare velge Slå av-knappen for å slå av Bluetooth. Følgende melding vil vises når du slår av bluetooth indikerer vellykket utkobling av Bluetooth.