package com.merybere.app.persistencia; import com.merybere.app.persistencia.db.MembersContract.UsersTable; import com.merybere.app.persistencia.db.MyDbHelper; import android.os.Bundle; import android.app.ListActivity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v4.widget.SimpleCursorAdapter; import android.view.Menu; public class MainActivity extends ListActivity { private SimpleCursorAdapter adapter; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); // getFilesDir(); // getCacheDir(); // getExternalCacheDir(); // getExternalFilesDir(type); final MyDbHelper helper = new MyDbHelper(this); // Obtener la BD en modo escritura final SQLiteDatabase db = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(UsersTable.EMAIL, "pepe@super.man"); values.put(UsersTable.USERNAME, "Pepe"); // Id autoincremental que hemos puesto long id = db.insert(UsersTable.TABLE_NAME, null, values); db.close(); // Context context = this; int layout = android.R.layout.simple_list_item_2; Cursor c = null; String[] from = new String[] { UsersTable.USERNAME, UsersTable.EMAIL}; int[] to = new int[] { android.R.id.text1, android.R.id.text2}; int flags = SimpleCursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER; adapter = new SimpleCursorAdapter(context, layout, c, from, to, flags); setListAdapter(adapter); } @Override protected void onStart() { super.onStart(); // Al entrar, crea la BD vac�a, y la sustituye una vez creada por la que hemos hecho adapter.changeCursor(getUsers()); } @Override protected void onStop() { adapter.changeCursor(null); super.onStop(); } private Cursor getUsers() { MyDbHelper helper = new MyDbHelper(this); SQLiteDatabase db = helper.getReadableDatabase(); String table = UsersTable.TABLE_NAME; String[] columns = new String[] { UsersTable._ID, UsersTable.USERNAME, UsersTable.EMAIL}; // la parte del where; usamos el ?, en los datos, ya que como se suele coger de pantalla, se normalizar� String selection = null; String[] selectionArgs = null; String orderBy = UsersTable.USERNAME + " DESC"; String groupBy = null; String having = null; return db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }