Paso 3: Android:. Clase código parte 1.
En el lado izquierdo hay una carpeta llamada "app", abrirlo y verás otra carpeta llamada "java".
Carpeta de Java contiene el conjunto del apk (com.led.led) y todo el código fuente.
- Clase abierta de la lista de dispositivos;
Importar los paquetes siguientes:
import android.widget.Button; import android.widget.ListView;
Crear variables de widgets los widgets usados para crear el diseño de "llamar":
Button btnPaired;ListView devicelist;
Inicializar las variables.
btnPaired = (Button)findViewById(R.id.button);devicelist = (ListView)findViewById(R.id.listView);
Importar los siguientes paquetes:
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;
Crear variables para controlar el bluetooth:
private BluetoothAdapter myBluetooth = null;private Set pairedDevices;
Escribir un código estable evita errores extraños, por lo que es bueno para comprobar si el dispositivo adaptador bluetooth y si se activa.
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); }}
Según los documentos de Android, la intención es un objeto mensajería que puede utilizar para solicitar una acción de otro componente de la aplicación. Aunque pretende facilitar la comunicación entre componentes de varias maneras, existen tres casos fundamentales:
- Para iniciar una actividad:
Una actividad representa una pantalla en una aplicación. Puede iniciar una nueva instancia de una actividad pasando la intención startActivity(). El propósito describe la actividad para comenzar y lleva los datos necesarios.
- Para iniciar un servicio:
Un servicio es un componente que realiza operaciones en el fondo sin una interfaz de usuario. Puede iniciar un servicio para realizar una operación una sola vez (por ejemplo, descargar un archivo) aprobando la intención startService(). El propósito describe el servicio para iniciar y lleva los datos necesarios.
- Para ofrecer una transmisión:
Un broadcast es un mensaje que puede recibir cualquier aplicación. El sistema ofrece varias transmisiones de eventos del sistema, como cuando el sistema arranca hasta el comienza de dispositivo de carga. Puede entregar una emisión a otras aplicaciones pasando la intención sendBroadcast(), sendOrderedBroadcast() o sendStickyBroadcast().
Tenemos que "escuchar" cuando se hace clic en el botón Mostrar dispositivos emparejados. Así que lo manejará OnClickListener Api
btnPaired.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { pairedDevicesList(); //method that will be called } });
El método PairedDevicesList :
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}