Android信息存储之 SQL
来源:互联网 发布:09式单兵自热食品淘宝 编辑:程序博客网 时间:2024/05/24 01:12
SQL数据库是Android自带的轻型数据库,操作简单保存信息可靠。
实例:学生信息的管理
首先创建DataBaseHelper类继承SQLOpenHelper
package com.zhang.android;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by asus-pc on 2015/2/19. */public class DataBaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "student.db"; private static final int DATABASE_VERSION = 1; public DataBaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS student" + "(_id INTEGER PRIMARY KEY AUTOINCREMENT, id INTEGER, name VARCHAR, math FLOAT, geometry FLOAT, cProgram FLOAT)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("--------onUpdate Called--------" + oldVersion + "--->" + newVersion); }}
然后创建DataManager类,将数据库想实现的功能写在里面
package com.zhang.android;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import java.util.ArrayList;import java.util.List;/** * Created by asus-pc on 2015/3/15. */public class DataBaseManager { private DataBaseHelper helper; private SQLiteDatabase db; public DataBaseManager(Context context){ helper = new DataBaseHelper(context); db = helper.getWritableDatabase(); } public void insertData(ContentValues cv){ db.insert("student",null,cv); } public List<Student> query() { ArrayList<Student> students = new ArrayList<Student>(); Cursor c = db.rawQuery("SELECT * FROM student", null); while (c.moveToNext()) { Student student = new Student(); student.setID(c.getInt(c.getColumnIndex("id"))); student.setName(c.getString(c.getColumnIndex("name"))); student.setMath(c.getFloat(c.getColumnIndex("math"))); student.setGometry(c.getFloat(c.getColumnIndex("geometry"))); student.setCprogram(c.getFloat(c.getColumnIndex("cProgram"))); students.add(student); } c.close(); return students; } public void closeDataBase() { db.close(); }}
实例化对象 DataManager
public static DataBaseManager dataBaseManager; //创建数据库
初始化数据库
dataBaseManager = new DataBaseManager(this); //初始化数据库
实例化学生对象并存入信息
Student student = new Student(intId, strName, floatMath, floatGeometry, floatCProgram);
将学生信息存入键值对,然后将其加入数据库中
public void sqlSave(Student student) { ContentValues cv = new ContentValues(); cv.put("id", student.getID()); cv.put("name", student.getName()); cv.put("math", student.getMath()); cv.put("geometry", student.getGeometry()); cv.put("cProgram", student.getCprogram()); dataBaseManager.insertData(cv); send(student.getName());//在通知栏发送通知 finish(); }
读取学生信息时
public void btnSQL() { List<Student> students = dataBaseManager.query(); Bundle data = new Bundle(); data.putSerializable("data", toList(students)); Intent intent = new Intent(InputActivity.this, PrintActivity.class); intent.putExtras(data); startActivity(intent); }
toList方法
protected ArrayList<Map<String, String>> toList(List<Student> students) { ArrayList<Map<String, String>> list = new ArrayList<Map<String, String>>(); for (Student student : students) { HashMap<String, String> map = new HashMap<String, String>(); map.put("id", "学号:" + student.getID() + "\n姓名:" + student.getName()); map.put("grades", "工数成绩:" + student.getMath() + "\n代几成绩:" + student.getGeometry() + "\nC语言成绩:" + student.getCprogram()); list.add(map); } return list; }
打印方法
ListView listView = (ListView)findViewById(R.id.lvShow); Intent intent = getIntent(); Bundle data = intent.getExtras(); try { List<Map<String , String>> list = (List<Map<String , String>>)data.getSerializable("data"); SimpleAdapter adapter = new SimpleAdapter(this, list, android.R.layout.simple_list_item_2, new String[]{"id", "grades"}, new int[]{android.R.id.text1, android.R.id.text2}); listView.setAdapter(adapter); } catch (Exception e) { e.printStackTrace(); }
1 0
- Android信息存储之 SQL
- Android信息存储之 json
- Android信息存储之 XML
- android SDCard存储信息
- Android存储登陆信息
- Android开发之系统信息【1】——获取Android手机中SD卡存储信息
- android 联系人信息存储结构
- Android--获得手机存储信息
- android-SD卡存储信息
- SQL之存储过程
- SQL之存储过程
- SQL之存储过程
- SQL之存储过程
- Android数据存储之SQLite中常用的SQL语句
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- Android软件开发之获取通讯录联系人信息 + android联系人信息的存储结构 + Android联系人读取操作笔记
- 黑马程序员-学习日记10
- LightOJ 1311 - Unlucky Bird(数学啊 )
- 这是我赖美琳 (*^__^*) 嘻嘻 。初来咋到
- HomeKit 开发指南(中文版)
- 俞敏洪:3个月读了60本书,我为什么还要每天读书?
- Android信息存储之 SQL
- java 集合小结
- 一道价值20W的CEO面试题
- g++编译时abs()遇到无法理解的问题(已解决)
- 源码推荐(3.27):模仿微信的录音和播放功能,自定义的密码键盘
- struct的对齐方式及占用空间的计算(转自百度百科)
- 黑马程序员—C学习笔记—static和extern修饰的函数和变量
- AppDelegate详解
- 第六章 JAVA类和对象