考点总结:

  1. 创建数据库
  2. 数据库增删改查(2方法)
    1. 使用execSQL()方法通过SQL语句进行增删改查
    2. 使用SQLiteDatabase对象的增删改查方法
  3. SQLite中的事务
  4. ListView控件 和 数据适配器BaseAdapter使用

//考点一、创建数据库

  1. public class MyHelper extends SQLiteOpenHelper{
  2. //创建一个类,继承SQLiteOpenHelper类
  3. public myHelper(Context context){
  4. //写该类的构造方法
  5. super(context, "itcast.db", null, 1);
  6. //4个参数:上下文对象、数据库名称、null、数据库版本
  7. }
  8. public void onCreate(SQLiteDatabase db){
  9. //重写onCreate方法
  10. db.execSQL
  11. //创建表information,表中含递增主键id,name,price
  12. ("CREATE TABLE information (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(20), price INTEGER)");
  13. }
  14. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
  15. //数据库版本更新方法
  16. }
  17. }

//考点二、数据库增删改查(2 方法)

//方法1.使用execSQL()方法通过SQL语句进行增删改查

  1. public void insert (String name, String price){
  2. SQLiteDatabase db = myHelper.getWritableDatabase();
  3. //获取可读写SQLiteDatabase对象
  4. db.execSQL("insert into information (name, price) values (?,?)",
  5. new Object[]{name,price});
  6. db.close();
  7. }
  1. db.execSQL("delete from information where name = ?", new String[]{name});
  1. db.execSQL("update information set name = ? where price = ?",
  2. new Object[]{name, price});
  1. Cursor cursor = db.rawQuery("select * from information where name = ?",
  2. new String[] {name});

//方法2.使用SQLiteDatabase对象的增删改查方法

  1. public void insert(String name, String price){
  2. SQLiteDatabase db = myHelper.getWritableDatabase(); //step 1.
  3. ContentValues values = new ContentValues(); //step 2.
  4. values.put("name", name); //step 3.
  5. values.put("price", price);
  6. long id = db.insert("information", null, values); //step 4.
  7. db.close(); //step 5.
  8. }
  1. public int update(String name, String price){
  2. SQLiteDatabase db = myHelper.getWritableDatabase();
  3. ContentValues values = new ContentValues();
  4. values.put("name", name);
  5. int number = db.update("information", values, "price = ?",
  6. new String[]{price});
  7. db.close();
  8. return number;
  9. }
  1. public int delete(int id){
  2. SQLiteDatabase db = myHelper.getWritableDatabase();
  3. int number = db.delete("information", "_id = ?", new String[]{id+""});
  4. db.close();
  5. return number;
  6. }
  1. public boolean find(long id){
  2. SQLiteDatabase db = myHelper.getReadableDatabase();
  3. Cursor cursor = db.query("information", null, "_id=?",
  4. new String[]{id+""}, null, null, null);
  5. boolean result = cursor.moveToNext();
  6. cursor.close();
  7. db.close();
  8. return result;
  9. }

//考点三、SQLite中的事务

  1. PersonSQLiteOpenHelper myHelper =
  2. new PersonSQLiteOpenHelper(getContext()); //step 1.
  3. SQLiteDatabase db = myHelper.getWritableDatabase();
  4. db.beginTransaction();
  5. //step 2.
  6. try{
  7. //转出
  8. db.execSQL("update person set account = account-1000 where name = ?",
  9. new Object[]{"wangwu"});
  10. //转入
  11. db.execSQL("update person set account = account+1000 where name = ?",
  12. new Object[]{"lisi"});
  13. db.setTransationSuccessful();
  14. }catch(Exception e){
  15. Log.i("事务处理失败", e.toString());
  16. }finally{
  17. db.endTransaction();
  18. //step 3.
  19. db.close();
  20. //step 4.
  21. }

//考点四、ListView控件 和 数据适配器BaseAdapter使用

  1. <ListView
  2. andriod:id = "@+id/lv"
  3. andriod:layout_width = "wrap_content"
  4. andriod:layout_height = "match_parent"
  5. </ListView>
  1. private ListView myListView;
  2. private String[] names = {"京东", "qq", "淘宝",};
  3. private int[] icons = {R.drawable.jd, R.id.qq, R.id.tb}
  4. //step 1.
  5. myListView = (ListView) findViewById(R.id.lv);
  6. //step 2.
  7. MyAdapter myAdapter = new MyAdapter();
  8. //step 3.
  9. myListView.setAdapter(myAdapter);
  10. class MyAdapter extends BaseAdapter{
  11. public int getCount(){
  12. return names.length();
  13. }
  14. public Object getItem(int position){
  15. return names[position];
  16. }
  17. public long getItemId(int position){
  18. return position;
  19. }
  20. public View getView(int position, View convertView, ViewGroup parent){
  21. View view = View.inflate(Main_Activity.this, R.layout.list_item, null);
  22. //将List_item.xml文件找出来并转换成View对象
  23. TextView myTextView = (TextView) view.findViewById(R.id.item_tv);
  24. myTextView.setText( names[position] );
  25. ImageView myImageView = (ImageView) view.findViewById(R.id.item_iv);
  26. myImageView.setBackgroundResource( icons[position] );
  27. return view;
  28. }
  29. }