2017-05-27 3 views
-1

Ok, cette erreur pour la vie de moi, je ne peux pas comprendre, au point où je ne sais même plus quoi google. Ceci est un fragment de ma classe initiale. (You can view the whole thing here)Pourquoi ma création de classe est-elle ignorée?

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Log.i("Avariel", "I am running"); 

     RealmManager realmManager = new RealmManager(); 

     Log.i("Avariel", "I have passed RM"); 

Dans ce que je suis en train de créer une classe de Realm Manager (You can view the whole class here). À ce stade, je peux même obtenir le "I am running Realm Manager's on Create" pour montrer. Quand je le débugger gèle.

public class RealmManager extends Activity { 

    public static final String TAG = MainFragmentActivity.class.getName(); 
    private Realm realm; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     Log.i("Avariel REALM", "I am running Realm Manager's on Create"); 
     /** 
     * https://realm.io/docs/java/latest/#getting-started 
     * http://facebook.github.io/stetho/ 
     * https://github.com/uPhyca/stetho-realm 
     * chrome://inspect/#devices 
     */ 
     /* Stetho.initializeWithDefaults(this); 
     Realm.init(this); 
     Stetho.initialize(
       Stetho.newInitializerBuilder(this) 
         .enableDumpapp(Stetho.defaultDumperPluginsProvider(this)) 
         .enableWebKitInspector(RealmInspectorModulesProvider.builder(this).build()) 
         .build()); 

     realm = Realm.getDefaultInstance(); 
     realm.beginTransaction(); 
     Player player = realm.createObject(Player.class); 
     player = player.create(01, "Gideon", "Barlock", "Orc", "Lawful Evil", "Fighter", "A wandering Warrior", 0, 30, 0, null, null, null, null, null, null, null, null, null, 0); 
     realm.commitTransaction(); 
     Realm.init(this); 

     RealmConfiguration config = new RealmConfiguration.Builder().build(); 
     Realm.setDefaultConfiguration(config);*/ 
    } 

    @Override 
    protected void onDestroy() { 
     super.onDestroy(); 
     realm.close(); 
    } 
Signification

le journal que je vois

05-27 22:38:13.477 32158-32158/com.example.gideonsassoon.avariel I/Avariel: I am running 
05-27 22:38:13.559 32158-32158/com.example.gideonsassoon.avariel I/Avariel: I have passed RM 

Qu'est-ce que je fait de mal ici. You can view the full project here

Un grand merci pour votre aide,

+1

Pourquoi 'RealmManager étend Activity'? –

Répondre

1

jamais créer une instance d'un Activity vous par le constructeur.

Depuis RealmManager ne semble pas être une activité réelle (avec une interface utilisateur et ainsi de suite), retirez extends Activity de votre déclaration de RealmManager. Ensuite, vous devez vous organiser pour appeler les méthodes sur votre RealmManager vous-même, comme tout autre objet Java.

0

"Je suis en cours d'exécution sur le royaume de directeur Créer"

Non, vous n'êtes pas. Vous avez appelé new, qui a appelé le constructeur par défaut, qui n'appelle jamais onCreate.

la solution suivante pour créer un objet Java régulier qui gère un objet Realm

public class RealmManager { 

    private final Context context; 
    private final Realm realm; 

    public RealmManager(Context context) { 
     Log.i("Avariel REALM", "I am running Realm Manager"); 
     context = context; 
     realm = Realm.getDefaultInstance(); 
    } 

Plus,

RealmManager realmManager = new RealmManager(this); 

Je crois tout ce que tout autre code appartient à une classe Application, pas d'activité

Par exemple