2012-05-11 168 views
1

listview中显示登录页面后我想显示苹果的A,B的男孩......等等..在列表视图中。但是,在我的应用程序登录成功完全只登录表创建成功,但完全MainMenu的不创建..我想在这之后创建的测试数据库MainMenu的表,我想取从MainMenu的表中的数据中的ListView的Android如何从sqlite数据库获取数据,并在Android的

 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); 
      } 

SQLiteAdapter.java

  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; 
} 

} 

ExampleActivity.java

    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(); 

} 

}

运行程序后,登录表只在数据库中创建,但mainmenu表没有在数据库中创建。运行后,程序显示错误,如sqlite返回代码= 1 MY_TABLE中没有这样的表

回答

3

这是代码我正在使用它来获取所有值。

/* 这是数据库类 */

public String getData1() throws SQLException{ 
     // TODO Auto-generated method stub 
     String[] columns1 = new String[] { KEY_DATE }; 
     Cursor c1 = ourDatabase.query(DATABASE_MARKSTABLE, columns1, null, null, null, 
       null, KEY_ENDINGTIME+" DESC", " 30"); 
     String result1 = ""; 

     int isName = c1.getColumnIndex(KEY_DATE); 

     for (c1.moveToFirst(); !c1.isAfterLast(); c1.moveToNext()) { 

      result1 = result1 + c1.getString(isName) 
        + " " + "\n"; 

     } 
     c1.close(); 
     return result1; 

    } 

和序在列表视图中显示它,请检查此链接

http://www.technotalkative.com/android-%E2%80%93-listview-%E2%80%93-2-custom-listview/

+0

u能请提供可供选择链接为此,您的链接已过期,因为我已经尝试过! – Manroop

相关问题