Hallo an Alle,
bei dem nachfolgendem Programm (kompletter Quellcode am Ende) erhalte ich beim Aufruf von 
eine NullPointerException.
Den Quelltext habe ich aus einem Buch "Android 3" und auf meine Bedürfnisse angepasst. Dabei ist mir wohl ein Fehler passiert, denn das Originalprogramm läuft fehlerfrei.
Der Nullpointerexception sagt doch aus, dass eine Referenz auf Null erfolgt, also ins leere.Wieso ist 
nicht initialisiert? 
Für Tipps und Hinweise von Euch bin ich sehr dankbar.
Bis dann ...
Günter
Java
		
					
			package my.app.gesundheit;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import android.widget.EditText;
import android.widget.DatePicker;
public class Gewicht_00_Erf_Activity extends Activity {
	/** Called when the activity is first created. */
	private GesundheitOpenHandler openhandler;
	
	private Button 		btnGewErfSave;
	private Button 		btnGewErfBack;
	private String		day;
	public String		month;
	private String		year;
	public String		datum;
	private String		text;
	private EditText	ausgabe;
	public Float		gewicht;
	public Integer		monat;
	
	
	@Override
	public void onCreate(Bundle savedInstanceState) {
    	super.onCreate(savedInstanceState);
    	setContentView(R.layout.gewicht_00_erf);
    	
    	btnGewErfBack = (Button)findViewById(R.id.btnGewErfBack);
    	btnGewErfBack.setText(R.string.zurueck); 
    	btnGewErfBack.setOnClickListener(new View.OnClickListener(){
    		@Override
    		public void onClick(View v){
				Gewicht_00_Erf_Activity.this.finish();
    		}
    		
    	});
    	
    	btnGewErfSave = (Button)findViewById(R.id.btnGewErfSave) ;
    	btnGewErfSave.setText(R.string.speichern); 
    	btnGewErfSave.setOnClickListener(new View.OnClickListener(){
    		@Override
    		public void onClick(View v){
     			// Gewicht auslesen
    			ausgabe = (EditText)findViewById(R.id.txtGew);
    			text = ausgabe.getText().toString();
    			//DisplayToast(text); 
     			gewicht = Float.valueOf(ausgabe.getText().toString());
        			
       			// Datum auslesen
       			DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker1);
       			if (datePicker.getDayOfMonth() < 10)
       			{
       				day = "0" + Integer.toString(datePicker.getDayOfMonth());	
       			}
       			else
       			{
       				day = Integer.toString(datePicker.getDayOfMonth());	       				
       			}
       			
       			if ((datePicker.getMonth() + 1) < 10) 
       			{
           			month = "0" + Integer.toString(datePicker.getMonth() + 1);
       			}
       			else
       			{
           			month = Integer.toString(datePicker.getMonth() + 1);
       			}
       			
       			year = Integer.toString(datePicker.getYear());
       			datum = year + "-" + month + "-" + day;
       			DisplayToast(text + " " + datum);
       			
       			// Übergabe an GesundheitOpenHandler
       			//openhandler.insert(datum, month, 23, gewicht);
       			openhandler.insert(datum);       			
   			      			
    		}
    	});
 	}
 	private void DisplayToast(String msg) {
    	Toast.makeText(getBaseContext(), msg, Toast.LENGTH_SHORT).show();
 	}        	
}Java
		
					
			[code=java]
package my.app.gesundheit;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class GesundheitOpenHandler extends SQLiteOpenHelper {
	private static final String TAG = GesundheitOpenHandler.class.getSimpleName();
	
	// Name und Version der Datenbank
	private static final String DATABASE_NAME = "gesundheit.db";
	private static final int DATABASE_Version = 1;
	
	// Name und Attrubute der Tabelle "tbl_gewicht"
	public static final String TABLE_NAME_GEW = "tbl_gewicht";	
	public static final String _ID = "_id";
	public static final String GEW_Datum = "gew_datum";
	public static final String GEW_Monat = "gew_monat";
	public static final String GEW_KW = "gew_kw";
	public static final String GEW_GEW = "gew_gewicht";
	
	// Tabelle tbl_gewicht anlegen
	private static final String TABLE_GEW_CREATE = "CREATE TABLE "
			+ TABLE_NAME_GEW + " (" + _ID
			+ " INTEGER PRIMARY KEY AUTOINCREMENT, "
			+ GEW_Datum + " STRING, "
			+ GEW_Monat + " INTEGER, "
			+ GEW_KW + " INTEGER, "
			+ GEW_GEW + " FLOAT);";
	
	// Tabelle tbl_gewicht löschen
	private static final String TABLE_GEW_DROP = "DROP TABLE IF EXISTS "
			+ TABLE_NAME_GEW + " ;";
	
	GesundheitOpenHandler(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_Version);
	}
		
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(TABLE_GEW_CREATE);
	}
	
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		Log.w(TAG, "Upgrade der Datenbank von Version " + oldVersion + " zu " + newVersion + "alle Daten werden gelöscht");
		db.execSQL(TABLE_GEW_DROP);
		onCreate(db);
	}
	//public void insert(String datum, String month, int gew_kw, float gewicht) {		
	public void insert(String datum) {				
		long rowId = -1;
		try {
			// Datenbank öffnen
			SQLiteDatabase db = getWritableDatabase();
			
			// die zu speichernden Werte
			ContentValues values = new ContentValues();
			values.put(GEW_Datum,datum);
			/*values.put(GEW_Monat,month);
			values.put(GEW_KW,gew_kw);
			values.put(GEW_GEW,gewicht);*/
			
			// In die Tabelle tbl_gewicht einfügen
			rowId = db.insert(TABLE_NAME_GEW, null, values);
		} catch (SQLiteException e) {
			Log.e(TAG, "insert()", e);
		} finally {
			Log.d(TAG, "insert(): rowID=" + rowId);
		}
	}
	
	public Cursor query(){
		// ggf. Datenbank öffnen
		SQLiteDatabase db = getWritableDatabase();
		return db.query(TABLE_NAME_GEW, null, null, null, null, null, GEW_Datum + " DESC");
	}
    	
	public void update(long id ){
		
	}
	
	public void delete(long id) {
		// ggf. Datenbank öffnen
		SQLiteDatabase db = getWritableDatabase();
		int numDeleted = db.delete(TABLE_NAME_GEW,_ID + " = ?", new String[] {Long.toString(id)});
		Log.d(TAG, "delete(): id=" + id + " -> " + numDeleted);
	}
}[/code]
 
		 
		
		
	