-1

현재 Arduino 로봇 팔의 블루투스 컨트롤러 인 앱을 프로그래밍 중입니다.'BluetoothAdapter null 객체 참조'(logcat 포함) - Android

'시작'(b7) 버튼을 누르면 블루투스를 사용할 수 있습니다. 하지만 앱이 멈추고 logcat에 다음과 같이 표시됩니다.

"null 객체 참조에서 java.util.Set android.bluetooth.BluetoothAdapter.getBondedDevices() '가상 메소드를 호출하려고합니다."

package trombertlabs.essai1; 

import android.bluetooth.BluetoothAdapter; 
import android.bluetooth.BluetoothDevice; 
import android.bluetooth.BluetoothSocket; 

import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.ImageButton; 
import java.util.Set; 

import java.io.IOException; 
import java.io.OutputStream; 
import java.util.UUID; 

public class MainActivity extends ActionBarActivity { 

    ImageButton b, b0, b1, b2, b3, b4; 
    Button b5, b6, b7; 


    BluetoothAdapter bA; 

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     b = (ImageButton)findViewById(R.id.upbb); 
     b0 = (ImageButton)findViewById(R.id.upba); 
     b1 = (ImageButton) findViewById(R.id.downba); 
     b2 = (ImageButton)findViewById(R.id.downbb); 
     b3 = (ImageButton)findViewById(R.id.leftb); 
     b4 = (ImageButton)findViewById(R.id.rightb); 
     b5 = (Button)findViewById(R.id.closeb); 
     b6 = (Button)findViewById(R.id.openb); 
     b7 = (Button)findViewById(R.id.startb); 

     b7.setOnClickListener(new View.OnClickListener(){ 
      public void onClick(View v){ 
       BtInterface(); 
      } 
     }); 

    } 

     public void BtInterface() { 

     if (!bA.isEnabled()) { 
      bA.enable(); 
     } 
     else { 
     } 
     } 



    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.menu_main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     int id = item.getItemId(); 

     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 


} 

는 사실, 거기에 '수입'과 사용되지 않는, 그러나이 프로젝트의 나머지 부분입니다 버튼 : 여기

는 코드입니다.

+0

사용한 코드를 게시 할 수 있습니까? – Bek

답변

0

BluetoothAdapter bA;을 초기화해야합니다.

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ba = BluetoothAdapter.getDefaultAdapter(); 
+0

감사합니다 다이버들! 나는 그것을 초기화했다. '최종적인 BluetoothAdapter bA = BluetoothAdapter.getDefaultAdapter();' 감사합니다 Tunaki, 나는 깊이에서 중복을 연구 할 것입니다. –