마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

For문을 사용하면 되나요?

0 추천

알려주신 방법이 맞는지는 모르겠지만

 

File path = new File("/mnt/ext_sd/img");
    File[] files = path.listFiles();
    Arrays.sort(files);
   
    for(File f:files)
    {
    Log.d("FILE", f.getAbsolutePath());
    Mat m = Highgui.imread(f.getAbsolutePath());
   
    Bitmap bm = Bitmap.createBitmap(m.cols(), m.rows(), Bitmap.Config.ARGB_8888);
    Utils.matToBitmap(m, bm);
    iv.setImageBitmap(bm);
    bm.recycle();
   
    }
 
대략 이런 코드로 테스트를 해보니
 
10-08 00:25:07.584: E/AndroidRuntime(3415): FATAL EXCEPTION: main
10-08 00:25:07.584: E/AndroidRuntime(3415): java.lang.NullPointerException
10-08 00:25:07.584: E/AndroidRuntime(3415): at com.dk.test.MainActivity.helloworld(MainActivity.java:107)
10-08 00:25:07.584: E/AndroidRuntime(3415): at com.dk.test.MainActivity$1.onManagerConnected(MainActivity.java:61)
10-08 00:25:07.584: E/AndroidRuntime(3415): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.os.Handler.handleCallback(Handler.java:605)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.os.Handler.dispatchMessage(Handler.java:92)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.os.Looper.loop(Looper.java:137)
10-08 00:25:07.584: E/AndroidRuntime(3415): at android.app.ActivityThread.main(ActivityThread.java:4424)
10-08 00:25:07.584: E/AndroidRuntime(3415): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 00:25:07.584: E/AndroidRuntime(3415): at java.lang.reflect.Method.invoke(Method.java:511)
10-08 00:25:07.584: E/AndroidRuntime(3415): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
10-08 00:25:07.584: E/AndroidRuntime(3415): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
10-08 00:25:07.584: E/AndroidRuntime(3415): at dalvik.system.NativeStart.main(Native Method)
 
 
NullPointerException에러가 발생하면서 Unfortunately, ~~~ has stopped.라는 메세지와 함께 종료가 되어 버려요.
 
여기에 어떤 문제가 있는지 알려주시면 정말 감사하겠습니다  :)
 
쿨가이킴 (140 포인트) 님이 2013년 10월 8일 질문
com.dk.test.MainActivity.helloworld(MainActivity.java:107) 여기서 널포인트 발생하네요. 저기 뭐있는지 보면 알 수 있겠죠
감사합니다! 제가 바보 같이 ImageView를 초기화 안하고 바로 사용해서 에러가 났었네용^^;;

그나저나 for문으로 이미지 각각 읽어서 ImageView에 뿌리면 모든 처리가 끝나고 젤 마지막 이미지만 보이는데 각각 이미지를 애니메이션 처럼 보이게 하려면 어떻게 해야하나요? Thread를 써야하나요??

감사합니다!
쓰레드 써서 sleep으로 인터벌 주셔도 되고(다만 쓰레드에서 UI 수정 안됩니다.) AsyncTask 사용해서 해도 되고, 핸들러 써서 postDelayed 메소드로 해도 됩니다. 다른 방법도 있을테고요. 방법은 다양하니 잘 생각해보면 되겠죠
빠른 답변 정말 감사드립니다^^ 일단 도전한번 해보겠습니다!
좋은 하루 보내세요~~

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...