DPHELPER DAO 操作数据库

package com.example.anzhuo;

import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

import com.example.dao.D_Book;
import com.example.model.M_Book;

public class SampleListViewActivity extends Activity {
    
    private ListView list_view;
    private ArrayAdapter<M_Book> adapter;
    private SQLiteDatabase database;
    private ArrayList<M_Book> list = new ArrayList<M_Book>();
    private int SelectedId;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        this.setContentView(R.layout.activity_sample_listview);
        
        Button btn_into_insert_page = (Button) this.findViewById(R.id.btn_into_insert_page);
        btn_into_insert_page.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View arg0) {
                Intent intent=new Intent(SampleListViewActivity.this,ReadBaseActivity.class);
                startActivityForResult(intent, 9000);
            }});

        list_view = (ListView) this.findViewById(R.id.list_view);
        getData();
        adapter = new ArrayAdapter<M_Book>(this, android.R.layout.simple_expandable_list_item_1, list);
        list_view.setAdapter(adapter);
        list_view.setOnItemClickListener(new OnItemClickListener(){
            
            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int index,long arg3) {
                // TODO Auto-generated method stub
//                SelectedId = list.get(index).getId();
//                Toast.makeText(SampleListViewActivity.this, "我点击了ID为"+ list.get(index).getId() +"的数据  书名是:"+list.get(index).getBookName(), 1000).show();
//                //调用一个对话框
//                delete(SelectedId);
//                getData();
//                adapter.notifyDataSetChanged();
                final int position = index;
                
                //这个数组, 决定了都有那些可以操作项
                final String[] items ={"详细资料", "删除", "取消","编辑"};
                //实例化一个对话框的对象。    建了一个新变量
                AlertDialog.Builder dialog = new AlertDialog.Builder(SampleListViewActivity.this);
                //设置对话框的标题
                dialog.setTitle("目录");
                //设置数组到对话框中。 并监听点击事件!
                dialog.setItems(items, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int index){
                        final M_Book book = list.get(position);
                        if(index==0){
                            Intent intent=new Intent(SampleListViewActivity.this,ReadBaseActivity.class);
                            intent.putExtra("guid", book.getId()+"");
                            startActivityForResult(intent, 9000);
//                            public Person find(int id){
//                        SQLiteDatabase db =dbOpenHelper.geteadableDatabase();
//                        Cursor cursor=db.rawQuery("select"from person where personid=?),new String[](String.valueOf(id));
//                            if(cursor.moveToFirst()){
//                                int personid = cursor.getInt(cursor.getColumnIndex("personid"));
//                                String bookName = cursor.getString(cursor.getColumnIndex("bookName"));
//                                float price = cursor.getString(cursor.getColumnIndex(price));
//                                int pageNumber = cursor.getString(cursor.getColumnIndex(pageNumber));
//                                String author = cursor.getString(cursor.getColumnIndex("author"));
//                                }
//                            cursor.close();
//                            return null;
//                            }
//                            Toast.makeText(SampleListViewActivity.this, "我单击了"+s, 1000).show();
                            }else if(index==1){
                            
                            Dialog deleteDialog=new AlertDialog.Builder(SampleListViewActivity.this)
                            .setTitle("删除菜单")
                            .setIcon(R.drawable.ic_launcher)
                            .setMessage("确认删除吗?")
                            //相当于点击确认按钮
                            .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
//                                SampleListViewActivity.this.mytxt.setText("删除成功");
                                //数据删除
                                delete(book.getId());
                                //view删除
                                list.remove(position);
                                adapter.notifyDataSetChanged();
                            }
                            })
                            //相当于点击取消按钮
                            .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int which) {
                            // TODO Auto-generated method stub
//                                SampleListViewActivity.this.mytxt.setText("取消删除");
                            }
                            })
                            .create();
                            deleteDialog.show();
                            
                            //Toast.makeText(MainActivity.this, "我单击了删除按钮", 1000).show();
                            
                        }else if(index==2){
//                            Toast.makeText(SampleListViewActivity.this, "我单击了取消按钮", 1000).show();
                        }
                    }
                });
                //建立这个对话框
                dialog.create();
                //现实这个对画框
                dialog.show();
            }});


    }

    private void getData() {
        //先建立一个list对象用来放数据
        list.clear();
        
        D_Book dao = new D_Book();
        list = (ArrayList<M_Book>) dao.getBookList();
        
//        //获取SDCARD的路径
//        String sdcardpath = Environment.getExternalStorageDirectory().getAbsolutePath();
//        //设置数据库路径 
//        final String myDbPath = sdcardpath+"/mydb.db";
//        //获取数据库对象
//        database = SQLiteDatabase.openOrCreateDatabase(myDbPath, null);
//        //通过查询语句将数据放到游标中
//        
//        Cursor cursor = database.query("book", new String[]{"id","bookName"}, null, null, null, null, "id desc");
        Cursor cursor = database.query("book", new String[]{"id","bookName"}, "id=?", new String[]{"100"}, null, null, null);
        Cursor cursor = database.query("book", new String[]{"id","bookName"}, "bookName like ? and price>?", new String[]{"%JAVA%","100"}, null, null, " price desc ");
//        //循环 把游标里的数据放到奥list中
//        while(cursor.moveToNext()){
//            String bookName = cursor.getString(cursor.getColumnIndex("bookName"));
//            int id = cursor.getInt(cursor.getColumnIndex("id"));
//            M_Book book = new M_Book();
//            book.setId(id);
//            book.setBookName(bookName);
//            list.add(book);
//        }
//        cursor.close();
//        database.close();

    }
    
    private void delete(int model){
        list.clear();
        D_Book d = new D_Book();
        d.delete(model);
//        //获取SDCARD的路径
//        String sdcardpath = Environment.getExternalStorageDirectory().getAbsolutePath();
//        //设置数据库路径 
//        final String myDbPath = sdcardpath+"/mydb.db";
//        //获取数据库对象
//        database = SQLiteDatabase.openOrCreateDatabase(myDbPath, null);
//        database.delete("book", "id=?", new String[]{id+""});
//        database.close();
        Toast.makeText(SampleListViewActivity.this, "删除成功!",1000).show();
    }
