Anroid——第三方数据库SQLite——SQLiteOpenHelper+SQLiteDatabase

来源:互联网 发布:820空心杯淘宝 编辑:程序博客网 时间:2024/06/05 02:18

Anroid——第三方数据库SQLite——SQLiteOpenHelper+SQLiteDatabase





<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;import com.j256.ormlite.dao.Dao;import com.j256.ormlite.support.ConnectionSource;import com.j256.ormlite.table.TableUtils;import java.sql.SQLException;import java.util.HashMap;import java.util.Map;public  class DatabaseHelper extends OrmLiteSqliteOpenHelper {    private static final String TABLE_NAME = "ormtest.db";    private Map<String, Dao> daos = new HashMap<String, Dao>();    private static DatabaseHelper instance;    private DatabaseHelper(Context context) {        super(context, TABLE_NAME, null, 1);    }    @Override      public void onCreate(SQLiteDatabase database,            ConnectionSource connectionSource) {        try {            TableUtils.createTable(connectionSource, User.class);        } catch (SQLException e) {            e.printStackTrace();          }      }    @Override      public void onUpgrade(SQLiteDatabase database,              ConnectionSource connectionSource, int oldVersion, int newVersion) {        try {            TableUtils.dropTable(connectionSource, User.class, true);            onCreate(database, connectionSource);          } catch (SQLException e) {            e.printStackTrace();          }      }    /**      * 单例获取该Helper      *       * @param context      * @return      */      public static synchronized DatabaseHelper getHelper(Context context) {        context = context.getApplicationContext();          if (instance == null) {            synchronized (DatabaseHelper.class) {                if (instance == null)  {                    instance = new DatabaseHelper(context);                }            }          }        return instance;      }    public synchronized Dao getDao(Class clazz) throws SQLException {        Dao dao = null;          String className = clazz.getSimpleName();        if (daos.containsKey(className)) {            dao = daos.get(className);          }          if (dao == null) {            dao = super.getDao(clazz);              daos.put(className, dao);          }          return dao;      }    /**      * 释放资源      */      @Override      public void close() {        super.close();        for (String key : daos.keySet()) {            Dao dao = daos.get(key);              dao = null;          }      }}  </span>


<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;import com.j256.ormlite.field.DatabaseField;import com.j256.ormlite.table.DatabaseTable;/** * Created by 冲天之峰 on 2016/8/23. */@DatabaseTable (tableName = "user")//表名public class User {    @DatabaseField(id=true)  //主键private String  userId;    @DatabaseField            //(columnName = "userName")    private String name;    @DatabaseField    private int age;    public User(){}    public User(String userId, String name, int age) {        this.userId = userId;        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getUserId() {        return userId;    }    public String setUserId(String userId) {        this.userId = userId;        return userId;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}</span>

<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;import android.content.Context;import com.j256.ormlite.dao.Dao;import java.sql.SQLException;import java.util.List;/** * Created by 冲天之峰 on 2016/8/23. */public class UserDaoOrm {    private Context context;    private Dao<User,Integer> userDao;    private DatabaseHelper helper;    public   UserDaoOrm(Context context){        this.context=context;        helper=DatabaseHelper.getHelper(context);        try {            userDao=helper.getDao(User.class);        } catch (SQLException e) {            e.printStackTrace();        }    }    public  void  add(User user){        try {            userDao.createOrUpdate(user);        } catch (SQLException e) {            e.printStackTrace();        }    }    //查询全部    public List<User> select() {        try {            return  userDao.queryForAll();        } catch (SQLException e) {            e.printStackTrace();        }return null;    }    public  void delete(User user){        try {            userDao.delete(user);        } catch (SQLException e) {            e.printStackTrace();        }    }    public User selectUser(String id){        try {           return   userDao.queryBuilder().where()                   .eq("userId",id)                   .queryForFirst();        } catch (SQLException e) {            e.printStackTrace();        }return null;    }}</span>

<span style="font-size:18px;">package com.example.jreduch08.DataBaseHelpp;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;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 java.util.ArrayList;import java.util.List;public class UserDaoTestActivity extends AppCompatActivity {    private EditText name,age,userId;    private Button button1,button2,button4,button5,button6;    private TextView tv;    private Spinner sp;    private UserDaoOrm userDaoOrm;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_user_dao_test);        name= (EditText) findViewById(R.id.name);        age= (EditText) findViewById(R.id.age);       userId= (EditText) findViewById(R.id.userId);        button1= (Button) findViewById(R.id.button1);        button2= (Button) findViewById(R.id.button2);        button6= (Button) findViewById(R.id.button6);        button4= (Button) findViewById(R.id.button4);        button5= (Button) findViewById(R.id.button5);        sp= (Spinner) findViewById(R.id.sp);        tv= (TextView) findViewById(R.id.tv);        userDaoOrm=new UserDaoOrm(this);        button1.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                 User user=new User();                user.setUserId(userId.getText().toString());                user.setName(name.getText().toString());                user.setAge(Integer.parseInt(age.getText().toString()));                userDaoOrm.add(user);                Toast.makeText(getBaseContext(),"新增成功",Toast.LENGTH_SHORT).show();            }        });        button2.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                List<User> list=userDaoOrm.select();                String text="";                List myData=new ArrayList();                for (User u:list){                    myData.add(u.getUserId()+":"+u.getName()+":"+u.getAge());                    text=text+u.getUserId()+":"+u.getName()+":"+u.getAge()+"\n";                }                ArrayAdapter aa=new ArrayAdapter(getBaseContext(),android.R.layout                        .simple_list_item_1,myData);                sp.setAdapter(aa);                tv.setText(text);            }        });        button4.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                User user=new User();                user.setUserId(userId.getText().toString());                user.setName(name.getText().toString());                user.setAge(Integer.parseInt(age.getText().toString()));                userDaoOrm.delete(user);                Toast.makeText(getBaseContext(),"删除成功",Toast.LENGTH_SHORT).show();        }        });        button5.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                User user=new User();                String  id="";               id= userId.getText().toString();               tv.setText(userDaoOrm.selectUser(id).getUserId()+":"+userDaoOrm.selectUser(id).getName()+                       ":"+userDaoOrm.selectUser(id).getAge());               user=userDaoOrm.selectUser(id);               name.setText(user.getName().toString());                age.setText(user.getAge()+"");                Toast.makeText(getBaseContext(),"查询一个成功",Toast.LENGTH_SHORT).show();            }        });        button6.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if(!userId.getText().toString().equals("")){                    User u=new User();                    u.setUserId(userId.getText().toString());                    userDaoOrm.delete(u);                    Toast.makeText(getBaseContext(), "删除一个成功", Toast.LENGTH_SHORT).show();                }            }        });    }}</span>




0 0
原创粉丝点击