0

私は開発者の世界ではまったく新しいものです。ちょうど 2 日前にコーディングを開始しましたが、今まではすべてうまくいきました。

今、私はアンドロイドウォッチフェイスを作ろうとしていて、スマートウォッチに基本的なビットマップだけを表示しようとしています(エミュレータを使用)

問題は、ウォッチフェイスがクラッシュするだけで、logcat に次のように表示されることです。

06-29 17:35:58.182 5594-5594/wear.trombettonj.prova2 E/AndroidRuntime: FATAL EXCEPTION: main
                                                                   Process: wear.trombettonj.prova2, PID: 5594
                                                                   java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
                                                                       at android.graphics.Bitmap.createScaledBitmap(Bitmap.java:658)
                                                                       at wear.trombettonj.prova2.AnalogWatchface$Engine.onSurfaceChanged(AnalogWatchface.java:126)
                                                                       at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:770)
                                                                       at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:878)
                                                                       at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1165)
                                                                       at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:37)
                                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                       at android.os.Looper.loop(Looper.java:154)
                                                                       at android.app.ActivityThread.main(ActivityThread.java:5974)
                                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:801)
                                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:691)

これらのエラーを修正しようとしました。たとえば、 WallpaperService.java:770 をクリックすると、このファイルが表示されます。

このファイルは、私が作成したものではないため、原始的なJavaライブラリであると想定しています。このファイルは、「シンボル「PRIVATE_FLAG_WANTS_OFFSET_NOTIFICATIONS(例)」を解決できません」というエラーでいっぱいです

ここで何が問題なのですか?

4

1 に答える 1

0

スタック トレースの重要な部分は次のとおりです。

Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference

at wear.trombettonj.prova2.AnalogWatchface$Engine.onSurfaceChanged(AnalogWatchface.java:126)

クラスの 126 行目で、nullオブジェクトAnalogWatchfaceを呼び出していることを意味します。それ自体は関係ありません。getWidth()BitmapWallpaperService

于 2016-06-30T03:50:03.720 に答える