zoukankan      html  css  js  c++  java
  • 【安卓9】SimpleCursorAdapter、在列表中展示数据

    SimpleCursorAdapter

    SimpleCursorAdaper与SimpleAdapter类似,但数据来源是Cursor。

    操作步骤:

    在列表中展示数据

     1 public MySQLiteOpenHelper(Context context) {
     2      super(context,"person.db",null,1);
     3 }
     4 public void onCreate(SQLiteDatabase db) {
     5     db.execSQL("create table if not exists person(" 
     6         +"_id integer primary key autoincrement,"
     7         +"name varchar(20)");
     8 }
     9 /**    查询方法
    10   * @return Cursor对象
    11   */
    12  public  Cursor  query(){
    13     SQLiteDatabase  db=getWritableDatabase();
    14     Cursor cursor=db.query("person", new String[]{"id _id ","name"}, null, null, null, null, null);
    15     return cursor;
    16  }
    17 /**向数据库插入数据*/
    18     public void insert(String [] args){
    19         SQLiteDatabase db=this.getWritableDatabase();
    20         //该对象可操作键-值对数据
    21         ContentValues values=new ContentValues();
    22         values.put("name",args[0]);//存放数据
    23         //表名,强行插入null值得数据列的列名,记录数据
    24         db.insert("person",null,values);
    25     } 
    MySQLiteOpenHelper代码
     1 Activity代码
     2 public class Main extends Activity implements OnClickListener{
     3 private  Button  addBtn;
     4 private  Button  findBtn;
     5 private  EditText nameEt;
     6 private  EditText phoneEt;
     7 private  ListView listView;
     8 private  SimpleCursorAdapter  adapter;
     9 private  MySQLiteOpenHelper  helper;
    10     public void onCreate(Bundle savedInstanceState) {
    11         super.onCreate(savedInstanceState);
    12         setContentView(R.layout.main);
    13         addBtn=(Button)findViewById(R.id.addBtn);
    14         findBtn=(Button)findViewById(R.id.findBtn);
    15         nameEt=(EditText)findViewById(R.id.nameEt);
    16         phoneEt=(EditText)findViewById(R.id.phoneEt);
    17         listView=(ListView)findViewById(R.id.lv);
    18         addBtn.setOnClickListener(this);
    19         findBtn.setOnClickListener(this);
    20 
    21         helper=new MySQLiteOpenHelper(this);
    22         Cursor  cursor=helper.query();
    23         adapter=new SimpleCursorAdapter(this,R.layout.list_item, 
    24         cursor,new String[]{"_id","name","phone"},
    25         new int[]{R.id.idTv,R.id.nameTv,R.id.phoneTv});
    26         listView.setAdapter(adapter);
    27     } 
    28 public void onClick(View v) {
    29     MySQLiteOpenHelper  db=new MySQLiteOpenHelper(Main.this);
    30     switch(v.getId()){
    31     case R.id.addBtn:
    32         String  name=nameEt.getText().toString();
    33         String  phone=phoneEt.getText().toString();
    34         db.insert(new String[]{name,phone});
    35         Toast.makeText(this,"插入成功",3000).show();
    36     break;
    37    case R.id.findBtn:
    38            Cursor  cur=helper.query();
    39            adapter.changeCursor(cur);//更新游标适配器对象
    40            adapter.notifyDataSetChanged();//通知列表控件数据发生改变
    41     break;
    42 }
    Activity 代码
  • 相关阅读:
    优化你的手机游戏
    vuforia 结合 unity3d 开发 AR 的 androidAPP 总结
    self._raiseerror(v) File "D:GameDevelopmentPython27libxmletreeElementTree.py", line 1506, in _raiseerror
    自定义TexturePacker插件导出自己的plist文件
    还原TexturePacker plist 文件以及图片的方法 (切开各小图片)
    no module named firefly.master.master
    c#比较器 排序
    python ——面向对象进阶(反射,双下线方法,静态方法,类方法)
    python——模块和包 需要注意的地方
    举例详解Python中的split()函数的使用方法
  • 原文地址:https://www.cnblogs.com/leelee/p/7045158.html
Copyright © 2011-2022 走看看