Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Sorry! THe application has stopped unexpectedly

Das Thema "Sorry! THe application has stopped unexpectedly" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 09.11.2011, 15:22   #1 (permalink)
Neuer Benutzer

Registriert seit: 09.11.2011
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard Sorry! THe application has stopped unexpectedly

Hallo,

ich bin noch relativ neu in der Appentwicklung und benötige nun eure Hilfe. Ich möchte eine App erstellen, die aus einer Datenbank Kategorien und Artikel liest. Diese besteht aus mehreren Activities. Es funktioniert nun fast alles. Allerdings bekomme ich, wenn ich die dritte Activiety, die mir den Artikel ausgeben soll, aufrufe, die im Titel genannte Fehlermeldung:

Code:
package de.medizin.paediatrie;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import de.[...].db.ArtikelSpeicher;

public class ArtikelActivity extends Activity{
	
	static final String IN_PARAM_ID = "ARTIKEL_ID";
	Long sentId;
	String content = "In this change, you create a TextView with the class constructor, which accepts an Android Context instance as its parameter. A Context is a handle to the system; it provides services like resolving resources, obtaining access to databases and preferences, and so on. The Activity class inherits from Context, and because your HelloAndroid class is a subclass of Activity, it is also a Context. So, you can pass this as your Context reference to the TextView.";
	private ArtikelSpeicher ArtikelSpeicher;
	
	/** Called when the activity is first created. */
	   @Override
	   public void onCreate(Bundle savedInstanceState) {
	       super.onCreate(savedInstanceState);
      			
	        sentId = savedInstanceState != null ? 
	    		    savedInstanceState.getLong(IN_PARAM_ID) : null;
	    		if (sentId == null) {
	    			Bundle extras = getIntent().getExtras();
	    			sentId = extras != null ? extras.getLong(IN_PARAM_ID) : null;
	    		}
	    		
	    	int temp = safeLongToInt(sentId);
	    	
	    	TextView tv = new TextView(this);
		       tv.setText("Hello: " + temp);
		       setContentView(tv);
		       
		    ArtikelSpeicher.refresh2();
	   }
	   
	   private void zeigeArtikel() {
		    Artikel artikel = ArtikelSpeicher.ladeArtikel(sentId);
		    
		    if (artikel == null) {
		      return;
		    }
		    
		    final TextView fldAnzahlMeldungen = 
		      (TextView) findViewById(R.id.textview);
		    fldAnzahlMeldungen.setText(String.valueOf(artikel.getContent()));
		  }	   
	   
	   public static int safeLongToInt(long l) {
		    if (l < Integer.MIN_VALUE || l > Integer.MAX_VALUE) {
		        throw new IllegalArgumentException
		            (l + " cannot be cast to int without changing its value.");
		    }
		    return (int) l;
		}

}
Der Fehler liegt in der onCreate(), bei ArtikelSpeicher.refresh2(). Wenn ich dies auskommentiere, funktioniert alles wunderbar.

Meine ArtikelSpeicher.class:

Code:
package de.medizin.paediatrie.db;

import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteStatement;
import android.util.Log;
import de.medizin.paediatrie.Artikel;
import de.medizin.paediatrie.Eintrag;

public class ArtikelSpeicher {
	private static final String TAG = ArtikelSpeicher.class.getSimpleName();
	
	private SQLiteStatement stmtInsertArtikel;
	
	private PaediatrieDb db;
	
	/**

	* 
	* @param context muss mitgegeben werden, damit die Datenbank 
	*        exklusiv für die Anwendung verwaltet werden kann.
	*/
	public ArtikelSpeicher(Context context) {
	db = new PaediatrieDb(context);
	    
	SQLiteDatabase medizinDb = db.getWritableDatabase();
	stmtInsertArtikel = medizinDb.compileStatement(
	      PaediatrieDb.T_Artikel.STMT_FULL_INSERT);
	}
	
	/**
	* schließe die Datenbankverbindung
	*/
	public void schliesseSpeicher() {
		db.close();
	}
	
