Java 如何从listview中获取数据并将其放入数据库

Java 如何从listview中获取数据并将其放入数据库,java,android,listview,bluetooth,Java,Android,Listview,Bluetooth,制作了一个蓝牙扫描应用程序,我想将这些扫描的蓝牙添加到数据库中,就像当用户在列表视图中单击按钮时我需要一个按钮一样,同时转到数据库我对java和android也是新手 任何帮助都将不胜感激 package com.example.test.test; import android.app.Activity; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothD

制作了一个蓝牙扫描应用程序,我想将这些扫描的蓝牙添加到数据库中,就像当用户在列表视图中单击按钮时我需要一个按钮一样,同时转到数据库我对java和android也是新手 任何帮助都将不胜感激

    package com.example.test.test;

    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.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.ListView;
    import android.widget.Spinner;
    import android.widget.Toast;

    import java.util.Set;

     public class MainActivity extends Activity {


           Spinner spinner;
          ArrayAdapter<CharSequence> adapter;
          ArrayAdapter<CharSequence>adapter1;
         ArrayAdapter<CharSequence>adapter2;

          ListView listDevicesFound;
           Button btnScanDevice;
            BluetoothAdapter bluetoothAdapter;
          int REQUEST_CODE = 1;

         ArrayAdapter<String>btArrayAdapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);




        spinner=(Spinner) findViewById(R.id.spinner);
               adapter=ArrayAdapter.createFromResource(this,R.array.DEPARTMENT,android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+"selected",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        spinner=(Spinner) findViewById(R.id.spinner2);
        adapter1=ArrayAdapter.createFromResource(this,R.array.batch,android.R.layout.simple_spinner_item);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter1);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+"selected",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        spinner=(Spinner) findViewById(R.id.spinner3);
        adapter2=ArrayAdapter.createFromResource(this,R.array.group,android.R.layout.simple_spinner_item);
        adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter2);
        spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+"selected",Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
        btnScanDevice = (Button)findViewById(R.id.scandevice);
        bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

        listDevicesFound = (ListView)findViewById(R.id.devicesfound);
        btArrayAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1);
        listDevicesFound.setAdapter(btArrayAdapter);
        CheckBlueToothState();

        btnScanDevice.setOnClickListener(btnScanDeviceOnClickListener);

        registerReceiver(ActionFoundReceiver,new IntentFilter(BluetoothDevice.ACTION_FOUND));


    }

    @Override
    protected void onDestroy() {
        super.onDestroy();unregisterReceiver(ActionFoundReceiver);
    }
    private void CheckBlueToothState()
    {
        if (bluetoothAdapter == null)
        {
            Toast.makeText(getBaseContext(),"Bluetooth Not Supported",Toast.LENGTH_LONG).show();

        }
        else
        {
            if (bluetoothAdapter.isEnabled())
            {
                if(bluetoothAdapter.isDiscovering())
                {
                    Toast.makeText(getBaseContext(),"Bluetooth is currently in device discover process",Toast.LENGTH_LONG).show();
                }
                else
                {
                    Toast.makeText(getBaseContext(),"Bluetooth is Enabled",Toast.LENGTH_LONG).show();
                    btnScanDevice.setEnabled(true);
                }
            }
            else
            {

                    Toast.makeText(getBaseContext(), "Bluetooth is not Enabled", Toast.LENGTH_LONG).show();
                    Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
                    startActivityForResult(enableBtIntent, REQUEST_CODE);

            }
        }
    }
    private Button.OnClickListener btnScanDeviceOnClickListener= new Button.OnClickListener(){

        @Override
        public void onClick(View arg0) {

            btArrayAdapter.clear();
            if(bluetoothAdapter.startDiscovery())
            {
                Toast.makeText(getBaseContext(),"Scanning", Toast.LENGTH_LONG).show();
            }

        }};

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == REQUEST_CODE)
        {
            CheckBlueToothState();
        }
    }
    private final BroadcastReceiver ActionFoundReceiver = new BroadcastReceiver(){

        @Override
        public void onReceive(Context context, Intent intent) {

            String action = intent.getAction();
            if(BluetoothDevice.ACTION_FOUND.equals(action)) {
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                btArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                btArrayAdapter.notifyDataSetChanged();
            }
        }};
}
package com.example.test.test;
导入android.app.Activity;
导入android.bluetooth.BluetoothAdapter;
导入android.bluetooth.bluetooth设备;
导入android.content.BroadcastReceiver;
导入android.content.Context;
导入android.content.Intent;
导入android.content.IntentFilter;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.ListView;
导入android.widget.Spinner;
导入android.widget.Toast;
导入java.util.Set;
公共类MainActivity扩展了活动{
纺纱机;
阵列适配器;
ArrayAdapter1;
ArrayAdapter2;
ListView listDevicesFound;
按钮式btnScanDevice;
蓝牙适配器;
int请求_代码=1;
ArrayAdapterbtArrayAdapter;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
微调器=(微调器)findViewById(R.id.spinner);
adapter=ArrayAdapter.createFromResource(这个,R.array.DEPARTMENT,android.R.layout.simple\u微调器\u项);
setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+“selected”,Toast.LENGTH_SHORT.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
微调器=(微调器)findViewById(R.id.spinner2);
adapter1=ArrayAdapter.createFromResource(这个,R.array.batch,android.R.layout.simple\u微调器\u项);
adapter1.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器1);
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+“selected”,Toast.LENGTH_SHORT.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
微调器=(微调器)findViewById(R.id.spinner3);
adapter2=ArrayAdapter.createFromResource(这个,R.array.group,android.R.layout.simple\u微调器\u项);
adapter2.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器2);
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
Toast.makeText(getBaseContext(),parent.getItemAtPosition(position)+“selected”,Toast.LENGTH_SHORT.show();
}
@凌驾
未选择公共无效(AdapterView父级){
}
});
btnScanDevice=(按钮)findViewById(R.id.scandevice);
bluetoothAdapter=bluetoothAdapter.getDefaultAdapter();
listDevicesFound=(ListView)findViewById(R.id.devicesfound);
btArrayAdapter=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u list\u item\u 1);
listDevicesFound.setAdapter(btArrayAdapter);
CheckBlueToothState();
btnScanDevice.setOnClickListener(btnscandeviceonConClickListener);
registerReceiver(ActionFoundReceiver,新的IntentFilter(BluetoothDevice.ACTION_-FOUND));
}
@凌驾
受保护的空onDestroy(){
super.onDestroy();取消注册接收器(ActionFoundReceiver);
}
私有void CheckBlueToothState()
{
if(bluetoothAdapter==null)
{
Toast.makeText(getBaseContext(),“不支持蓝牙”,Toast.LENGTH_LONG.show();
}
其他的
{
if(bluetoothAdapter.isEnabled())
{
if(bluetoothAdapter.isDiscovering())
{
Toast.makeText(getBaseContext(),“蓝牙当前处于设备发现过程”,Toast.LENGTH_LONG.show();
}
其他的
{
Toast.makeText(getBaseContext(),“蓝牙已启用”,Toast.LENGTH_LONG.show();
btnScanDevice.setEnabled(true);
}
}
其他的
{
Toast.makeText(getBaseContext(),“蓝牙未启用”,Toast.LENGTH_LONG.show();
Intent enablebintent=新意图(BluetoothAdapter.ACTION\u REQUEST\u ENABLE);
startActivityForResult(启用BTINTENT、请求代码);
}
}
}
private Button.OnClickListener BTNSCandeviceonConClickListener=新建按钮。OnClickListener(){
@凌驾
公共void onClick(视图arg0){
btArrayAdapter.clear();
if(bluetoothAdapter.startDiscovery())
{
Toast.makeText(getBaseContext(),“Scanning”,Toast.LENGTH_LONG.show();
}
}};
@凌驾
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
if(requestCode==请求\代码)
{
蓝牙状态
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;


public class DatabaseHelper extends SQLiteOpenHelper {

private final String TABLE_NAME = "scans"

private final String KEY_DATA = "data"

public DatabaseHelper(Context context) {
    super(context, "BluetoothData", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE IF NOT EXISTS "+TABLE_NAME+" ("
            + BaseColumns._ID
            + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_DATA + " VARCHAR )");
}

public void addScanRecord(String record){
    SQLiteDatabase database = this.getWritableDatabase();
    db.execSQL("INSERT INTO " + TABLE_NAME + " ( " + KEY_DATA+ ") VALUES ('" + record + "')");
    database.close();
}

}
public List<String> getAllData(){
      return myAdapterList;
}
List<String> bluetoothRecords = btArrayAdapter.getAllData();

DatabaseHelper  bdHelper= new DatabaseHelper (this);
for(String record : bluetoothRecords){
    bdHelper.addScanRecord(record);
}