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
既にチェックされています。 「ペット」とのクロスチェックでさえ、udacityでGoogleアンドロイドコースをやっている間にやった。 CONTENT_URIに何か問題が見つかりませんでした。 – 3dwa21