	public Artikel ladeArtikel(long artieklId) throws SQLException {
		    Cursor c = db.getReadableDatabase().query(
		        PaediatrieDb.T_Artikel.TABLE_NAME,
		        null,
		        PaediatrieDb.T_Artikel.COL_ARTIKEL_ID+" = ?",
		        new String[] { "" + artieklId },
		        null,null,null);
		    if (c == null || c.moveToFirst() == false) {
		      return null;
		    }
		    
		    try {
		      
		      Artikel neuerArtikel = new Artikel(
		    	c.getLong(c.getColumnIndexOrThrow(PaediatrieDb.T_Artikel.COL_ARTIKEL_ID)),
		          c.getString(c.getColumnIndexOrThrow(PaediatrieDb.T_Artikel.COL_INHALT)),
		          c.getInt(c
		              .getColumnIndexOrThrow(PaediatrieDb.T_Artikel.COL_ABSTAMMUNG)));
		      return neuerArtikel;
		    } finally {
		        c.close();
		    }
		  }

	public Cursor ladeArtikelC()
		      throws SQLException {
		    Cursor c = db.getWritableDatabase().query(
		        false,
		        PaediatrieDb.T_Kategorien.TABLE_NAME,
		        null,
		        null,
		        null, null, null, null, 
		        null);
		    if (c == null || c.moveToFirst() == false) {
		      return null;
		    }
		    return c;
		  }
	
	
	
		  /**
		   * 
		   * @param staumeldung
		   * @return
		   * @throws SQLException
		   */
		  public long schreibeArtikel(Artikel artikel)
		      throws SQLException {
		    SQLiteDatabase medizinDb = db.getWritableDatabase();

		    medizinDb.beginTransaction();
		    long neuerArtikel = -1;
		    try {
		      stmtInsertArtikel.bindString(1, artikel.getContent());
		      stmtInsertArtikel.bindLong(2, artikel.getBelong());
		     
		      neuerArtikel = stmtInsertArtikel.executeInsert();
		      medizinDb.setTransactionSuccessful();
		    } catch (Throwable ex) {
		      Log
		          .e(TAG, "Fehler beim Einfügen. "
		              + ex);
		    } finally {
		      medizinDb.endTransaction();
		    }
		    return neuerArtikel;
		  }
		  
		  public void refresh() {
		    db.writeTestdata();
		  }	
		  
		  public void refresh2() {
			    //db.writeTestdata( content, belong );
			  Log.i(TAG, "test");
		  }	
	

}
Errorlog, mit der ich leider nichts anfangen kann:

Code:
11-09 14:07:07.102: E/AndroidRuntime(32304): FATAL EXCEPTION: main
11-09 14:07:07.102: E/AndroidRuntime(32304): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.medizin.paediatrie/de.medizin.paediatrie.ArtikelActivity}: java.lang.NullPointerException
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.os.Looper.loop(Looper.java:123)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at java.lang.reflect.Method.invoke(Method.java:507)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at dalvik.system.NativeStart.main(Native Method)
11-09 14:07:07.102: E/AndroidRuntime(32304): Caused by: java.lang.NullPointerException
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at de.medizin.paediatrie.ArtikelActivity.onCreate(ArtikelActivity.java:35)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	... 11 more
Wäre wirklich super, wenn mir jemand weiter helfen könnte. Schon mal ein Danke im Voraus! :-)
MezzoMix ist offline   Mit Zitat antworten
Alt 09.11.2011, 15:51   #2 (permalink)
Android-Hilfe.de Mitglied

Modell: Motorola Atrix 4G

Registriert seit: 07.12.2010
Beiträge: 170
Abgegebene Danke: 14
Erhielt 32 Danke für 31 Beiträge
Neeldarax eine Nachricht über ICQ schicken
Standard AW: Sorry! THe application has stopped unexpectedly

Zitat:
Zitat von MezzoMix Beitrag anzeigen
...
Errorlog, mit der ich leider nichts anfangen kann:

Code:
11-09 14:07:07.102: E/AndroidRuntime(32304): FATAL EXCEPTION: main
11-09 14:07:07.102: E/AndroidRuntime(32304): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.medizin.paediatrie/de.medizin.paediatrie.ArtikelActivity}: java.lang.NullPointerException
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.os.Looper.loop(Looper.java:123)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at java.lang.reflect.Method.invoke(Method.java:507)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at dalvik.system.NativeStart.main(Native Method)
11-09 14:07:07.102: E/AndroidRuntime(32304): Caused by: java.lang.NullPointerException
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at de.medizin.paediatrie.ArtikelActivity.onCreate(ArtikelActivity.java:35)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-09 14:07:07.102: E/AndroidRuntime(32304): 	... 11 more

