SQLite資料庫的建立與使用

來源:互聯網
上載者:User

標籤:

(1)首先建立一個類繼承SQLiteOpenHelper,重寫父類中super(),onCreate(),onUpgrade()方法,

        在super()方法中聲明資料庫的content(上下文),databaseName(資料的名稱),factory(遊標工廠),version(版本);

        在onCreate()方法中可以建立一張表;

        在onUpgrade()方法中可以更新資料庫的版本。

       

public class PersonDB extends SQLiteOpenHelper {    public PersonDB(Context context){        super(context,"person.db",null,5);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        sqLiteDatabase.execSQL("create table person (id integer primary key autoincrement,name varchar(20),number varchar(20))");        System.out.print("資料庫建立成功");    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {        System.out.println("資料庫升級成功");    }}

(2)建立javaBean用於儲存資料

       作用:用於儲存資料庫中的值。(注意:該類中的變數應該和資料庫中的欄位相同)

       在該類中通過變數設定setXXX()和getXXX()方法(根據需求也可增加需要的方法);

public class Person {    private  int id;    private  String name;    private String number;    public Person(){}    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getNumber() {        return number;    }    public void setNumber(String number) {        this.number = number;    }    @Override    public String toString() {        return "Person{" +                "id=" + id +                ", name=‘" + name + ‘\‘‘ +                ", number=‘" + number + ‘\‘‘ +                ‘}‘;    }}

 

 (3)在MainActivity中可以通過BUTTON增加監聽對資料庫進行操作 增,刪,改,查(可以將查詢的結果通過ListView吧資料顯示到手機介面上)。

        <1>在xml檔案增加需要的控制項,在MainActivity中通過findViewById()的方法找到xml中的控制項

b1=(Button)findViewById(R.id.b1);

b2=(Button)findViewById(R.id.sele);

        <2>在MainActivity中聲明資料庫(this指的是上下文環境)

helper=new PersonDB(this);

       <3>操作資料庫(注意:每次操作完資料庫後應將資料庫關閉通過close()方法)

             增:給button設定監聽事件

                  通過SQLiteDataBase得到一個可讀寫的資料庫

SQLiteDatabase db=helper.getWritableDatabase();

                 編寫SQL語句

Long i=  db.insert(String table,String nullColumnHack,ContentValues values);

                通過SQL語句的傳回值判斷操作是否成功

 if(i==-1){                    Toast.makeText(MainActivity.this, "插入失敗", Toast.LENGTH_SHORT).show();                }                else{                    Toast.makeText(MainActivity.this, "插入成功", Toast.LENGTH_SHORT).show();                }
}

               最後關閉資料庫

db.close();

          刪,改 步驟:同上

 

          查:給button設定監聽事件

                  通過SQLiteDataBase得到一個可讀或者可讀寫的資料庫

SQLiteDatabase db=helper.getReadableDatabase();SQLiteDatabase db=helper.getWritableDatabase();

                  編寫SQL語句,將查詢到的將資料存進javaBean中,定義一個內部類繼承BaseAdapter適配器,最終通過ListView將結果顯示到控制台

        b2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                SQLiteDatabase db=helper.getWritableDatabase();                Cursor cursor= db.query("Person", null, null, null, null, null, null);                list_infor=new ArrayList<Person>();                while(cursor.moveToNext()){                    Person infor=new Person();                    int id=cursor.getInt(cursor.getColumnIndex("id"));                    String name=cursor.getString(cursor.getColumnIndex("name"));                    String number=cursor.getString(cursor.getColumnIndex("number"));                    infor.setId(id);                    infor.setName(name);                    infor.setNumber(number);                    list_infor.add(infor);                }                cursor.close();                db.close();                lv.setAdapter(new MyAdapter());            }        });    }    private class MyAdapter extends BaseAdapter {        @Override        public int getCount() {            return list_infor.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            TextView tv=new TextView(MainActivity.this);            tv.setText(list_infor.get(i).toString());            return tv;        }    }

 

SQLite資料庫的建立與使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.