Android開發-如何建立資料庫 資料庫新增&查詢
阿新 • • 發佈:2018-12-13
第一步 新建一個資料夾 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();