创建Sqlite库和表
public class SqliteDaBaseOpenHelper extends SQLiteOpenHelper {
public SqliteDaBaseOpenHelper(Context context) {
super(context, "user.db", null, 1);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table user (id integer primary key autoincrement , " +
"name varchar(20),sex varchar(10))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
操作Dao类
public class UserDao {
private SQLiteDatabase sd;
public UserDao(Context context){
//创建数据库
SqliteDaBaseOpenHelper daBaseOpenHelper=new SqliteDaBaseOpenHelper(context);
sd=daBaseOpenHelper.getWritableDatabase();
}
//添加一条数据
public boolean add(){
/**
* 1.表名
* 2.列的信息 是否存在
* 3.要存的值
*/
ContentValues values=new ContentValues();
values.put("name", "耿博");
values.put("sex", "不详");
long insert = sd.insert("user", null, values);
if(insert!=-1){
return true;
}else{
return false;
}
}
//删除数据
public boolean delete(){
/**
* 1.表名
* 2.条件
* 3.条件的值
*/
int delete = sd.delete("user", "id = ?", new String[]{1+""});
if(delete!=-1){
return true;
}else{
return false;
}
}
//修改一条数据
public boolean update(){
/**
* 1.表名
* 2.要修改的值
* 3.条件 要修改那一条数据
* 4.条件的值
*/
ContentValues values=new ContentValues();
values.put("name", "杨文斌");
values.put("sex", "女");
int update = sd.update("user", values, "id = ?", new String[]{2+""});
if(update!=-1){
return true;
}else{
return false;
}
}
//查询一条数据
public List<User> findone(){
/**
* 1.表名
* 2.指定查询的列字段
* 3.条件
* 4.条件的值
* 5.组查询
* 6.子查询
* 7.顺序 升序 and 降序
*/
List<User> list=new ArrayList<User>();
Cursor cursor = sd.query("user", null, "id = ? ", new String[]{2+""}, null, null, null);
while (cursor.moveToNext()) {
//得到数据库里的值
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
//得到USer对象进行添加数据
User user=new User();
user.setName(name);
user.setSex(sex);
list.add(user);
}
return list;
}
public List<User> findall(){
List<User> list=new ArrayList<User>();
Cursor cursor=sd.query("user", null, null, null, null, null, null);
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
User user = new User();
user.setName(name);
user.setSex(sex);
list.add(user);
}
return list;
}
}
Maintivity类
public class MainActivity extends Activity {
private UserDao userDao;
private ListView listView;
private List<String> lists;
BaseAdaper adaper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取资源ID
listView=(ListView) findViewById(R.id.listview);
lists=new ArrayList<String>();
userDao=new UserDao(this);
}
public void add(View v){
userDao.add();
userDao.findall();
adaper.notifyDataSetChanged();
}
public void delete(View v){
userDao.delete();
}
public void update(View v){
userDao.update();
}
public void findone(View v){
//接受查询出来的值
List<User> list=userDao.findone();
//将User里的name遍历出来
for (User user : list) {
String name = user.getName();
lists.add(name);
}
//创建适配器进行展示
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1,lists);
listView.setAdapter(adapter);
}
public void findall(View v){
//查询数据库 所有数据 进行展示
List<User> list=userDao.findall();
//创建适配器
adaper=new BaseAdaper(list,MainActivity.this);
listView.setAdapter(adaper);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Bean类
public class User {
private String name;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
ListView展示的适配器
public class BaseAdaper extends BaseAdapter{
private List<User> list;
private Context context;
public BaseAdaper(List<User> list, Context context) {
super();
this.list = list;
this.context = context;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
convertView=View.inflate(context, R.layout.adapter, null);
TextView textView=(TextView) convertView.findViewById(R.id.text);
textView.setText(list.get(position).getName());
return convertView;
}
}