2011-04-15 47 views
4

我有我的應用程序做它的應用程序的東西(保持記錄,處理單例等),我有一個嵌套的服務,將處理套接字連接。我以前在自己的課堂上有過這項服務,但是由於我提高了效率,我認爲將它移入應用程序是一個好主意。我更新清單:是否允許將服務嵌套到應用程序中?

<service android:name="com.arm.core.ArmApplication$IOService"/> 

我認爲這是聲明嵌套服務的正確方法,但我得到一個InstantiationException。服務需要是靜態還是我不允許將服務嵌套到另一個類中?

04-15 14:11:53.167: ERROR/AndroidRuntime(18379): FATAL EXCEPTION: main 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379): java.lang.RuntimeException: Unable to instantiate service com.android.appion.arm.core.AppionApplication$IOService: java.lang.InstantiationException: com.android.appion.arm.core.AppionApplication$IOService 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:3102) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.app.ActivityThread.access$3300(ActivityThread.java:135) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2202) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.os.Handler.dispatchMessage(Handler.java:99) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.os.Looper.loop(Looper.java:144) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at java.lang.reflect.Method.invoke(Method.java:521) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at dalvik.system.NativeStart.main(Native Method) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379): Caused by: java.lang.InstantiationException: com.android.appion.arm.core.AppionApplication$IOService 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at java.lang.Class.newInstanceImpl(Native Method) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at java.lang.Class.newInstance(Class.java:1429) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  at android.app.ActivityThread.handleCreateService(ActivityThread.java:3099) 
04-15 14:11:53.167: ERROR/AndroidRuntime(18379):  ... 10 more 
+0

你是在'ArmApplication'中聲明IOService爲'public static'嗎? – 2011-04-15 20:08:38

+0

你可以發佈'InstantiationException'跟蹤文本嗎? – 2011-04-15 20:09:40

+0

不,是的.... – AedonEtLIRA 2011-04-15 20:10:43

回答

5

您必須具有默認構造函數。所以是的,將其聲明爲靜態或將其放入它自己的類中。

+0

太棒了,謝謝! – AedonEtLIRA 2011-04-15 20:17:40

相關問題