как получить данные из базы данных sqlite и показать в виде списка в Android
после страницы входа я хочу показать A для Apple, B для Boy .... и т.д. до F..в списке просмотра. Но в моем приложении я успешно вхожу в систему, только полностью создана таблица входа, но главное меню не создано. Я хочу создать таблицу mainmenu в тестовой базе данных, после чего я хочу получить данные из таблицы mainmenu в просмотр списка в Android
<code> i try this code if(username.length()>0&&password.length()>0) { SQLiteAdapter db=new SQLiteAdapter(Main.this); db.openToWrite(); if(db.Login(username,password)) { System.out.println("goutham"); Intent intent=new Intent(getApplicationContext(),ExampleActivity.class); startActivity(intent); } </code>
SQLiteAdapter.java
<code> public class SQLiteAdapter { public static final String MYDATABASE_NAME = "test"; public static final String KEY_USERNAME = "username"; public static final String KEY_PASSWORD = "password"; public static final String MYDATABASE_TABLE = "mainmenu"; private static final String DATABASE_TABLE = "login"; public static final int MYDATABASE_VERSION = 1; public static final String KEY_ID = "_id"; public static final String KEY_CONTENT = "Content"; // create table MY_DATABASE (ID integer primary key, Content text not null); private static final String SCRIPT_CREATE_DATABASE = "create table " + MYDATABASE_TABLE + " (" + KEY_ID + " integer primary key autoincrement, " + KEY_CONTENT + " text not null);"; private static final String DATABASE_CREATE = "create table login (_id integer primary key autoincrement, " + "username text not null, " + "password text not null);"; private SQLiteHelper sqLiteHelper; private SQLiteDatabase sqLiteDatabase; private Context context; public SQLiteAdapter(Context c) { context = c; } public SQLiteAdapter openToRead() throws android.database.SQLException { sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION); sqLiteDatabase = sqLiteHelper.getReadableDatabase(); return this; } public SQLiteAdapter openToWrite() throws android.database.SQLException { sqLiteHelper = new SQLiteHelper(context, MYDATABASE_NAME, null, MYDATABASE_VERSION); sqLiteDatabase = sqLiteHelper.getWritableDatabase(); return this; } public void close() { sqLiteHelper.close(); } public long insert(String content) { ContentValues contentValues = new ContentValues(); contentValues.put(KEY_CONTENT, content); return sqLiteDatabase.insert(MYDATABASE_TABLE, null, contentValues); } public int deleteAll() { return sqLiteDatabase.delete(MYDATABASE_TABLE, null, null); } public Cursor queueAll() { String[] columns = new String[] { KEY_ID, KEY_CONTENT }; Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns, null, null, null, null, null); return cursor; } private static class SQLiteHelper extends SQLiteOpenHelper { public SQLiteHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(SCRIPT_CREATE_DATABASE); db.execSQL(DATABASE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } } public long AddUser(String username, String password) { ContentValues initialValues = new ContentValues(); initialValues.put(KEY_USERNAME, username); initialValues.put(KEY_PASSWORD, password); return sqLiteDatabase.insert(DATABASE_TABLE, null, initialValues); } public boolean Login(String username, String password) { // TODO Auto-generated method stub Cursor mCursor = sqLiteDatabase.rawQuery("SELECT * FROM " + DATABASE_TABLE + " WHERE username=? AND password=?", new String[] { username, password }); if (mCursor != null) { if (mCursor.getCount() > 0) { return true; } } return false; } } </code>
ExampleActivity.java
<code> public class ExampleActivity extends Activity { private SQLiteAdapter mySQLiteAdapter; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView listContent = (ListView) findViewById(R.id.contentlist); /* * Create/Open a SQLite database and fill with dummy content and close * it */ mySQLiteAdapter = new SQLiteAdapter(this); mySQLiteAdapter.openToWrite(); // mySQLiteAdapter.deleteAll(); mySQLiteAdapter.insert("A for Apply"); mySQLiteAdapter.insert("B for Boy"); mySQLiteAdapter.insert("C for Cat"); mySQLiteAdapter.insert("D for Dog"); mySQLiteAdapter.insert("E for Egg"); mySQLiteAdapter.insert("F for Fish"); mySQLiteAdapter.close(); /* * Open the same SQLite database and read all it's content. */ mySQLiteAdapter = new SQLiteAdapter(this); mySQLiteAdapter.openToRead(); Cursor cursor = mySQLiteAdapter.queueAll(); startManagingCursor(cursor); String[] from = new String[] { SQLiteAdapter.KEY_CONTENT }; int[] to = new int[] { R.id.text }; SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, R.layout.row, cursor, from, to); listContent.setAdapter(cursorAdapter); mySQLiteAdapter.close(); } </code>
}
после запуска таблица входа в программу создается только в базе данных, но таблица основного меню не создается в базе данных. при запуске программы выдается ошибка, такая как sqlite вернул код = 1 нет такой таблицы в MY_TABLE