Also was soll man zu NullPointException noch sagen? Was ist die Zeile 35 in ArtikelActivity?

regards
__________________
g o o g l e+ plus.neeldarax.de
androidblog www.neeldarax.de
Neeldarax ist offline   Mit Zitat antworten
Alt 09.11.2011, 16:01   #3 (permalink)
Android Guru

Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
Standard AW: Sorry! THe application has stopped unexpectedly

du machst setcontentview(textview)

und dann unten findviewbyid(R.id.textview)

wie soll er die finden?
__________________
App Entwicklung
Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD )
swordi ist offline   Mit Zitat antworten
Alt 09.11.2011, 16:04   #4 (permalink)
Neuer Benutzer

Registriert seit: 09.11.2011
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Sorry! THe application has stopped unexpectedly

So weit war ich auch schon...

In der Zeile 35 versuche ich folgende Funktion aufzurufen:

Code:
ArtikelSpeicher.refresh2();
In meiner Artikel Speicher Klasse steht dann folgende Methode:

Code:
		  public void refresh2() {
			    //db.writeTestdata( content, belong );
			  Log.d(TAG, "fehler");
		  }
Leider wird kein "fehler" in der Logfile ausgegeben...

Zitat:
du machst setcontentview(textview)

und dann unten findviewbyid(R.id.textview)

wie soll er die finden?
findviewbyid(R.id.textview) steht in einer Funktion, die z.Zt. gar nicht aufgerufen wird. Ich habe es trotzdem mal entfernt, jedoch mit dem gleichen Resultat.

Geändert von MezzoMix (09.11.2011 um 16:11 Uhr)
MezzoMix ist offline   Mit Zitat antworten
Alt 09.11.2011, 16:11   #5 (permalink)
Fortgeschrittenes Mitglied

Registriert seit: 14.08.2009
Beiträge: 354
Abgegebene Danke: 23
Erhielt 49 Danke für 43 Beiträge
Standard AW: Sorry! THe application has stopped unexpectedly

sowas ist auch ganz böse:

private ArtikelSpeicher ArtikelSpeicher;

schau dir mal Java Guidelines an und immer englisch schreiben Vereinfacht das Leben enorm!
__________________
http://android.fungamer.net/
MichaelS ist offline   Mit Zitat antworten
Alt 09.11.2011, 16:35   #6 (permalink)
Neuer Benutzer

Registriert seit: 09.11.2011
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
Standard AW: Sorry! THe application has stopped unexpectedly

Zitat:
Zitat von MichaelS Beitrag anzeigen
sowas ist auch ganz böse:

private ArtikelSpeicher ArtikelSpeicher;

schau dir mal Java Guidelines an und immer englisch schreiben Vereinfacht das Leben enorm!
Ich danke dir. Natürlich muss ich hiervon auch ein Objekt instanziieren. Nun funktioniert es. Variablennamen ist nun auch kleingeschrieben . :-)

Der Tipp mit dem Englischen ist auch gut. Habe ich natürlich schon während dem Projekt bemerkt. Naja, bei dem Nächsten wird es einfach besser gemacht. :-)

Nochmals Danke an alle!
MezzoMix ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
The application has stopped unexpectedly daroxxxer Android App Entwicklung 3 17.08.2011 20:10
Alexgalaxys G3 Rom V 1.0 [Updates stopped!] Alexgalaxy Root / Hacking / Modding für Samsung Galaxy 3 98 02.05.2011 18:24
Sorry! The application Layout Tabs (prosess ...) has stopped unexpectedly. Bobert Android App Entwicklung 9 29.11.2010 10:14
the application has stopped unexpectedly monomicha Android App Entwicklung 12 02.10.2010 18:14
Google Mail has stopped unexpectedly. cyrex T-Mobile G1 Forum 2 15.02.2009 23:07




Du liest gerade: "Sorry! THe application has stopped unexpectedly" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.