想請問各位大大我 Part 1: 這樣 reflection的使用是對的嗎?
關於 part 2: 我完全沒有頭緒啊QQ
謝謝各位大大的賜教
( http://ppt.cc/~GXV 此為傷眼比較版 sorry QQ)
以下附上我原先寫的程式是
com.android.future.usb.UsbManager future = null;
android.hardware.usb.UsbManager hardware = null;
if( android.os.Build.VERSION.SDK_INT >10){
// Part 1:
hardware =
(android.hardware.usb.UsbManager)
context.getSystemService(Context.USB_SERVICE);
android.hardware.usb.UsbAccessory mAcc[] = null;
mAcc = hardware.getAccessoryList();
}
else{
// Part 2:
future = com.android.future.usb.UsbManager.getInstance(context);
com.android.future.usb.UsbAccessory mAcc[] = null;
mAcc = future.getAccessoryList();
}
改成 reflection後是
try{
// Part 1:
// 這部分用這樣不知道對不對 > <|||
Class<?> futureClass = Class.forName("com.android.future.usb.UsbManager");
Method m = futureClass.getMethod("getInstance", new Class[]{Context.class});
com.android.future.usb.UsbManager future =
(UsbManager) m.invoke(null, context);
com.android.future.usb.UsbAccessory mAcc[] = null;
mAcc = future.getAccessoryList();
}
catch( ClassNotFoundException e){
// Part 2:
// 這部分完全不知道該怎麼改(跟未修改前一模一樣)
主要是因為是使用 context.getSystemService來取得 UsbManager實體
android.hardware.usb.UsbManager hardware = null;
hardware =
(android.hardware.usb.UsbManager)
context.getSystemService(Context.USB_SERVICE);
android.hardware.usb.UsbAccessory mAcc[] = null;
mAcc = hardware.getAccessoryList();
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.3.187
※ 編輯: issuemylove 來自: 118.163.3.187 (11/20 13:37)