1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. Fossil89, 12.05.2012 #1
    Fossil89

    Fossil89 Threadstarter Neuer Benutzer

    Nabend zusammen,

    ich habe eine Activity Klasse die ja autaomatisch implementiert wird und eine selbsterstellte "Test" Klasse. In dieser "Test" Klasse lege ich eine Datenbank (SQLite) an mithilfe der Methode

    private void onCreateDBAndDBTabled()

    Nun möchte ich diese Methode in der Activity Klasse aufrufen, bekomme dabei aber immer eine NullPointerException.

    Ich erhalte keinerlei Fehlermeldung in Eclipse selbe, sondern erst wenn ich den Emulator starte....
     
  2. Fossil89, 13.05.2012 #2
    Fossil89

    Fossil89 Threadstarter Neuer Benutzer

    Habs leider bisher immer noch nicht hinbekommen, es kann doch ned so schwer sein diesen Zugriff zu regeln, irgendwie liegt das an dieser blöden Activity.... :glare:
     
  3. Fossil89, 16.05.2012 #3
    Fossil89

    Fossil89 Threadstarter Neuer Benutzer

    Ich habe mir nochmal andere Code Bsp. angeschaut und festgestellt das viele einfach den gesamten Code in 1 Activity Klasse stecken, ist das wircklich so vorgesehen.
    Ich finde es übersichtlicher wenn ich zB. meine Datenbank Statements in eine extra Klasse schreiben könnte und die dann mit meiner Activity verknüpfen kann. Leider bekomm ich das immer noch nicht hin....
     
  4. AppDos, 16.05.2012 #4
    AppDos

    AppDos Junior Mitglied

    Es ist natürlich nicht vorgesehen alles in eine Klasse zu schreiben, wie un-oo wär das denn...
    Schreib doch einfach mal deinen Code(oder zumindest den entsprechenden Teil) hier rein, damit wir dir besser helfen können. So ist es sinnloses raten. Achja und die komplette Fehlermeldung, da steht sicher mehr als nur NullpointerException.
     
  5. Fossil89, 20.05.2012 #5
    Fossil89

    Fossil89 Threadstarter Neuer Benutzer

    Also hier mal mein Code der ActivityKlasse:

    Code:
    public class CaptnCookActivity extends Activity {
        /** Called when the activity is first created. */
    
        @Override
        public void onCreate(Bundle savedInstanceState) {
            
            super.onCreate(savedInstanceState);
            
            Testklasse te = new Testklasse();
            // Bei diesem Aufruf kommt eine NullpointerException
            te.onCreateDBAndDBTabled(this);
                setContentView(te.getNeueView(this));
        }
    
    und hier der Code der Testklasse:
    Code:
    public class Testklasse{
    
        // Beim Aufruf dieser Methode aus der ActivityKlasse folgt eine NullpointerException
        public void onCreateDBAndDBTabled(Context con) {
            SQLiteDatabase myDB = null;
            try {
                myDB = con.openOrCreateDatabase("CaptnTest", (Integer) null, null);
                myDB.execSQL("CREATE TABLE .... ");
            } finally {
                 if (myDB != null)
                      myDB.close();
            }    
        }
    
        // Diese Methode kann ich fehlerfrei aus der ActivityKlasse aufrufen
        public TextView getNeueView(Context con){
            TextView tv = new TextView(con);
            tv.setText("Hallo das kommt von der Testklasse ");
            return tv;
        }
    }
    Beim Aufruf der onCreateDBAndDBTabled(Context con) - Methode erhalte ich dieses Log:

    05-20 12:49:00.565: D/AndroidRuntime(485): Shutting down VM
    05-20 12:49:00.565: W/dalvikvm(485): threadid=1: thread exiting with uncaught exception (group=0x40014760)
    05-20 12:49:00.678: E/AndroidRuntime(485): FATAL EXCEPTION: main
    05-20 12:49:00.678: E/AndroidRuntime(485): java.lang.RuntimeException: Unable to start activity ComponentInfo{my.Captn.Cook/my.Captn.Cook.CaptnCookActivity}: java.lang.NullPointerException
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1736)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1752)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:993)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.os.Handler.dispatchMessage(Handler.java:99)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.os.Looper.loop(Looper.java:126)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread.main(ActivityThread.java:3997)
    05-20 12:49:00.678: E/AndroidRuntime(485): at java.lang.reflect.Method.invokeNative(Native Method)
    05-20 12:49:00.678: E/AndroidRuntime(485): at java.lang.reflect.Method.invoke(Method.java:491)
    05-20 12:49:00.678: E/AndroidRuntime(485): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
    05-20 12:49:00.678: E/AndroidRuntime(485): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
    05-20 12:49:00.678: E/AndroidRuntime(485): at dalvik.system.NativeStart.main(Native Method)
    05-20 12:49:00.678: E/AndroidRuntime(485): Caused by: java.lang.NullPointerException
    05-20 12:49:00.678: E/AndroidRuntime(485): at my.Captn.Cook.Testklasse.onCreateDBAndDBTabled(Testklasse.java:15)
    05-20 12:49:00.678: E/AndroidRuntime(485): at my.Captn.Cook.CaptnCookActivity.onCreate(CaptnCookActivity.java:17)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
    05-20 12:49:00.678: E/AndroidRuntime(485): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1700)
    05-20 12:49:00.678: E/AndroidRuntime(485): ... 11 more

    Könnt ihr mir sagen an was das liegt???
     
  6. swordi, 20.05.2012 #6
    swordi

    swordi Gewerbliches Mitglied

    hmm das sieht doch irgendwie sehr komisch aus oder ?

    1) du übergibst null
    2) du castest dieses null noch auf Integer

    schau mal, dass du das so schreibst, wie es sein soll
     
    Fossil89 gefällt das.
  7. Fossil89, 20.05.2012 #7
    Fossil89

    Fossil89 Threadstarter Neuer Benutzer

    Super,
    Danke da dran lags!!!!
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Wandernder Text Android App Entwicklung Dienstag um 11:49 Uhr
[OFFEN] Wie bekomme ich Zugriff auf meine externe SD Karte? Android App Entwicklung 23.08.2017
[ERLEDIGT] Eine Klasse um das aufrufen anderer Intents zu regeln Android App Entwicklung 24.05.2017
[ERLEDIGT] Tipps für AsyncTask Klasse Android App Entwicklung 18.05.2017
[ERLEDIGT] Popup mit Fragment realisieren oder besser eine andere Klasse nehmen? Android App Entwicklung 22.03.2017
Gmail Zugriff auf den Anhang verweigert (Automatisches Hinzufügen) Android App Entwicklung 21.01.2017
Kommunikation zwischen 2 Smartphones herstellen Android App Entwicklung 07.01.2017
Zugriff auf Handy Speicher (bspw. Videos) Android App Entwicklung 28.11.2016
Datenbank- Zugriff über ContentProvider/Resolver oder direkt von eigener App aus? Android App Entwicklung 27.11.2016

Users found this page by searching for:

  1. CAPTNTEST

Du betrachtest das Thema "2 Klassen - Zugriff regeln" im Forum "Android App Entwicklung",