0
저는 현재 마이크로 컨트롤러와 통신하기 위해 API18에 USB Android Open Accessory v2.0을 개발 중입니다. 내 주요 활동에서 데이터를 전송할 때 마이크로 컨트롤러와 안드로이드를 성공적으로 연결했습니다. 그러나, 주요 활동 내에서 조각으로부터 데이터를 보내려고했을 때 의사 소통이 이루어지지 않는 것처럼 보였습니다.Android Open Accessory - 단편으로부터 메시지 교환
패키지 구조 :
com.main
MainActivity.java
AOA -----> (Package)
AOAInterface.java
Fragments -----> (Package)
HomeFragment.java
MainActivity.java :
public class MainActivity extends Activity implements OnClickListener{
AOAInterface mAOAMain;
/*********************************************************************************
* Private variables
********************************************************************************/
private ImageButton Home;
public static final int IO = 1;
public static final int Buzzer = 0x10;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Home = (ImageButton) this.findViewById(R.id.button_home);
mAOAMain = new AOAInterface(this);
Home.setOnClickListener(this);
} //end onCreate
@Override
protected void onResume(){
super.onResume();
mAOAMain.vAOA_Resume();
} //end onResume
@Override
protected void onPause(){
super.onPause();
} //end onPause
@Override
protected void onDestroy(){
super.onDestroy();
mAOAMain.vAOA_Destroy();
} //end onDestroy
@Override
public void onClick(View v) {
byte[] data = new byte[2];
data[1] = 0;
switch (v.getId()){
case R.id.button_home:
data[0] = IO;
data[1] |= Buzzer;
mAOAMain.vAOA_Send(data);
break;
} //end switch
} //end onClick
}
HomeFragment.java
public class HomeFragment extends Fragment implements OnClickListener{
AOAInterface mAOAHome;
ImageButton Light;
public static final int IO = 1;
public static final int Buzzer = 0x10;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState){
View view = inflater.inflate(R.layout.fragment_home, container, false);
//mAOAHome = new AOAInterface(getActivity());
Light = (ImageButton) view.findViewById(R.id.button_light);
Light.setOnClickListener(this);
return view;
}
@Override
public void onAttach(Activity activity){
super.onAttach(activity);
mAOAHome = new AOAInterface(activity);
}
@Override
public void onClick(View v) {
byte[] ucCommandPacket = new byte[2];
switch(v.getId()){
case R.id.button_light:
ucCommandPacket[0] = IO;
ucCommandPacket[1] = Buzzer;
mAOAHome.vAOA_Send(ucCommandPacket);
Log.d(TAG, "Data[0]"+ucCommandPacket[0]);
Log.d(TAG, "Data[1]"+ucCommandPacket[1]);
break;
}
}
}
AOAInterface.java
내 프로젝트 구조 및 코드에 따라조각으로 작성한 코드를 수행 할 수 있습니까? 아니면 USB를 통해 전송하기 전에 인터페이스를 생성하고 주요 활동으로 전달해야합니까? 고맙습니다.