0
해야 할 일 : 통합 된 ZXING
으로 바코드를 스캔하고 바코드를 앱의 SQLite database
에 저장하십시오.오류 zxing으로 스캔 한 후 데이터베이스에 데이터 저장
처음에는 바코드를 스캔하고 화면에 Toast-Message
으로 표시 했으므로 이제까지 정상적으로 작동했습니다.
이후에는 데이터베이스에 barcode
을 삽입하는 기능을 추가했습니다.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
} else {
addAP(result.getContents());
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
private void addAP(String barcodeNumber) {
int codeLength = barcodeNumber.length();
barcodeNumber = barcodeNumber.substring(4,codeLength - 1);
int APID = Integer.parseInt(barcodeNumber);
//Toast.makeText(this, "Scanned: " + APID, Toast.LENGTH_LONG).show();
String title = "TestAP-" + barcodeNumber;
ContentValues values = new ContentValues();
values.put(APEntry.AP_ID, 13222);
values.put(APEntry.AP_TITLE, title);
Toast.makeText(this, APEntry.CONTENT_URI.toString(), Toast.LENGTH_LONG).show();
getContentResolver().insert(APEntry.CONTENT_URI, values);
}
나는 또한 ZXING
에 텐트를 생략하고 직접 onClick
방법에 addAP
함수를 호출 시도 : 여기
12-29 11:58:00.363 28012-28012/com.factory.future.ap_manager E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.factory.future.ap_manager, PID: 28012
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=49374, result=-1, data=Intent { act=com.google.zxing.client.android.SCAN flg=0x80000 launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } (has extras) }} to activity {com.factory.future.ap_manager/com.factory.future.ap_manager.MainActivity}: java.lang.IllegalArgumentException: Unknown URL content://com.factory.future.ap_manager/aps
at android.app.ActivityThread.deliverResults(ActivityThread.java:4520)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4563)
at android.app.ActivityThread.-wrap22(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1698)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
Caused by: java.lang.IllegalArgumentException: Unknown URL content://com.factory.future.ap_manager/aps
at android.content.ContentResolver.insert(ContentResolver.java:1276)
at com.factory.future.ap_manager.MainActivity.addAP(MainActivity.java:116)
at com.factory.future.ap_manager.MainActivity.onActivityResult(MainActivity.java:95)
at android.app.Activity.dispatchActivityResult(Activity.java:7282)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4516)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4563)
at android.app.ActivityThread.-wrap22(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1698)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
스캔 결과를 처리하기위한 코드이다 : 그 이후로 나는 다음과 같은 오류를 받고 있어요 . 거기에 다음과 같은 오류가 :
java.lang.IllegalArgumentException: Unknown URL content://com.factory.future.ap_manager/aps
가 여기에있는 모든 파일에 대한 링크입니다 : Link
APEntry.CONTENT_URI가 이상하게 보입니다. – Kushan
이미 확인되었습니다. "애완 동물"과 교차 검사를 한 경우에도 - 우드 시티에서 Google android 과정을하고있는 동안 한 적이 있습니다. CONTENT_URI에 잘못된 것이 없습니다. – 3dwa21