1

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);
                                                                                    }});                
                            }
    ///////////////////////////////////////////////////////////////////                                                                                 
}
4

1 に答える 1

2

私はあなたがやりたいことと似たようなことをしました、そしてで見つけることができる2つの例があります:

http://digitalhacksblog.blogspot.com/2012/05/arduino-to-android-basic-bluetooth.html

http://digitalhacksblog.blogspot.com/2012/05/arduino-to-android-turning-led-on-and.html

最初の例は、BlueTermというプログラムを使用してAndroidからArduinoにテキストを送信する方法を示しています。これは、AndroidとArduinoの両方が通信できるようにするための基本的なセットアップを示しています。

2番目の例は、ArduinoのLEDをオンまたはオフにするAndroid上のプログラムです。これは、プログラムから2つのデバイス間で通信する方法を示しています。

例には、AndroidとArduinoの両方に必要なすべてのコードが含まれています。

お役に立てれば。

于 2012-08-28T02:56:52.383 に答える