1. 程式人生 > >Android開發-如何建立資料庫 資料庫新增&查詢

Android開發-如何建立資料庫 資料庫新增&查詢

第一步 新建一個資料夾 dao
用來存放我們待會要建立的檔案

第二步 新建一個MySql類
這個類要繼承 SQLiteOpenHelper

public class MySql extends SQLiteOpenHelper {

public MySql(Context context) {
        super( context, "z3.db", null, 1 );
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        //建表--表裡有兩個欄位  title  和  description
        db.execSQL( "create table news(title text,description text)" );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}

第三步 新建一個Dao類
我們要用到的資料庫查詢和新增都寫在這個Dao類裡,定義了兩個方法insert()和query(),我們可以在其他的頁面呼叫到這兩個方法

public class Dao {

private Context context;
    private SQLiteDatabase db;

    public Dao(Context context) {
        this.context = context;
        //新建mysql
        MySql mySql = new MySql( context );
        //對資料庫進行操作
        db = mySql.getWritableDatabase();
    }

    //資料庫新增  的方法
    public long insert(String table, String nullColumnHack, ContentValues values){
        return db.insert( "news",null,values );
    }

    //資料庫查詢  的方法
    public Cursor query(String table, String[] columns, String selection,
                         String[] selectionArgs, String groupBy, String having,
                         String orderBy){
        return db.query( "news",null,null,null,null,null,null );
    }

}

下面我會將我解析出來的集合新增到資料庫中
先得到Dao層

Dao dao = new Dao( getActivity() );

呼叫dao層的insert新增方法

			//解析資料--s
            Gson gson = new Gson();
            JsonBean bean = gson.fromJson( s, JsonBean.class );
            //轉變集合
            list.addAll( bean.getNewslist() );
            
			//新增到資料庫中
            ContentValues values=new ContentValues(  );
            for (int i = 0; i < list.size(); i++) {
                values.put( "title",list.get( i ).getTitle() );
                values.put( "description",list.get( i ).getDescription() );
                insert = dao.insert( "news", null, values );
            }//新增到資料庫中
//重新整理介面卡
            adapter.notifyDataSetChanged();