2016-06-29 4 views
0

Я совершенно новый в мире разработчиков, я начал кодирование всего 2 дня назад, но до сих пор все прошло хорошо.Написание Android Wear Watchface, с ошибками в Wallpaperervice.java

Теперь я пытаюсь сделать андроида и я циферблат пытаюсь отобразить только основной битовый массив на SmartWatch (с помощью эмулятора)

Проблема заключается в том, что мой циферблат просто падает и 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 (пример)»

Что здесь проблема?

ответ

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 вашего AnalogWatchface класса, вы как раз вызова getWidth() на нуль Bitmap объекта. Это не имеет никакого отношения к WallpaperServiceper se.