安卓splite快速入门

http://blog.csdn.net/codeeer/article/details/30237597转载过来,下次方便看
来解释一下直接套用的案例吧
案例图片

这里写图片描述

这里写图片描述

类分别
这里写图片描述

/**
 * SQLiteOpenHelper的抽象类,必须继承它才能使用,它是通过对数据库版本进行管理来实现前面提出的需求
 * @author wen
 *
 */
public class OpenHelper extends SQLiteOpenHelper {
    public OpenHelper(Context context) {
        super(context, "db.student", null, 1);
    }
    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table student (_id integer primary key autoincrement,name varchar(2250))");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

}
public class SqlDao {
    private OpenHelper helper;
    public SqlDao(Context context) {
        helper=new OpenHelper(context);
    }
    /**
     * 添加
     * @param stu
     * @return
     */
    public boolean add(Student stu){
        SQLiteDatabase db = helper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("name", stu.getName().toString());
        long insert = db.insert("student", null, values);
        db.close();
        if(insert !=-1){
            return true;
        }else{
            return false;
        }
    }
    /**
     * 删除
     * @param name
     */
    public void delete(String name){
        SQLiteDatabase db = helper.getWritableDatabase();
//        db.execSQL("delete student where name =?",new String[]{name});    
        db.delete("student", "name=?", new String[]{name});
        db.close();
        }

