Schritt 3: Android:. Klasse-Code Teil 1.
Auf der linken Seite gibt es eine Ordner namens "app", öffnen Sie es und sehen Sie andere Ordner mit der Bezeichnung "Java".
Java-Ordner enthält das Paket an die Apk (com.led.led) und den Source-Code.
- Offenen DeviceList Klasse;
Importieren Sie die folgenden Pakete:
import android.widget.Button; import android.widget.ListView;
Erstellen Sie Widgets Variablen zur "rufen Sie die Widgets verwendet, um das Layout zu erstellen":
Button btnPaired;ListView devicelist;
Die Variablen zu initialisieren.
btnPaired = (Button)findViewById(R.id.button);devicelist = (ListView)findViewById(R.id.listView);
Importieren Sie die folgenden Pakete:
import java.util.Set; import java.util.ArrayList;import android.widget.Toast;import android.widget.ArrayAdapter;import android.widget.AdapterViewimport android.widget.AdapterView.OnClickListenerimport android.widget.TextView;import android.content.Intent;import android.bluetooth.BluetoothAdapter;import android.bluetooth.BluetoothDevice;
Erstellen Sie Variablen zur Bluetooth zu steuern:
private BluetoothAdapter myBluetooth = null;private Set pairedDevices;
Einen stabilen Code zu schreiben vermeidet seltsame Fehler, so ist es gut zu überprüfen, ob das Gerät verfügt über Bluetooth-Adapter und ob es aktiviert ist.
myBluetooth = BluetoothAdapter.getDefaultAdapter();if(myBluetooth == null) { //Show a mensag. that thedevice has no bluetooth adapter Toast.makeText(getApplicationContext(), "Bluetooth Device Not Available", Toast.LENGTH_LONG).show(); //finish apk finish(); } else { if (myBluetooth.isEnabled()) { } else { //Ask to the user turn the bluetooth on Intent turnBTon = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); startActivityForResult(turnBTon,1); }}
Laut Android Dokumente ist eine Absicht eine Messaging-Objekt, das Sie verwenden können, um eine Aktion von einer anderen app-Komponente anzufordern. Obwohl Absichten Kommunikation zwischen Komponenten in mehrfacher Hinsicht erleichtern, gibt es drei grundlegende Anwendungsfälle:
- Starten Sie eine Aktivität
Eine Aktivität stellt einen einzelnen Bildschirm in einer app. Sie können eine neue Instanz einer Aktivität beginnen, indem man eine Absicht, startActivity(). Die Absicht beschreibt die Aktivität zu starten und führt alle erforderlichen Daten.
- Zum Starten eines Dienstes:
Ein Dienst ist eine Komponente, die Vorgänge im Hintergrund ohne eine Benutzeroberfläche ausführt. Sie können einen Dienst um ein einmaliger Vorgang (z. B. Download einer Datei) durchzuführen, indem man eine Absicht, startService() starten. Die Absicht beschreibt den Dienst starten und führt alle erforderlichen Daten.
- Um eine Sendung zu liefern:
Ein Broadcast ist eine Nachricht, die jede app empfangen können. Das System liefert verschiedene Sendungen für Systemereignisse wie wenn das System hochfährt oder beginnt das Gerät aufladen. Eine Übertragung liefern auf andere apps durch die Übergabe einer Absicht, sendBroadcast(), sendOrderedBroadcast() oder sendStickyBroadcast().
Müssen wir "hören", wenn die Schaltfläche geklickt wird, um gekoppelte Geräte zu zeigen. Also umgehen OnClickListener Api damit
btnPaired.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { pairedDevicesList(); //method that will be called } });
Die PairedDevicesList -Methode:
private void pairedDevicesList(){ pairedDevices = myBluetooth.getBondedDevices(); ArrayList list = new ArrayList(); if (pairedDevices.size()>0) { for(BluetoothDevice bt : pairedDevices) { list.add(bt.getName() + "\n" + bt.getAddress()); //Get the device's name and the address } } else { Toast.makeText(getApplicationContext(), "No Paired Bluetooth Devices Found.", Toast.LENGTH_LONG).show(); } final ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, list); devicelist.setAdapter(adapter); devicelist.setOnItemClickListener(myListClickListener); //Method called when the device from the list is clicked}