2013-03-10 2 views
3

Я собираюсь использовать камеру/галерею в своем проекте. В этом я сначала сделал снимок и сохранил его в своей папке (Предположим, что в картинке), а также сохранил изображение в локальной базе данных. Затем, когда я пытаюсь получить изображение, чтобы показать его в gridview, я получаю предупреждающее сообщение. В gridview нет изображения, но он может просматривать имя изображения. Я проверил, что он создает изображение, а также uri в localdatabase является правильным. Я хочу добавить, что когда я пытаюсь сохранить изображение, используя галерею, нет проблем. Я использовал один и тот же адаптер для просмотра сохраненной галереи и изображения камеры. Я прилагаю предупреждение здесь:Получение предупреждения при попытке просмотра сохраненного изображения камеры в gridview

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) 
+2

разместить свой файл корневой код, который вы пытаетесь писать в корень – DjHacktorReborn

+0

файла: ///mnt/sdcard/my%20folder/1362676603888.png это имя файла мой рисунок . в базе данных он сохраняется как этот каталог. Вот код: File directory = new File (Environment.getExternalStorageDirectory(). getAbsolutePath(), «моя папка»); – Developer

+0

вы можете разместить соответствующий код для своей озабоченности, один из которых недостаточно или, возможно, по крайней мере отредактируйте свой вопрос и добавьте его туда, также включите соответствующие ярлыки xml в ваш манифест. –

ответ

0

Вы дали разрешение на чтение локального хранилища? Вы должны проверить, объявлено ли какое-либо разрешение в Android Manifest относительно записи и чтения внутреннего хранилища.

+0

Я добавил все разрешения. Но это не работает . – Developer

+0

можете ли вы опубликовать код? –

0

вы добавили разрешения

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

еще вещь Один:

С SDK, вы не можете писать в корень внутренней памяти. Это вызывает ваш error.Try что-то вроде этого

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"); 
Смежные вопросы