    /**
     *查找学生姓名
     * @param stu
     * @return
     */
    public Student findName(Student stu2 ){
        SQLiteDatabase db = helper.getReadableDatabase();
        Cursor cursor = db.rawQuery("select * from student where name=?", new String[]{stu2.getName()});
        Student s = new Student();
        while(cursor.moveToNext()){
//            String name = cursor.getString(1);
            s.setName(stu2.getName());
        }
        cursor.close();
        db.close();
        return s;
    }
    //查询所有学生
    public List<Student> findAll(){
        SQLiteDatabase db = helper.getReadableDatabase();
        List<Student> list =new ArrayList<Student>();
        Cursor cursor = db.query("student", null, null, null, null, null, null);
        while(cursor.moveToNext()){
            //创建学生对象
            Student s = new Student();
            String name = cursor.getString(1);
            //添加到学生bean里面
            s.setName(name);
            list.add(s);
        }
        db.close();
        cursor.close();
        return list;

    }
}
public class Student {
    private String name;
    public Student(){
    }
    public Student(String name){
        this.name = name;
    }
    public Student(String name, String sex) {
         this.name = name;

    }

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }


}
public class MainPage extends Activity  {
    private EditText et_name;                                    
    private Button bt_add;
    private String name;
    private RadioGroup rg_group;
    private TextView tv_showsex;
    private String showsex;
    private SqlDao dao;
    private Student stu;
    private Student stu2;
    private List<Student> list;
    private MyAdapter adapter;
    private ListView listView1;
    private PopupWindow pw;    
    private TextView delete;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainpage);
        initView();
        initDate();

    }
    //初始化视图
    private void initView() {
        et_name=(EditText) findViewById(R.id.et_name);
        bt_add=(Button) findViewById(R.id.bt_add);
        listView1=(ListView) findViewById(R.id.listView1);
    }
    //初始化数据
    private void initDate() {
        dao=new SqlDao(MainPage.this);
        list=dao.findAll();
        adapter=new MyAdapter();
        listView1.setAdapter(adapter);
        bt_add.setOnClickListener(new OnClickListener() {
                    public void onClick(View v) {
                name = et_name.getText().toString().trim();   
                stu=new Student(name);

                if(TextUtils.isEmpty(name)){
                    Toast.makeText(MainPage.this, "添加信息不能为空", Toast.LENGTH_LONG).show();

                }else{
                    stu2=new Student(name);
                    Student findName = dao.findName(stu2);
                    if(name.equals(findName.getName())){
                        Toast.makeText(MainPage.this, "添加的姓名不能一样!", Toast.LENGTH_SHORT).show();

                    }else{
                        boolean add = dao.add(stu);
                        if(add){
                            list=dao.findAll();
                            adapter.notifyDataSetInvalidated();//刷新列表
                            Toast.makeText(MainPage.this, "添加成功", Toast.LENGTH_SHORT).show();
                        }else {
                            Toast.makeText(MainPage.this, "添加失败", Toast.LENGTH_SHORT).show();
                        }
                    }
                }
            }
        });
        /**
         * listview的条目点击事件
         */
        listView1.setOnItemClickListener(new OnItemClickListener() {
            private String na;

            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                    final int position, long id) {
                na = list.get(position).getName();
                View v = View.inflate(MainPage.this, R.layout.adapter_popu_window, null);
                if (pw != null) {
                    pw.dismiss();//让弹出的PopupWindow消失
                    pw = null;
                }
                pw = new PopupWindow(v, -2, -2);
                int [] location=new int[2];
                view.getLocationInWindow(location);
                pw.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
                pw.showAtLocation(parent,Gravity.RIGHT+ Gravity.TOP, 20,location[1]-5 );//设置显示的位置
                ScaleAnimation animation = new ScaleAnimation(0.3f, 1f, 0.3f, 1f, Animation.RELATIVE_TO_SELF, 
                        Animation.RELATIVE_TO_SELF);//弹出的动画
                animation.setDuration(400);//设置动画时间
                v.startAnimation(animation);//开启动画
                delete = (TextView)v.findViewById(R.id.tv_delete);
                /**
                 * 删除每一个item上的数据
                 */
                delete.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        dao.delete(na);
                        list.remove(position);//移除item的条目
                        list=dao.findAll();//调用查询所有重新再查找一遍
                        adapter.notifyDataSetChanged();//更新适配器
                    }
                });
            }
        });

        /**
         * listview的滑动监听
         * 当鼠标上下滑动的时候让PopupWindow消失
         */
        listView1.setOnScrollListener(new OnScrollListener() {

            @Override
            public void onScrollStateChanged(AbsListView view, int scrollState) {
            }
            @Override
            public void onScroll(AbsListView view, int firstVisibleItem,
                    int visibleItemCount, int totalItemCount) {
                if(pw!=null){
                    pw.dismiss();
                    pw=null;
                }
            }
        });
    }

    //按钮组的点击事件


    class MyAdapter extends BaseAdapter{

        private View view;
        private String name2;
        @SuppressLint("ViewHolder") @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder=null ;//设置静态类使其初始化
            if(convertView==null){

                holder = new ViewHolder();//创建holder对象
                view = View.inflate(MainPage.this, R.layout.item,null );

                holder.tv_name = (TextView) view.findViewById(R.id.tv_n);

                view.setTag(holder);//用来保存一些数据结构。
            }else{
                view=convertView;//复用历史缓存
                holder=(ViewHolder) view.getTag();

            }
            name2 = list.get(position).getName();

            holder.tv_name.setText(name2);
            return view;
        }
        @Override
        public int getCount() {
            return list.size();    //返回list集合中的数据个数
        }

        @Override
        public Object getItem(int position) {

            return null;
        }

        @Override
        public long getItemId(int position) {

            return 0;
        }



    }
    //ViewHolder静态类
    static class ViewHolder{
        TextView tv_name;

    }



}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于您的问题,我可以给出一些相关的信息。 首先,我想确认您是指的是 "phpStudy" 而不是 "phpstudy",因为 "phpStudy" 是一个常见的 PHP 开发环境工具套件。 关于 SQLite 数据库的使用,在 PHP 中可以通过 SQLite 扩展来实现。以下是一些基本的步骤: 1. 确保您的 PHP 环境已经安装了 SQLite 扩展。您可以在 php.ini 文件中查找 "extension=sqlite3" 或者 "extension=pdo_sqlite" 来确认扩展是否启用。 2. 使用 SQLite 数据库之前,您需要创建一个数据库文件。可以通过以下代码创建或打开一个 SQLite 数据库文件: ```php $db = new SQLite3('path_to_your_database_file.db'); ``` 3. 执行 SQL 查询和操作。以下是一个简单的示例来创建一个表和插入一些数据: ```php $tableCreateQuery = "CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, email TEXT NOT NULL )"; $db->exec($tableCreateQuery); $insertQuery = "INSERT INTO users (name, email) VALUES ('John Doe', 'johndoe@example.com')"; $db->exec($insertQuery); ``` 4. 查询数据。可以使用 SELECT 语句来检索数据,然后通过遍历结果集来获取每一行的数据: ```php $selectQuery = "SELECT * FROM users"; $result = $db->query($selectQuery); while ($row = $result->fetchArray()) { echo $row['name'] . ": " . $row['email'] . "<br>"; } ``` 5. 关闭数据库连接。在使用完数据库后,确保关闭连接以释放资源: ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值