在我的app目录中列出文件

时间:2012-04-12 14:13:55

标签: android file list

我创建了一个包含用户信息的数据库,我正在讨论的是,如果用户从我的应用程序下载了一本书,我希望将该书添加到用户数据库并列在他/她的下载部分中,将在数据库中检索该coloum

public class DatabaseHandler extends SQLiteOpenHelper { 

    // All Static variables 
    // Database Version 
    private static final int DATABASE_VERSION = 1; 

    // Database Name 
    private static final String DATABASE_NAME = "android_api"; 

    // Login table name 
    private static final String TABLE_LOGIN = "login"; 

    // Login Table Columns names 
    private static final String KEY_ID = "id"; 
    private static final String KEY_NAME = "name"; 
    private static final String KEY_EMAIL = "email"; 
    private static final String KEY_UID = "uid"; 
    private static final String KEY_CREATED_AT = "created_at"; 

    public DatabaseHandler(Context context) { 
        super(context, DATABASE_NAME, null, DATABASE_VERSION); 
    } 

    // Creating Tables 
    @Override
    public void onCreate(SQLiteDatabase db) { 
        String CREATE_LOGIN_TABLE = "CREATE TABLE " + TABLE_LOGIN + "("
                + KEY_ID + " INTEGER PRIMARY KEY,"
                + KEY_NAME + " TEXT,"
                + KEY_EMAIL + " TEXT UNIQUE,"
                + KEY_UID + " TEXT,"
                + KEY_CREATED_AT + " TEXT" + ")"; 
        db.execSQL(CREATE_LOGIN_TABLE); 
    } 

    // Upgrading database 
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
        // Drop older table if existed 
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_LOGIN); 

        // Create tables again 
        onCreate(db); 
    } 

    /** 
     * Storing user details in database 
     * */
    public void addUser(String name, String email, String uid, String created_at) { 
        SQLiteDatabase db = this.getWritableDatabase(); 

        ContentValues values = new ContentValues(); 
        values.put(KEY_NAME, name); // Name 
        values.put(KEY_EMAIL, email); // Email 
        values.put(KEY_UID, uid); // Email 
        values.put(KEY_CREATED_AT, created_at); // Created At 

        // Inserting Row 
        db.insert(TABLE_LOGIN, null, values); 
        db.close(); // Closing database connection 
    } 

    /** 
     * Getting user data from database 
     * */
    public HashMap<String, String> getUserDetails(){ 
        HashMap<String,String> user = new HashMap<String,String>(); 
        String selectQuery = "SELECT  * FROM " + TABLE_LOGIN; 

        SQLiteDatabase db = this.getReadableDatabase(); 
        Cursor cursor = db.rawQuery(selectQuery, null); 
        // Move to first row 
        cursor.moveToFirst(); 
        if(cursor.getCount() > 0){ 
            user.put("name", cursor.getString(1)); 
            user.put("email", cursor.getString(2)); 
            user.put("uid", cursor.getString(3)); 
            user.put("created_at", cursor.getString(4)); 
        } 
        cursor.close(); 
        db.close(); 
        // return user 
        return user; 
    } 

    /** 
     * Getting user login status 
     * return true if rows are there in table 
     * */
    public int getRowCount() { 
        String countQuery = "SELECT  * FROM " + TABLE_LOGIN; 
        SQLiteDatabase db = this.getReadableDatabase(); 
        Cursor cursor = db.rawQuery(countQuery, null); 
        int rowCount = cursor.getCount(); 
        db.close(); 
        cursor.close(); 

        // return row count 
        return rowCount; 
    } 

    /** 
     * Re crate database 
     * Delete all tables and create them again 
     * */
    public void resetTables(){ 
        SQLiteDatabase db = this.getWritableDatabase(); 
        // Delete All Rows 
        db.delete(TABLE_LOGIN, null, null); 
        db.close(); 
    } 

}

0 个答案:

没有答案