3

プロジェクトでカメラ/ギャラリーを使用します。このために、私は最初に写真を撮り、それを自分のフォルダー(pictureworldと仮定)に保存し、imageuriをローカルデータベースに保存しました。次に、画像をグリッドビューに表示しようとすると、警告メッセージが表示されます。グリッドビューには画像はありませんが、画像名を表示できます。写真を作成していることと、ローカルデータベースの uri が正しいことを確認しました。ギャラリーを使用して写真を保存しようとしているときに追加したいのですが、問題はありません。保存したギャラリーとカメラの画像を表示するために同じアダプターを使用しました。ここに警告を添付します:

03-10 17:48:11.367: W/System.err(522):  at libcore.io.IoBridge.open(IoBridge.java:406)
03-10 17:48:11.367: W/System.err(522):  at java.io.FileInputStream.<init>(FileInputStream.java:78)
03-10 17:48:11.367: W/System.err(522):  at java.io.FileInputStream.<init>(FileInputStream.java:105)
03-10 17:48:11.367: W/System.err(522):  at android.content.ContentResolver.openInputStream(ContentResolver.java:369)
03-10 17:48:11.367: W/System.err(522):  at android.provider.MediaStore$Images$Media.getBitmap(MediaStore.java:705)
03-10 17:48:11.367: W/System.err(522):  at hr.s2is.ischool.admin.adapter.CommunityUserAdapter.getView(CommunityUserAdapter.java:71)
03-10 17:48:11.367: W/System.err(522):  at android.widget.AbsListView.obtainView(AbsListView.java:2033)
03-10 17:48:11.367: W/System.err(522):  at android.widget.GridView.makeAndAddView(GridView.java:1323)
03-10 17:48:11.377: W/System.err(522):  at android.widget.GridView.makeRow(GridView.java:328)
03-10 17:48:11.377: W/System.err(522):  at android.widget.GridView.fillDown(GridView.java:281)
03-10 17:48:11.377: W/System.err(522):  at android.widget.GridView.fillFromTop(GridView.java:403)
03-10 17:48:11.377: W/System.err(522):  at android.widget.GridView.layoutChildren(GridView.java:1215)
03-10 17:48:11.377: W/System.err(522):  at android.widget.AbsListView.onLayout(AbsListView.java:1863)
03-10 17:48:11.377: W/System.err(522):  at android.view.View.layout(View.java:11278)
03-10 17:48:11.377: W/System.err(522):  at android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.377: W/System.err(522):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
03-10 17:48:11.387: W/System.err(522):  at android.view.View.layout(View.java:11278)
03-10 17:48:11.387: W/System.err(522):  at android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.387: W/System.err(522):  at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
03-10 17:48:11.387: W/System.err(522):  at android.view.View.layout(View.java:11278)
03-10 17:48:11.387: W/System.err(522):  at android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.387: W/System.err(522):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
03-10 17:48:11.397: W/System.err(522):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
03-10 17:48:11.397: W/System.err(522):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
03-10 17:48:11.397: W/System.err(522):  at android.view.View.layout(View.java:11278)
03-10 17:48:11.397: W/System.err(522):  at android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.397: W/System.err(522):  at android.widget.FrameLayout.onLayout(FrameLayout.java:431)
03-10 17:48:11.397: W/System.err(522):  at android.view.View.layout(View.java:11278)
03-10 17:48:11.397: W/System.err(522):  at android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.407: W/System.err(522):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1489)
03-10 17:48:11.407: W/System.err(522):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
03-10 17:48:11.407: W/System.err(522):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-10 17:48:11.407: W/System.err(522):  at android.os.Looper.loop(Looper.java:137)
03-10 17:48:11.407: W/System.err(522):  at android.app.ActivityThread.main(ActivityThread.java:4424)
03-10 17:48:11.407: W/System.err(522):  at java.lang.reflect.Method.invokeNative(Native Method)
03-10 17:48:11.417: W/System.err(522):  at java.lang.reflect.Method.invoke(Method.java:511)
03-10 17:48:11.417: W/System.err(522):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-10 17:48:11.417: W/System.err(522):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-10 17:48:11.417: W/System.err(522):  at dalvik.system.NativeStart.main(Native Method)
03-10 17:48:11.417: W/System.err(522): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
03-10 17:48:11.427: W/System.err(522):  at libcore.io.Posix.open(Native Method)
03-10 17:48:11.427: W/System.err(522):  at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
03-10 17:48:11.427: W/System.err(522):  at libcore.io.IoBridge.open(IoBridge.java:390)
4

2 に答える 2

0

権限を追加しましたか

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

もう一つ:

sdk では、内部ストレージのルートに書き込むことはできません。これによりエラーが発生します。このようなことを試してください

final File dir = new File(context.getFilesDir() + "/nfs/guille/groce/users/nicholsk/workspace3/SQLTest");
dir.mkdirs(); //create folders where write files
final File file = new File(dir, "BlockForTest.txt");
于 2013-03-19T15:02:17.870 に答える
0

ローカル ストレージを読み取る権限を与えていますか? 内部ストレージの書き込みと読み取りに関して、Android マニフェストでパーミッションが宣言されているかどうかを確認する必要があります。

于 2013-03-13T05:44:06.370 に答える