2015-04-11 2 views
0

У меня есть небольшой, простой проект, но когда я его запустил, я получаю сообщение об ошибке. Я предполагаю, что это просто ошибка в манифесте, но я не могу это исправить. Logcat говорит Невозможно создать экземпляр приложения. Любая помощь оценивается.Android: Невозможно создать экземпляр приложения

Manifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.meter" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="21" /> 

    <application 
     android:name="com.example.meter.ModelData" 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 


     <activity android:name="com.example.meter.MeterID" 
      android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
       <activity android:name="com.example.meter.DatenSenden" > 
     </activity> 
    </application> 

Применение: пакет com.example.meter;

import android.app.Application; 

    public class ModelData extends Application{ 

     private String meterID; 
     private String name; 

     public ModelData(String meterID, String name) { 
      this.meterID = meterID; 
      this.name = name; 
     } 

     public String getName() { 
      return name; 
     } 

     public void setName(String aName) { 
      name = aName; 
     } 

     public String getMeterID() { 
      return meterID; 
     } 

     public void setMeterID(String aMeterID) { 
      meterID = aMeterID; 
     } 

    } 

Errorlog:

04-11 22:21:05.636: D/ResourcesManager(3291): creating new AssetManager and set to /data/app/com.example.meter-2/base.apk 
04-11 22:21:05.666: D/AndroidRuntime(3291): Shutting down VM 
04-11 22:21:05.666: E/AndroidRuntime(3291): FATAL EXCEPTION: main 
04-11 22:21:05.666: E/AndroidRuntime(3291): Process: com.example.meter, PID: 3291 
04-11 22:21:05.666: E/AndroidRuntime(3291): java.lang.RuntimeException: Unable to instantiate application com.example.meter.ModelData: java.lang.InstantiationException: class com.example.meter.ModelData has no zero argument constructor 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.app.LoadedApk.makeApplication(LoadedApk.java:625) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5088) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.app.ActivityThread.access$1600(ActivityThread.java:177) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.os.Handler.dispatchMessage(Handler.java:102) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.os.Looper.loop(Looper.java:145) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at android.app.ActivityThread.main(ActivityThread.java:5944) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at java.lang.reflect.Method.invoke(Native Method) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at java.lang.reflect.Method.invoke(Method.java:372) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389) 
04-11 22:21:05.666: E/AndroidRuntime(3291):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184) 
04-11 22:21:05.666: E/AndroidRuntime(3291): Caused by: java.lang.InstantiationException: class com.example.meter.ModelData has no zero argument constructor 
+0

Также прочитайте остальную часть сообщения об ошибке: «class com.example.meter.ModelData не имеет конструктора нулевых аргументов» => В этом проблема, у вас есть только конструктор с двумя строковыми параметрами ... :-) – siegi

ответ

1

Избавьтесь от ModelData конструктора. Ничто никогда не вызовет его, и оно устраняет конструктор нулевого аргумента по умолчанию, который вам нужен.

Еще не получили, ModelData не продлевать Application и не регистрировать его в манифесте в элементе <application>. Ваш ModelData, похоже, не гарантирует создание настраиваемого подкласса Application.

Смежные вопросы