title: SQLiteAssetHelper and getWritableDatabase
body: <p>I'm having have some trouble with my Database activity. I am unable to write to the database and view the database using the following code.</p>
  
  <p>my Database activity:</p>
  
  <pre><code>package com.jacob.eindproject;
  
  import android.content.ContentValues;
  import android.content.Context;
  import android.database.Cursor;
  import android.database.SQLException;
  import android.database.sqlite.SQLiteDatabase;
  import android.database.sqlite.SQLiteOpenHelper;
  import android.database.sqlite.SQLiteDatabase.CursorFactory;
  
  import java.sql.*;
  
  import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;
  
  public class Database extends SQLiteAssetHelper {
  
      public static final String KEY_PRODUCT = "Product";
      public static final String KEY_EENHEID = "Eenheid";
      public static final String KEY_KCAL = "Kcal";
  
      private static final String DATABASE_NAME = "Voedsel";
      private static final String DATABASE_TABLE = "Voeding";
      private static final int DATABASE_VERSION = 1;
  
      private DbHelper ourHelper;
      private final Context ourContext;
      private SQLiteDatabase ourDatabase;
  
      private static class DbHelper extends SQLiteAssetHelper{
  
          public DbHelper(Context context) {
              super(context, DATABASE_NAME, context.getExternalFilesDir(null).getAbsolutePath(), null, DATABASE_VERSION);
              // TODO Auto-generated constructor stub
          }
  
      }
  
          @Override
          public void onUpgrade(SQLiteDatabase Voedsel, int oldVersion, int newVersion) {
              Voedsel.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
              onCreate(Voedsel);
          }
  
          public void close(Database database) {
              // TODO Auto-generated method stub
  
          }
  
  
  
  
      public Database(Context c){
          ourContext = c;
      }
  
      public Database open() throws SQLException{
          ourHelper = new DbHelper(ourContext);
          ourDatabase = ourHelper.getWritableDatabase();
          return this;        
      }
  
      public void close() {
  
      ourHelper.close();
  }
  
  
  
      public long createEntry(String product, String kcal, String eenheid) {
          ContentValues cv = new ContentValues();
          cv.put(KEY_PRODUCT, product);
          cv.put(KEY_EENHEID, eenheid);
          cv.put(KEY_KCAL, kcal);
          return ourDatabase.insert(DATABASE_TABLE, null, cv);
  
      }
  
      public String getData() {
          // TODO Auto-generated method stub
          String[] columns = new String[]{ KEY_PRODUCT, KEY_EENHEID, KEY_KCAL};
          Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
          String result = "";
  
          int iRow = c.getColumnIndex(KEY_PRODUCT);
          int iName = c.getColumnIndex(KEY_EENHEID);
          int iHotness = c.getColumnIndex(KEY_KCAL);
  
          for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
              result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getString(iHotness) + "\n";
  
  
          }
  
          return result;
      }
  }
  </code></pre>
  
  <p>My SQLView activity:</p>
  
  <pre><code>package com.jacob.eindproject;
  
  import android.app.Activity;
  import android.os.Bundle;
  import android.widget.TextView;
  
  public class SQLView extends Activity{
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.sqlview);
          TextView tv = (TextView) findViewById(R.id.tvSQLinfo);
          Database info = new Database(this);
          info.open();
          String data = info.getData();
          info.close();
          tv.setText(data);
  
  
  
  
  
      }
  
  }
  </code></pre>
  
  <p>SQLite activity:</p>
  
  <pre><code>package com.jacob.eindproject;
  
  import android.os.Bundle;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  import android.widget.TextView;
  import android.app.Activity;
  import android.app.Dialog;
  import android.content.DialogInterface;
  import android.content.Intent;
  import android.view.View.OnClickListener;
  
  
  public class SQLite extends Activity implements View.OnClickListener {
  
      Button sqlUpdate, sqlView;
      EditText sqlVoeding, sqlKcal, sqlEenheid;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.sqllite);
          sqlUpdate = (Button) findViewById(R.id.bSQLUpdate);
          sqlVoeding = (EditText) findViewById(R.id.etSQLVoeding);
          sqlEenheid = (EditText) findViewById(R.id.etSQLEenheid);
          sqlKcal = (EditText) findViewById(R.id.etSQLKcal);
  
          sqlView = (Button) findViewById(R.id.bSQLopenView);
          sqlView.setOnClickListener((android.view.View.OnClickListener) this);
          sqlUpdate.setOnClickListener((android.view.View.OnClickListener) this);
      }
  
      public void onClick(View arg0) {
          switch (arg0.getId()) {
          case R.id.bSQLUpdate:
  
  
              boolean didItWork = true;
              try{            
              String voeding = sqlVoeding.getText().toString();
              String Kcal = sqlKcal.getText().toString();
              String eenheid = sqlEenheid.getText().toString();
  
              Database entry = new Database(SQLite.this);
              entry.open();
              entry.createEntry(voeding, Kcal, eenheid);
              entry.close();
  
              }catch (Exception e ){
                  didItWork = false;
  
              }finally{
                  if (didItWork){
                      Dialog d = new Dialog(this);
                      d.setTitle("Heak Yeay");
                      TextView tv = new TextView(this);
                      tv.setText("Succes");
                      d.setContentView(tv);
                      d.show();
              }
          }
  
              break;
          case R.id.bSQLopenView:
              Intent i = new Intent(this, SQLView.class);
              startActivity(i);
  
  
          }
          }
  
      public void onClick(DialogInterface arg0, int arg1) {
          // TODO Auto-generated method stub
  
      }
  
      }
  </code></pre>
  
  <p>I am having my database file(Voedsel.rar), in <em>assets/databases/Voedsel.rar</em>. </p>