我想在android中測試我的應用程序的擴展文件功能。但是,下載不起作用。我使用SampleDownloaderActivity.java代碼來顯示下載的進度。 但是,屏幕上沒有可見的下載進度。我已經包含了所需的代碼http://developer.android.com/google/play/expansion-files.html擴展文件下載功能不起作用
給出的文檔我必須測試應用程序的擴展文件下載。
當應用程序啓動從SampleDownloaderActivity.java創建的UI是可見的時,點擊暫停下載按鈕將崩潰應用程序給出空指針異常。
下面就是應用程序崩潰
mPauseButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mStatePaused)
{
mRemoteService.requestContinueDownload();
}
else
{
mRemoteService.requestPauseDownload();
}
setButtonPausedState(!mStatePaused);
}
});
}
下面的代碼是崩潰日誌我得到: -
07-17 22:26:21.998: E/AndroidRuntime(19293): java.lang.NullPointerException
07-17 22:26:21.998: E/AndroidRuntime(19293): at com.lht.egoscue.SampleDownloaderActivity$2.onClick(SampleDownloaderActivity.java:360)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.view.View.performClick(View.java:4084)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.view.View$PerformClick.run(View.java:16966)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.os.Handler.handleCallback(Handler.java:615)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.os.Handler.dispatchMessage(Handler.java:92)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.os.Looper.loop(Looper.java:137)
07-17 22:26:21.998: E/AndroidRuntime(19293): at android.app.ActivityThread.main(ActivityThread.java:4745)
07-17 22:26:21.998: E/AndroidRuntime(19293): at java.lang.reflect.Method.invokeNative(Native Method)
07-17 22:26:21.998: E/AndroidRuntime(19293): at java.lang.reflect.Method.invoke(Method.java:511)
07-17 22:26:21.998: E/AndroidRuntime(19293): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
07-17 22:26:21.998: E/AndroidRuntime(19293): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-17 22:26:21.998: E/AndroidRuntime(19293): at dalvik.system.NativeStart.main(Native Method)
我知道我可以添加該檢查,但我的問題是爲什麼mRemoteService爲空? –
你的代碼在哪裏初始化? –
@Override public void onServiceConnected(Messenger m){ mRemoteService = DownloaderServiceMarshaller.CreateProxy(m); mRemoteService.onClientUpdated(mDownloaderClientStub.getMessenger()); } –