Android_SQLite的使用

创建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;
	}

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值