//    private void update(Person person){
//        SQLiteDatabase db=helper.getWritableDatabase();
//        //创建SQl字符串
//        String sqlStr="update person set bookname=?,price=?pageNumber=?author=?";
//        //执行SQL语句
//        database.execSQL(sqlStr, new Object[]{person.getbookname(),person.getprice(),person.getpageNumber(),person.getauthor});
//        //关闭数据库
//        database.close();

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        switch(requestCode){
            case 9000:{
                if(resultCode==RESULT_OK){
                    getData();
                    adapter.notifyDataSetChanged();
                }
            }
        }
    }
        
//    }    
    
    
    
}
    
 

 

 

 

 

 

 

package com.example.dao;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;

import com.example.model.M_Book;

public class D_Book {
    
    SQLiteDatabase db;
    
    public D_Book(){
        
        System.out.println("运行了构造函数");
    }
    //find(4)  id='id'  id='4'
    
    /**
     * 通过ID找到一本输
     * @param id 书刊的编号
     * @return 书的model
     */
    public M_Book findBookById(int id){
        db = DBHelper.getDatabase();
        M_Book b =new M_Book();
        String[] shu = {"id","bookName","price","pageNumber","author"};
        String[] selectionArgs = {id+""};
        //b赋值]
        String table = "book";
        Cursor cursor=db.query(table, shu, "id=?", selectionArgs, null, null, null);
        if (cursor.moveToNext()) {
            b.setId(Integer.valueOf(cursor.getString(0)));
            b.setBookName(cursor.getString(1));
            b.setPrice(Float.valueOf(cursor.getString(2)));
            b.setPageNumber(Integer.valueOf(cursor.getString(3)));
            b.setAuthor(cursor.getString(4));
        }else{
            b=null;
        }
        cursor.close();
        db.close();
        return b;
        //SELECT * FROM book WHERE id =  id
    }
    
    public void add(M_Book model){
        //INSERT INTO book VALUES ('测试内容','测试内容','测试内容','测试内容')
        db = DBHelper.getDatabase();
        ContentValues values = new ContentValues();
        // values.put("id",001);
        values.put("bookName", model.getBookName());
        values.put("price", model.getPrice());
        values.put("pageNumber", model.getPageNumber());
        values.put("author", model.getAuthor());
        db.insert("book",null, values);
           db.close();
    }

    public void update(M_Book model) {
        //UPDATE book SET price = 99 WHERE bookName ='测试内容'
        // TODO Auto-generated method stub
        db = DBHelper.getDatabase();
        ContentValues values = new ContentValues();
        // values.put("id",001);
        values.put("bookName", model.getBookName());
        values.put("price", model.getPrice());
        values.put("pageNumber", model.getPageNumber());
        values.put("author", model.getAuthor());
        db.update("book", values, "id=?", new String[]{model.getId()+""});
           db.close();
    }
    public void delete(int model){
        //DELETE FROM book WHERE pageNumber ='测试内容'
        db = DBHelper.getDatabase();
        db.delete("book", "id=?", new String[]{model+""});
           db.close();
    }

    /**
     * 获取所有书刊的列表
     * @return 一个list类型
     */
    public List<M_Book> getBookList() {
        db = DBHelper.getDatabase();
        List<M_Book> bookList = new ArrayList<M_Book>();
        // TODO Auto-generated method stub    
        Cursor cursor = db.query("book", new String[]{"id","bookName","price","pageNumber","author"}, null, null, null, null, "id desc");
//        Cursor cursor = database.query("book", new String[]{"id","bookName"}, "id=?", new String[]{"100"}, null, null, null);
//        Cursor cursor = database.query("book", new String[]{"id","bookName"}, "bookName like ? and price>?", new String[]{"%JAVA%","100"}, null, null, " price desc ");
        //循环 把游标里的数据放到奥list中
        while(cursor.moveToNext()){
            
            String bookName = cursor.getString(1);
            float price = cursor.getFloat(2);
            int id = cursor.getInt(0);
            String author = cursor.getString(4);
            int pageNumber = cursor.getInt(3);
            
            M_Book book = new M_Book();
            book.setId(id);
            book.setBookName(bookName);
            book.setPrice(price);
            book.setPageNumber(pageNumber);
            book.setAuthor(author);
            
            bookList.add(book);
        }
        cursor.close();
        db.close();
        return bookList;
    }
}
 

 

 

 

 

package com.example.dao;

import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;

public class DBHelper {
    public static SQLiteDatabase getDatabase(){
        String sdcardpath = Environment.getExternalStorageDirectory().getAbsolutePath();
        String myDbPath = sdcardpath + "/mydb.db";
        SQLiteDatabase sdb = SQLiteDatabase.openOrCreateDatabase(myDbPath, null);
        return sdb;
    }
}
 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/ChrisWolfWu/blog/753468

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值