Android Developer WebサイトでBluetoothについて多くのことを読んでいますが、1つは理解できません。リストビューで取得した、彼のMACアドレスを使用してペアリングされた(または結合された)デバイスとの接続を開始するにはどうすればよいですか。コードが機能するかどうかを確認するために(OnItemClickListner部分)、ボタンを使用してMACアドレスを表示します。しかし、私がやりたいのは、OnItemClickListenerを使用して、選択したデバイスとの接続を開始することです。(私の説明が明確であることを願っています)
これが私のコードの少なくとも一部です。 http://pastie.org/4591835
自分がやりたいことをするためにrfcommthingyを使う方法がわからないということです。
誰かが私にこれを説明してもらえますか?
私のコードの目的は、AndroidフォンをArduinoに接続し、いくつかのボタンを介してそれに文字を送信することです。たとえば、ボタンLed1は「A」をarduinoに送信します。
前もって感謝します !
package com.jon.arduino.remote;
import java.util.Set;
import android.os.Bundle;
import android.app.Activity;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class NextActivity extends Activity {
// Variables & constantes
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
private ArrayAdapter<String> deviceslist;
public static String EXTRA_DEVICE_ADDRESS = "device_address";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_device_list);
setupUI();
searchbtdevices();
}
///////////////////////////////////////////////////////////////////
private void searchbtdevices() {
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
// If there are paired devices
if (pairedDevices.size() > 0) {
// Loop through paired devices
for (BluetoothDevice device : pairedDevices) {
// Add the name and address to an array adapter to show in a ListView
deviceslist.add(device.getName() + "\n" + device.getAddress());
}
}
}
///////////////////////////////////////////////////////////////////
/*private void connecttobt()
{
}*/
///////////////////////////////////////////////////////////////////
private void setupUI() {
final Button btnmacaddress = (Button) findViewById(R.id.btnmacaddress);
final ListView bt_deviceslist = (ListView) findViewById(R.id.bt_deviceslist);
deviceslist = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
bt_deviceslist.setAdapter(deviceslist);
bt_deviceslist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> list, View v, int pos, long id) {
mBluetoothAdapter.cancelDiscovery();
String info = ((TextView) v).getText().toString();
// Attempt to extract a MAC address
String macaddress = info.substring(info.length() - 17);
// Create the result Intent and include the MAC address
Intent intent = new Intent();
intent.putExtra(EXTRA_DEVICE_ADDRESS, macaddress);
mBluetoothAdapter.cancelDiscovery();
// connecttobt();
btnmacaddress.setText(macaddress);
}});
}
///////////////////////////////////////////////////////////////////
}