カメラを使って写真を撮る方法を学ぼうとしています。このチュートリアルを参照して、MakePhotoActivity
クラスを実装しようとしています。携帯電話でアプリを実行すると、アプリは正常に起動します。理想的には、「MakePhoto」ボタンをクリックして画像をキャプチャし、SD カードに保存する必要があります。しかし、「MakePhoto」ボタンをクリックしても、アプリケーションは何もしません。logcatを確認すると、私error -2147483648
はそれに参加しました。ここで何が起こっているのか、このエラーを解決するにはどうすればよいですか?
編集:
ログキャットは次のとおりです。
03-16 13:16:03.608: I/Process(7907): Sending signal. PID: 7907 SIG: 9
03-16 13:16:11.108: D/TextLayoutCache(8052): Using debug level: 0 - Debug Enabled: 0
03-16 13:16:11.148: D/libEGL(8052): loaded /system/lib/egl/libGLES_android.so
03-16 13:16:11.158: D/libEGL(8052): loaded /system/lib/egl/libEGL_adreno200.so
03-16 13:16:11.158: D/libEGL(8052): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
03-16 13:16:11.158: D/libEGL(8052): loaded /system/lib/egl/libGLESv2_adreno200.so
03-16 13:16:11.198: D/OpenGLRenderer(8052): Enabling debug mode 0
03-16 13:16:28.308: D/MakePhotoActivity(8052): Camera found
03-16 13:16:28.498: E/Camera(8052): Error -2147483648
また、SDカードで写真を探してみましたが、見つかりませんでした。
プログラムをデバッグしようとしました。ここに私が得るものがあります:
03-16 14:23:13.949: W/dalvikvm(11426): threadid=1: thread exiting with uncaught exception (group=0x2b542210)
編集2:
Ok。を使用してキャッチされていない例外を出力しているだけなe.printStackTrace();
ので、logcat はログに次のように追加します。
03-16 14:39:09.589: W/System.err(12863): java.lang.NullPointerException
03-16 14:39:09.599: W/System.err(12863): at edu.gatech.makephotoactivity.MakePhotoActivity.onClick(MakePhotoActivity.java:43)
03-16 14:39:09.599: W/System.err(12863): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 14:39:09.599: W/System.err(12863): at java.lang.reflect.Method.invoke(Method.java:511)
03-16 14:39:09.599: W/System.err(12863): at android.view.View$1.onClick(View.java:3058)
03-16 14:39:09.599: W/System.err(12863): at android.view.View.performClick(View.java:3534)
03-16 14:39:09.599: W/System.err(12863): at android.view.View$PerformClick.run(View.java:14263)
03-16 14:39:09.599: W/System.err(12863): at android.os.Handler.handleCallback(Handler.java:605)
03-16 14:39:09.599: W/System.err(12863): at android.os.Handler.dispatchMessage(Handler.java:92)
03-16 14:39:09.609: W/System.err(12863): at android.os.Looper.loop(Looper.java:137)
03-16 14:39:09.609: W/System.err(12863): at android.app.ActivityThread.main(ActivityThread.java:4441)
03-16 14:39:09.609: W/System.err(12863): at java.lang.reflect.Method.invokeNative(Native Method)
03-16 14:39:09.609: W/System.err(12863): at java.lang.reflect.Method.invoke(Method.java:511)
03-16 14:39:09.609: W/System.err(12863): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
03-16 14:39:09.609: W/System.err(12863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
03-16 14:39:09.609: W/System.err(12863): at dalvik.system.NativeStart.main(Native Method)
だから、私は取得していNullPointerException
ます。私の推測では、getDir()
関数は何も返していません。しかし、よくわかりません。例外が発生する理由と、それを取り除く方法を教えてください。
編集3:
今、プログラムをもう一度デバッグしようとしています。Class File Editor からメッセージが表示されますSource Not Found. The source attachment does not contain source for ClassLoader.class
。ここに詳細を記載できますが、長くなりすぎます。どうやら私のコードはPhotoHandler
class を見つけることができません。Eclipseに同じパッケージ内のクラスを見つけるにはどうすればよいですか?