我注意到,使用快捷键Alt + Insert键并选择建筑商,它试图创建每个私有财产( cManager
和 mTextView构造
)。我记得我已经创建的项目,如果没有它,正确的工作。
当我运行该应用程序错误发生,继全面的logcat和活动
构造器:
构造与私有财产:
私人ConnectivityManager cManager;私人TextView的mTextView;公共SplashScreenActivity(){ this.cManager =(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); this.mTextView =(TextView中)this.findViewById(R.id.mProgressText);}
logcat的:
02-20 18:20:56.155 1591年至1591年/ com.universo91.towersrock I /艺术:不晚启用-Xcheck:JNI(已上)02-20 18:20:58.355 1591年至1591年/ com.universo91.towersrock D / AndroidRuntime:关闭VM ---------崩溃的开始02-20 18:20:58.361 1591年至1591年/ com.universo91.towersrock E / AndroidRuntime:致命异常:主要 工艺:com.universo91.towersrock,PID:1591 了java.lang.RuntimeException:无法实例活动ComponentInfo {com.universo91.towersrock / com.universo91.towersrock.Pages.SplashScreenActivity}:java.lang.InstantiationException:类com.universo91.towersrock.Pages.SplashScreenActivity没有零参数的构造函数 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) java.lang.InstantiationException:引起类com.universo91.towersrock.Pages.SplashScreenActivity没有零参数的构造函数 在java.lang.Class.newInstance(Class.java:1563) 在android.app.Instrumentation.newActivity(Instrumentation.java:1065) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) java.lang.NoSuchMethodException:引起<&初始化GT; [] 在java.lang.Class.getConstructor(Class.java:531) 在java.lang.Class.getDeclaredConstructor(Class.java:510) 在java.lang.Class.newInstance(Class.java:1561) 在android.app.Instrumentation.newActivity(Instrumentation.java:1065) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)02-20 18:20:58.772 1591年至1603年/ com.universo91.towersrock I /艺术:背景粘并发标记扫描GC释放1747(114KB)AllocSpace对象,0(0B)LOS对象,37%免费,391KB / 623KB,暂停825us总382.655ms02-20 18:21:29.824 1690至1690年/ com.universo91.towersrock D / AndroidRuntime:关闭VM02-20 18:21:29.829 1690至1690年/ com.universo91.towersrock E / AndroidRuntime:致命异常:主要 工艺:com.universo91.towersrock,PID:1690 了java.lang.RuntimeException:无法实例活动ComponentInfo {com.universo91.towersrock / com.universo91.towersrock.Pages.SplashScreenActivity}:java.lang.InstantiationException:类com.universo91.towersrock.Pages.SplashScreenActivity没有零参数的构造函数 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) java.lang.InstantiationException:引起类com.universo91.towersrock.Pages.SplashScreenActivity没有零参数的构造函数 在java.lang.Class.newInstance(Class.java:1563) 在android.app.Instrumentation.newActivity(Instrumentation.java:1065) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) java.lang.NoSuchMethodException:引起<&初始化GT; [] 在java.lang.Class.getConstructor(Class.java:531) 在java.lang.Class.getDeclaredConstructor(Class.java:510) 在java.lang.Class.newInstance(Class.java:1561) 在android.app.Instrumentation.newActivity(Instrumentation.java:1065) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)02-20 18:21:30.168 1690年至1702年/ com.universo91.towersrock I /艺术:背景粘并发标记扫描GC释放1749(114KB)AllocSpace对象,0(0B)LOS对象,37%免费,391KB / 623KB,暂停856us总166.355ms02-20 18:21:53.341 1690至1690年/ com.universo91.towersrock I /工艺:发送信号。 PID:1690 SIG:902-20 18:26:00.878 1754年至1754年/ com.universo91.towersrock D / AndroidRuntime:关闭VM02-20 18:26:00.903 1754年至1754年/ com.universo91.towersrock E / AndroidRuntime:致命异常:主要 工艺:com.universo91.towersrock,PID:1754 了java.lang.RuntimeException:无法实例活动ComponentInfo {com.universo91.towersrock / com.universo91.towersrock.Pages.SplashScreenActivity}:java.lang.IllegalStateException:之前的onCreate不向活动系统服务() 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) java.lang.IllegalStateException:引起的onCreate之前不向活动系统服务() 在android.app.Activity.getSystemService(Activity.java:4989) 在com.universo91.towersrock.Pages.SplashScreenActivity<&初始化GT;(SplashScreenActivity.java:24) 在java.lang.reflect.Constructor.newInstance(本机方法) 在java.lang.Class.newInstance(Class.java:1572) 在android.app.Instrumentation.newActivity(Instrumentation.java:1065) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360) 在android.app.ActivityThread.access $ 800(ActivityThread.java:144) 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1278) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5221) 在java.lang.reflect.Method.invoke(本机方法) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)02-20 18:26:01.144 1754年至1766年/ com.universo91.towersrock I /艺术:背景粘并发标记扫描GC释放1745(118KB)AllocSpace对象,0(0B)LOS对象,38%免费,382KB / 623KB,暂停950us总131.218ms02-20 18:26:04.429 1754年至1754年/ com.universo91.towersrock I /工艺:发送信号。 PID:1754 SIG:9
解决方案
的Android不允许您覆盖活动的构造
。你所有的初始化需要在你的活动
的的onCreate()
的方法来进行:
@覆盖公共无效的onCreate(捆绑savedInstanceState){ super.onCreate(savedInstanceState); this.cManager =(ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE); this.mTextView =(TextView中)this.findViewById(R.id.mProgressText);}
I noticed that using the shortcut Alt + Insert and selecting the builders, it tries to create a constructor with each private property (cManager
and mTextView
). I remember I already created projects without it and worked correctly.
The error happens when I run the application, following the full logcat and the Activity
constructor:
Constructor with private property:
private ConnectivityManager cManager;
private TextView mTextView;
public SplashScreenActivity() {
this.cManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
this.mTextView = (TextView)this.findViewById(R.id.mProgressText);
}
Logcat:
02-20 18:20:56.155 1591-1591/com.universo91.towersrock I/art﹕ Not late-enabling -Xcheck:jni (already on)
02-20 18:20:58.355 1591-1591/com.universo91.towersrock D/AndroidRuntime﹕ Shutting down VM
--------- beginning of crash
02-20 18:20:58.361 1591-1591/com.universo91.towersrock E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.universo91.towersrock, PID: 1591
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.universo91.towersrock/com.universo91.towersrock.Pages.SplashScreenActivity}: java.lang.InstantiationException: class com.universo91.towersrock.Pages.SplashScreenActivity has no zero argument constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.InstantiationException: class com.universo91.towersrock.Pages.SplashScreenActivity has no zero argument constructor
at java.lang.Class.newInstance(Class.java:1563)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NoSuchMethodException: <init> []
at java.lang.Class.getConstructor(Class.java:531)
at java.lang.Class.getDeclaredConstructor(Class.java:510)
at java.lang.Class.newInstance(Class.java:1561)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-20 18:20:58.772 1591-1603/com.universo91.towersrock I/art﹕ Background sticky concurrent mark sweep GC freed 1747(114KB) AllocSpace objects, 0(0B) LOS objects, 37% free, 391KB/623KB, paused 825us total 382.655ms
02-20 18:21:29.824 1690-1690/com.universo91.towersrock D/AndroidRuntime﹕ Shutting down VM
02-20 18:21:29.829 1690-1690/com.universo91.towersrock E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.universo91.towersrock, PID: 1690
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.universo91.towersrock/com.universo91.towersrock.Pages.SplashScreenActivity}: java.lang.InstantiationException: class com.universo91.towersrock.Pages.SplashScreenActivity has no zero argument constructor
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.InstantiationException: class com.universo91.towersrock.Pages.SplashScreenActivity has no zero argument constructor
at java.lang.Class.newInstance(Class.java:1563)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.NoSuchMethodException: <init> []
at java.lang.Class.getConstructor(Class.java:531)
at java.lang.Class.getDeclaredConstructor(Class.java:510)
at java.lang.Class.newInstance(Class.java:1561)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-20 18:21:30.168 1690-1702/com.universo91.towersrock I/art﹕ Background sticky concurrent mark sweep GC freed 1749(114KB) AllocSpace objects, 0(0B) LOS objects, 37% free, 391KB/623KB, paused 856us total 166.355ms
02-20 18:21:53.341 1690-1690/com.universo91.towersrock I/Process﹕ Sending signal. PID: 1690 SIG: 9
02-20 18:26:00.878 1754-1754/com.universo91.towersrock D/AndroidRuntime﹕ Shutting down VM
02-20 18:26:00.903 1754-1754/com.universo91.towersrock E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.universo91.towersrock, PID: 1754
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.universo91.towersrock/com.universo91.towersrock.Pages.SplashScreenActivity}: java.lang.IllegalStateException: System services not available to Activities before onCreate()
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate()
at android.app.Activity.getSystemService(Activity.java:4989)
at com.universo91.towersrock.Pages.SplashScreenActivity.<init>(SplashScreenActivity.java:24)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.Class.newInstance(Class.java:1572)
at android.app.Instrumentation.newActivity(Instrumentation.java:1065)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2199)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
02-20 18:26:01.144 1754-1766/com.universo91.towersrock I/art﹕ Background sticky concurrent mark sweep GC freed 1745(118KB) AllocSpace objects, 0(0B) LOS objects, 38% free, 382KB/623KB, paused 950us total 131.218ms
02-20 18:26:04.429 1754-1754/com.universo91.towersrock I/Process﹕ Sending signal. PID: 1754 SIG: 9
解决方案
Android does not allow you to override the constructor of Activity
. All your initializations need to be performed in the onCreate()
method of your Activity
:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.cManager = (ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE);
this.mTextView = (TextView)this.findViewById(R.id.mProgressText);
}
上一篇:妥善处理扔在一个线程或通过WPF调度异常线程、妥善处理、异常、WPF
下一篇:的SendKeys抽空太多时间在Android应用程序自动化输入文字使用TestNG,AVD模拟器,Appium服务器太多、模拟器、应用程序、输入文字