Android 尝试在gridview中查看保存的相机图片时收到警告

Android 尝试在gridview中查看保存的相机图片时收到警告,android,gridview,android-camera,filenotfoundexception,Android,Gridview,Android Camera,Filenotfoundexception,我将在我的项目中使用照相机/图库。为此,我首先拍摄了一张照片并将其保存在我的文件夹(假设pictureworld)中,还将imageuri保存在localdatabase中。然后,当我试图让图片显示在gridview中时,我会收到一条警告消息。在gridview中没有图片,但它可以查看图片名称。我已经检查过它是否正在创建图片,以及localdatabase中的uri是否正确。我想在尝试使用gallery保存图片时添加这一点。没有问题。我使用了相同的适配器来查看保存的图库和相机图片。我在此附上警告

我将在我的项目中使用照相机/图库。为此,我首先拍摄了一张照片并将其保存在我的文件夹(假设pictureworld)中,还将imageuri保存在localdatabase中。然后,当我试图让图片显示在gridview中时,我会收到一条警告消息。在gridview中没有图片,但它可以查看图片名称。我已经检查过它是否正在创建图片,以及localdatabase中的uri是否正确。我想在尝试使用gallery保存图片时添加这一点。没有问题。我使用了相同的适配器来查看保存的图库和相机图片。我在此附上警告:

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)
03-1017:48:11.367:W/System.err(522):位于libcore.io.IoBridge.open(IoBridge.java:406)
03-10 17:48:11.367:W/System.err(522):位于java.io.FileInputStream。(FileInputStream.java:78)
03-10 17:48:11.367:W/System.err(522):位于java.io.FileInputStream。(FileInputStream.java:105)
03-10 17:48:11.367:W/System.err(522):在android.content.ContentResolver.openInputStream(ContentResolver.java:369)
03-10 17:48:11.367:W/System.err(522):在android.provider.MediaStore$Images$Media.getBitmap(MediaStore.java:705)
03-10 17:48:11.367:W/System.err(522):在hr.s2is.ischool.admin.adapter.CommunityUserAdapter.getView(CommunityUserAdapter.java:71)
03-10 17:48:11.367:W/System.err(522):位于android.widget.AbsListView.obtainView(AbsListView.java:2033)
03-10 17:48:11.367:W/System.err(522):在android.widget.GridView.makendaddview(GridView.java:1323)
03-10 17:48:11.377:W/System.err(522):位于android.widget.GridView.makeRow(GridView.java:328)
03-10 17:48:11.377:W/System.err(522):在android.widget.GridView.fillDown(GridView.java:281)
03-10 17:48:11.377:W/System.err(522):在android.widget.GridView.fillFromTop(GridView.java:403)上
03-10 17:48:11.377:W/System.err(522):在android.widget.GridView.layoutChildren(GridView.java:1215)上
03-10 17:48:11.377:W/System.err(522):在android.widget.AbsListView.onLayout(AbsListView.java:1863)
03-10 17:48:11.377:W/System.err(522):在android.view.view.layout(view.java:11278)
03-10 17:48:11.377:W/System.err(522):在android.view.ViewGroup.layout(ViewGroup.java:4224)上
03-10 17:48:11.377:W/System.err(522):在android.widget.RelativeLayout.onLayout(RelativeLayout.java:925)
03-10 17:48:11.387:W/System.err(522):在android.view.view.layout(view.java:11278)
03-10 17:48:11.387:W/System.err(522):位于android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.387:W/System.err(522):位于android.widget.FrameLayout.onLayout(FrameLayout.java:431)
03-10 17:48:11.387:W/System.err(522):在android.view.view.layout(view.java:11278)
03-10 17:48:11.387:W/System.err(522):位于android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.387:W/System.err(522):位于android.widget.LinearLayout.setChildFrame(LinearLayout.java:1628)
03-10 17:48:11.397:W/System.err(522):位于android.widget.LinearLayout.layoutVertical(LinearLayout.java:1486)
03-10 17:48:11.397:W/System.err(522):位于android.widget.LinearLayout.onLayout(LinearLayout.java:1399)
03-10 17:48:11.397:W/System.err(522):在android.view.view.layout(view.java:11278)
03-10 17:48:11.397:W/System.err(522):在android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.397:W/System.err(522):位于android.widget.FrameLayout.onLayout(FrameLayout.java:431)
03-10 17:48:11.397:W/System.err(522):在android.view.view.layout(view.java:11278)
03-10 17:48:11.397:W/System.err(522):在android.view.ViewGroup.layout(ViewGroup.java:4224)
03-10 17:48:11.407:W/System.err(522):在android.view.ViewRootImpl.performTraversals上(ViewRootImpl.java:1489)
03-10 17:48:11.407:W/System.err(522):在android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
03-10 17:48:11.407:W/System.err(522):位于android.os.Handler.dispatchMessage(Handler.java:99)
03-10 17:48:11.407:W/System.err(522):在android.os.Looper.loop(Looper.java:137)上
03-10 17:48:11.407:W/System.err(522):位于android.app.ActivityThread.main(ActivityThread.java:4424)
03-10 17:48:11.407:W/System.err(522):位于java.lang.reflect.Method.invokenactive(本机方法)
03-10 17:48:11.417:W/System.err(522):位于java.lang.reflect.Method.invoke(Method.java:511)
03-10 17:48:11.417:W/System.err(522):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-10 17:48:11.417:W/System.err(522):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-10 17:48:11.417:W/System.err(522):在dalvik.System.NativeStart.main(本机方法)
03-10 17:48:11.417:W/System.err(522):原因:libcore.io.ErrnoException:open失败:enoint(没有这样的文件或目录)
03-10 17:48:11.427:W/System.err(522):位于libcore.io.Posix.open(本机方法)
03-10 17:48:11.427:W/System.err(522):位于libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
03-10 17:48:11.427:W/System.err(522):位于libcore.io.IoBridge.open(IoBridge.java:390)

您是否已授予读取本地存储的权限?您应该检查Android清单中是否声明了任何关于写入和读取内部存储的权限。

您添加了权限吗

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

发布您试图写入的文件根代码rootfile:///mnt/sdcard/my%20folder/1362676603888.png 这是我照片的文件名。在数据库中,它保存为该目录。下面是代码:File directory=new File(Environment.getExternalStorageDirectory().getAbsolutePath(),“我的文件夹”);您是否可以发布相关代码以解决您的问题,上面的代码还不够,或者至少可以编辑您的问题并将其添加到那里,还可以在您的清单中包含相关的xml标记。查看您的日志,我可以看到处理视图上投射的图像的内容,您是否可以提供代码来显示您是如何执行此操作的?请检查此处[与你的问题相关][1]也要通过[这:][2][1]:[2]:
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");