Anroid——資料庫SQLite——SQLiteOpenHelper+SQLiteDatabase

來源:互聯網
上載者:User

標籤:

1.SQLite  輕量級.dp檔案多用於手機裡

輕量級的  嵌入式的 關係資料模型。

SQLiteOpenHelper

負責建立開啟更新關閉資料庫

建立資料表

SQLiteDatabase

執行SQL語句

對資料表增。刪。改。查。




<span style="font-size:18px;">package com.example.jreduch08.sqlitedemo.entity;/** * Created by 衝天之峰 on 2016/8/22. */public class User {    private  int UserId;    private  String name;    private String   pwd    ;    private String    age ;    private String   img  ;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getUserId() {        return UserId;    }    public void setUserId(int userId) {        UserId = userId;    }    public String getPwd() {        return pwd;    }    public void setPwd(String pwd) {        this.pwd = pwd;    }    public String getAge() {        return age;    }    public void setAge(String age) {        this.age = age;    }    @Override    public String toString() {        return "User{" +                "UserId=" + UserId +                ", name='" + name + '\'' +                ", pwd='" + pwd + '\'' +                ", age='" + age + '\'' +                ", img='" + img + '\'' +                '}';    }    public String getImg() {        return img;    }    public void setImg(String img) {        this.img = img;    }}</span>
<span style="font-size:18px;">package com.example.jreduch08.sqlitedemo.entity;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import com.example.jreduch08.sqlitedemo.MyDbHelper;import java.util.ArrayList;import java.util.List;/** * Created by 衝天之峰 on 2016/8/22. */public class UserDao {    private MyDbHelper myDbHelper;    public  UserDao(Context context){        myDbHelper =new MyDbHelper(context);    }    //插入資料    public void insert(User user){       SQLiteDatabase db= myDbHelper.getWritableDatabase();        ContentValues cv=new ContentValues();        cv.put("name",user.getName());        cv.put("pwd",user.getPwd());        cv.put("age",user.getAge());        cv.put("img",user.getImg());        db.insert("info",null,cv);        db.close();    }    //查詢一條資料    public  User searchUser(String id){        SQLiteDatabase db=myDbHelper.getReadableDatabase();        Cursor cs= db.query("info",null,"_id=? ",new String[]{id},null,null,null);        User  user=null;        if(cs.moveToNext()){            user=new User();            user.setUserId(cs.getInt(cs.getColumnIndex("_id")));            user.setName(cs.getString(cs.getColumnIndex("name")));            user.setPwd(cs.getString(cs.getColumnIndex("pwd")));            user.setAge(cs.getString(cs.getColumnIndex("age")));            user.setImg(cs.getString(cs.getColumnIndex("img")));        }        cs.close();        db.close();        return  user;    }    //查詢所有資料    public List search(){        SQLiteDatabase db=myDbHelper.getReadableDatabase();        Cursor cs= db.query("info",null,null,null,null,null,null);        User user=null;        List<User> list=new ArrayList<>();     while (cs.moveToNext()){         user=new User();         user.setUserId(cs.getInt(cs.getColumnIndex("_id")));         user.setName(cs.getString(cs.getColumnIndex("name")));         user.setPwd(cs.getString(cs.getColumnIndex("pwd")));         user.setAge(cs.getString(cs.getColumnIndex("age")));        user.setImg(cs.getString(cs.getColumnIndex("img")));         list.add(user);     }        cs.close();        db.close();        return  list;    }    //刪除所有資料    public  void delete(){        SQLiteDatabase db=myDbHelper.getReadableDatabase();       db.delete("info",null,null);        db.close();    }    //刪除一條資料    public  void deleteUser(String id){        SQLiteDatabase db=myDbHelper.getReadableDatabase();        db.delete("info","_id=?",new String[]{id});        db.close();    }    //修改資料    public  void   updata(User user){        SQLiteDatabase db=myDbHelper.getReadableDatabase();        ContentValues cv=new ContentValues();        cv.put("name",user.getName());        cv.put("pwd",user.getPwd());        cv.put("age",user.getAge());        cv.put("img",user.getImg());        String  id=String.valueOf(user.getUserId());        db.update("info",cv,"_id=?",new String[]{id});    }}</span>
<span style="font-size:18px;">package com.example.jreduch08.sqlitedemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by 衝天之峰 on 2016/8/22. */public class MyDbHelper extends SQLiteOpenHelper{    //private  final String DBNAME            ="user.db";    private  final String TABLE_NAME           ="info";    private final String INFO_COLUM_ID         ="_id";//列的名字前    private final String INFO_COLUM_NAME      ="name";    private  final String INFO_COLUM_PWD      ="pwd";    private  final String INFO_COLUM_AGE      ="age";    private  final String INFO_COLUM_IMG      ="img";    public MyDbHelper(Context context){        super(context,"user.db",null,1);   //1版本號碼。走onUpgrade    }    public MyDbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {        super(context, name, factory, version);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        StringBuilder  sql=new StringBuilder();        sql.append(" Create table if not exists ");//+++++++++++++空格+++++++++++        sql.append(TABLE_NAME+"( ");        sql.append(INFO_COLUM_ID+" integer primary key autoincrement,");        sql.append(INFO_COLUM_NAME+" varchar(10),");         sql.append(INFO_COLUM_PWD+" varchar(10),");        sql.append(INFO_COLUM_AGE+" varchar(10),");        sql.append(INFO_COLUM_IMG+" varchar(10) ");        sql.append(" ) ");        sqLiteDatabase.execSQL(sql.toString());    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {        String  sql=" drop table if exists "+TABLE_NAME;        sqLiteDatabase.execSQL(sql);        onCreate(sqLiteDatabase);    }}</span>
<span style="font-size:18px;">package com.example.jreduch08.sqlitedemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.EditText;import android.widget.Spinner;import android.widget.TextView;import android.widget.Toast;import com.example.jreduch08.R;import com.example.jreduch08.sqlitedemo.entity.User;import com.example.jreduch08.sqlitedemo.entity.UserDao;import java.util.ArrayList;import java.util.List;public class SqlliteTestActivity extends AppCompatActivity {private EditText name,age,pwd;    private Button button1,button2,button3,button4,button5;    private TextView tv;   private Spinner sp;    private UserDao  userDao;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_sqllite_test);        name= (EditText) findViewById(R.id.name);        age= (EditText) findViewById(R.id.age);       pwd= (EditText) findViewById(R.id.pwd);        button1= (Button) findViewById(R.id.button1);        button2= (Button) findViewById(R.id.button2);        button3= (Button) findViewById(R.id.button3);        button4= (Button) findViewById(R.id.button4);        button5= (Button) findViewById(R.id.button5);        sp= (Spinner) findViewById(R.id.sp);        tv= (TextView) findViewById(R.id.tv);        userDao=new  UserDao(this);        button1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                User user=new User();                user.setName(name.getText().toString());                user.setAge(age.getText().toString());                user.setPwd(pwd.getText().toString());                userDao.insert(user);                Toast.makeText(getBaseContext(),"新增成功",Toast.LENGTH_SHORT).show();            }        });        button2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                List<User> list=userDao.search();                tv.setText(list.toString());                List myData=new ArrayList();            for (User u:list){                    myData.add(u.getUserId()+":"+u.getName());                              }                ArrayAdapter aa=new ArrayAdapter(getBaseContext(),android.R.layout                        .simple_list_item_1,myData);                sp.setAdapter(aa);            }        });        //修改button3.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {        String str=sp.getSelectedItem().toString();        if (!str.equals("")) {            String id = str.split(":")[0];            User user=userDao.searchUser(id);            user.setName(name.getText().toString());            user.setPwd(pwd.getText().toString());            user.setAge(age.getText().toString());            userDao.updata(user);        }    }});  button4.setOnClickListener(new View.OnClickListener() {      @Override      public void onClick(View view) {          String str=sp.getSelectedItem().toString();          if (!str.equals("")){              String id=str.split(":")[0];              userDao.deleteUser(id);          }      }  });        button5.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                userDao.delete();            }        });        sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {              String str=  sp.getSelectedItem().toString();                if (!str.equals("")){                    String id=str.split(":")[0];                 User user=   userDao.searchUser(id);                    name.setText(user.getName().toString());                    age.setText(user.getAge().toString());                    pwd.setText(user.getPwd().toString());                }            }            @Override            public void onNothingSelected(AdapterView<?> adapterView) {            }        });    }}</span>
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.example.jreduch08.sqlitedemo.SqlliteTestActivity"><LinearLayout    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    >    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/name"        android:hint="請輸入姓名"        />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/pwd"        android:hint="請輸入密碼"        />    <EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/age"        android:hint="請輸入年齡"        />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        >        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/button1"            android:text="新增"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/button2"            android:text="查詢"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/button3"            android:text="修改"            />        <Button            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:id="@+id/button4"            android:text="刪除"            />    </LinearLayout>    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/button5"        android:text="刪除全部"        />    <TextView        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/tv"        android:text="結果:"        />    <Spinner        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:id="@+id/sp"        >    </Spinner></LinearLayout></RelativeLayout></span>






Anroid——資料庫SQLite——SQLiteOpenHelper+SQLiteDatabase

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.