博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android利用数据库传送数据
阅读量:6214 次
发布时间:2019-06-21

本文共 5168 字,大约阅读时间需要 17 分钟。

---恢复内容开始---

一.建表 

//通过SQLiteDatabase 创建数据库stu.db3        final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(this.getFilesDir().toString()+"/stu.db3", null);        db.execSQL("CREATE TABLE student(id INTEGER PRIMARY KEY, name VARCHAR(50), score INTEGER)");    //创建student学生表

    openOrCreateDataBase()方法用来打开或创建数据库。这是一个静态方法,不能用new 创建而是用类名调用。

   public static SQLiteGDataBase openOrCreateDataBase(String path,SQLiteDataBase.CusorFactory factory)

  第一个参数为数据库文件路径(包括文件名) 可用getFilesDir()来获取路径

  第二个参数 一般默认null来使用默认的GursorFactory的对象

 

二.数据插入

 

/*         *1 保存操作         */        save.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                /*                 * 获取数据                 */                String i = id.getText().toString();                String n = name.getText().toString();                String s = score.getText().toString();                //执行插入语句                try {                    db.execSQL("INSERT INTO student VALUES(?,?,?)", new String[]{i,n,s}); // 格式化                } catch (Exception e) {            //插入失败                     Toast.makeText(MainActivity.this, "该学号已经存在", Toast.LENGTH_SHORT).show();                    return;                }                Toast.makeText(MainActivity.this, "保存成功", Toast.LENGTH_SHORT).show();            }        });

 

三、数据读取

    

/*         *2 读取操作并用simpleAdapter在UI界面显示         */        read.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                /*                 * 绑定数据到listview                 */                ArrayList
> listItem = new ArrayList
>(); //从数据库获取数据 添加到 listItem上 Cursor cursor = db.rawQuery("SELECT * FROM student", null); while(true) { if(cursor.moveToNext() == false) { break; } HashMap
map = new HashMap
(); map.put("itemId", cursor.getInt(0)); map.put("itemName", cursor.getString(1)); map.put("itemScore", cursor.getInt(2)); listItem.add(map); } //生成适配器 它是数据和界面交互的桥梁 使得数据库SQLite的内容显示在图形用户界面 final SimpleAdapter listItemAdapter = new SimpleAdapter(MainActivity.this, listItem,R.layout.list_item, new String[]{"itemId","itemName","itemScore"}, new int[]{R.id.itemId,R.id.itemName,R.id.itemScore}); //添加并显示 list.setAdapter(listItemAdapter); /* * 3 ListView中列表的点击事件 */ list.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView
arg0, View view, int position, long arg3) { // TODO Auto-generated method stub Map
m = (Map
)listItemAdapter.getItem(position); id.setText(m.get("itemId").toString().trim()); name.setText(m.get("itemName").toString().trim()); score.setText(m.get("itemScore").toString().trim()); index = m.get("itemId").toString().trim(); //保存选中的用户id 用于删除和修改 } }); } });

     Android中list与Map<String ,Object>及SimpleAdapter用来存数数据并显示  http://www.360doc.com/content/14/0407/09/12146850_366936905.shtml

     SimpleAdapter与listView介绍链接地址1.http://blog.csdn.net/xing1716263268/article/details/7912665

    2.  http://blog.csdn.net/conowen/article/details/7294230

四、数据更新

    

/*         *更新操作          */        update.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                                String updateName = name.getText().toString().trim();                String updateScore = score.getText().toString().trim();                String sql = "UPDATE student SET name=?,score=? whrer id= ?";                if(index != null){                  try{                      Toast.makeText(MainActivity.this, updateName+"--"+updateScore, Toast.LENGTH_SHORT).show();                      db.execSQL(sql,new String[]{updateName,updateScore,index});                      index = null;  //索引重新设置为空                      Toast.makeText(MainActivity.this, "修改成功", Toast.LENGTH_SHORT).show();                                         }catch(Exception e)                     {                        Toast.makeText(MainActivity.this, "修改失败", Toast.LENGTH_SHORT).show();                                          }                }                                            }        });

 

五、数据删除

    

/*         * 删除操作         */      delete.setOnClickListener(new View.OnClickListener() {                        @Override            public void onClick(View arg0) {                if(index!=null) {        //已经选中某条记录                    //执行插入语句                    db.execSQL("DELETE FROM student WHERE id=?", new String[]{index});                    index = null;            //索引重新设置为null                                        Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();                                    } else {                    Toast.makeText(MainActivity.this, "请选中要删除的数据", Toast.LENGTH_SHORT).show();                                    }            }        });

 

转载于:https://www.cnblogs.com/Spring-Rain/p/4438343.html

你可能感兴趣的文章
2016 年总结
查看>>
将String转化成Stream,将Stream转换成String
查看>>
java路径Java开发中获得非Web项目的当前项目路径
查看>>
【工具使用系列】关于 MATLAB 遗传算法与直接搜索工具箱,你需要知道的事
查看>>
Kali-linux Arpspoof工具
查看>>
PDF文档页面如何重新排版?
查看>>
基于http协议使用protobuf进行前后端交互
查看>>
bash腳本編程之三 条件判断及算数运算
查看>>
php cookie
查看>>
linux下redis安装
查看>>
弃 Java 而使用 Kotlin 的你后悔了吗?| kotlin将会是最好的开发语言
查看>>
JavaScript 数据类型
查看>>
量子通信和大数据最有市场突破前景
查看>>
StringBuilder用法小结
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
App开发中甲乙方冲突会闹出啥后果?H5 APP 开发可以改变现状吗
查看>>
python知识点总结---函数
查看>>