mercredi 21 octobre 2015

Check database Sqlite android

How to I check the database table located in Database_sticker. My teacher told me to add some codes to my ListNearablesActivity.java but I have no idea how to can someone please help me with it

ListNearablesActivity.java

beaconManager.setNearableListener(new BeaconManager.NearableListener() {
        @Override
        public void onNearablesDiscovered(List<Nearable> nearables) {
            toolbar.setSubtitle("Found shoes: " + nearables.size());
            adapter.replaceWith(nearables);
            for (Nearable nearable : nearables) {
                if (nearable.isMoving) {
                    try {
                        // Check Database
                        Class<?> clazz = Class.forName(getIntent().getStringExtra(EXTRAS_TARGET_ACTIVITY));
                        Intent intent = new Intent(ListNearablesActivity.this, clazz);
                        intent.putExtra(EXTRAS_NEARABLE, adapter.getItem(nearables.indexOf(nearable)));
                        startActivity(intent);
                    } //close for try
                    catch (ClassNotFoundException e) {
                        Log.e(TAG, "Finding class by name failed", e);
                    } //close for catch (ClassNotFoundException e)
                }
            }
        } //for override
    });  //for beaconManager.setNearable

Database_sticker.java (my database file)

public class Database_sticker extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = Environment.getExternalStorageDirectory().toString() + "/sresult.db";
    private static final String TABLE_SRESULT = "Sresult";
    private static final String KEY_ID = "id";
    private static final String KEY_DESC = "desc";
    private static final String KEY_SA = "sa";
    private static final String KEY_CA = "ca";
    private static final String KEY_COO = "coo";
    private static final String KEY_SM = "sm";
    private static final String KEY_PRICE = "price";

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

    //creating Tables
    @Override
    public void onCreate(SQLiteDatabase db){
        String CREATE_SRESULT_TABLE = "CREATE TABLE " + TABLE_SRESULT + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_DESC +
                " TEXT,"+ KEY_SA + " TEXT," + KEY_CA + " TEXT," + KEY_COO + " TEXT," + KEY_SM + KEY_PRICE + " REAL" + ")";
        db.execSQL(CREATE_SRESULT_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_SRESULT);
        //create tables again
        onCreate(db);
    }

    public void addSresult(Sresult sresult){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_DESC, sresult.getDesc());  //get description
        values.put(KEY_SA, sresult.getSa()); //get size available
        values.put(KEY_CA, sresult.getCa()); //get colours available
        values.put(KEY_COO, sresult.getCoo());  //get country of origin
        values.put(KEY_SM, sresult.getSm());  // get shoe model
        values.put(KEY_PRICE, sresult.getPrice()); //get shoe price
        db.insert(TABLE_SRESULT, null, values);
        db.close();
    }

    public int update(Sresult sresult){
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_DESC, sresult.getDesc());  //get description
        values.put(KEY_SA, sresult.getSa()); //get size available
        values.put(KEY_CA, sresult.getCa()); //get colours available
        values.put(KEY_COO, sresult.getCoo());  //get country of origin
        values.put(KEY_SM, sresult.getSm());  // get shoe model
        values.put(KEY_PRICE, sresult.getPrice()); //get shoe price
        //updating row
        return db.update(TABLE_SRESULT, values, KEY_ID + " = ?", new String[] {String.valueOf(sresult.getId())});
    }

    public Sresult getSresult(int id) {
        SQLiteDatabase db = this.getReadableDatabase();
        //build query
        Cursor cursor = db.query(TABLE_SRESULT, new String[]{KEY_ID, KEY_DESC, KEY_SA, KEY_CA, KEY_COO, KEY_SM, KEY_PRICE}, KEY_ID + "=?",
                new String[] {String.valueOf(id)}, null, null, null, null);
        if (cursor != null)  //if get sticker results get the first one
            cursor.moveToFirst();
        //build result project
        Sresult sresult;
        sresult = new Sresult(Integer.parseInt(cursor.getString(0)),
                cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getString(5), Float.parseFloat(cursor.getString(6)));
        return sresult;
    }

    public List<Sresult> getAllSresults() {
        List<Sresult> sresultList = new ArrayList<Sresult>();
        String selectQuery = "SELECT * FROM " + TABLE_SRESULT;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);
        //looping through all rows and adding to list

        if (cursor.moveToFirst()) {
            do {
                Sresult sresult = new Sresult();
                sresult.setId(Integer.parseInt(cursor.getString(0)));
                sresult.setDesc(cursor.getString(1));
                sresult.setSa(cursor.getString(2));
                sresult.setCa(cursor.getString(3));
                sresult.setCoo(cursor.getString(4));
                sresult.setSm(cursor.getString(5));
                sresult.setPrice(Float.parseFloat(cursor.getString(6)));
                sresultList.add(sresult);
            } while (cursor.moveToNext());
        }
        return sresultList;
    }

    public int getSresultsCount(){
        String countQuery = "SELECT * FROM " + TABLE_SRESULT;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        cursor.close();
        return cursor.getCount();
    }
}

Aucun commentaire:

Enregistrer un commentaire