Sqlite简单操作
1.student类
public class Student {
int id;
String name;
String sex;
String address;
int money;
public Student(int id, String name, String sex, String address, int money) {
super();
this.id = id;
this.name = name;
this.sex = sex;
this.address = address;
this.money = money;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getMoney() {
return money;
}
public void setMoney(int money) {
this.money = money;
}
@Override
public String toString() {
return "Student [id=" + id + ", name=" + name + ", sex=" + sex
+ ", address=" + address + ", money=" + money + "]";
}
}
2.studentDao
import java.util.ArrayList;
import java.util.List; import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; public class StudentDao { /**
* 插入数据
*/ public boolean insert(Student stu) {
SQLiteDatabase db = SQLiteDBHelper.getSqLiteDatabase();
try {
db.execSQL("insert into student (name,sex,address,money) values(?,?,?,?)",
new Object[]{stu.getName(),stu.getSex(),stu.getAddress(),stu.getMoney()});
db.close();
return true;
} catch (Exception e) {
// TODO: handle exception
} return false;
}
/**
* 删除数据
* @param student
*/
public void delete(int id) {
SQLiteDatabase db = SQLiteDBHelper.getSqLiteDatabase();
//db.execSQL("delete from student where _id = ?", new Object[]{student.getId()});
db.execSQL("delete from student where _id = "+id);
db.close();
} /**
* 更新数据
*/ public void update(Student stu) {
SQLiteDatabase db = SQLiteDBHelper.getSqLiteDatabase();
db.execSQL("update student set name = ?,sex=?,address=?,money=? where _id = ?",
new Object[]{stu.getName(),stu.getSex(),stu.getAddress(),stu.getMoney(),stu.getId()});
db.close();
} /**
* 根据Id查询数据
* @param id
* @return
*/
public Student findById(int id) {
SQLiteDatabase db = SQLiteDBHelper.getSqLiteDatabase();
Cursor cursor = db.rawQuery("select * from student where _id = ?", new String[]{id+""});
Student student = null;
if (cursor.moveToNext()) {
int _id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
String address = cursor.getString(cursor.getColumnIndex("address"));
int money = cursor.getInt(cursor.getColumnIndex("money"));
student = new Student(_id, name, sex, address, money);
}
return student;
} /**
* 查询全部数据
* @return
*/
public List<Student> findAll() {
List<Student> list = new ArrayList<Student>();
SQLiteDatabase db = SQLiteDBHelper.getSqLiteDatabase(); Cursor cursor = db.rawQuery("select * from student", null);
Student student = null;
while (cursor.moveToNext()) {
int _id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
String address = cursor.getString(cursor.getColumnIndex("address"));
int money = cursor.getInt(cursor.getColumnIndex("money"));
student = new Student(_id, name, sex, address, money);
list.add(student);
}
return list;
} }
3.SqliteDbHelper
import java.io.File;
import android.database.sqlite.SQLiteDatabase;
import com.qf.day14_sqlitedatabase02.SDcardHelper;
public class SQLiteDBHelper {
private static String DB_PATH = SDcardHelper.getSDCardPath();
private static String DB_NAME = "student.db";
static {
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(DB_PATH+File.separator+DB_NAME, null);
db.execSQL("create table if not exists student(_id integer primary key autoincrement," +
"name varchar(20)," +
"sex varchar(4)," +
"address varchar(100)," +
"money integer)");
db.close();
}
public static SQLiteDatabase getSqLiteDatabase() {
return SQLiteDatabase.openOrCreateDatabase(DB_PATH+File.separator+DB_NAME, null);
}
}
4.SDcardHelper
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; import android.os.Environment;
import android.os.StatFs; public class SDcardHelper {
/**
* 判断Sdcard是否可用
*/ public static boolean isSDcardMounted() {
boolean state = Environment.getExternalStorageState().
equals(Environment.MEDIA_MOUNTED);
return state;
} /**
* 获取SDcard目录
* @return
*/
public static String getSDCardPath() {
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
return path;
} /**
* 返回总大小
* @return
*/
public static long getSDCardSize() {
if (isSDcardMounted()) {
//
StatFs sf = new StatFs(getSDCardPath());
long count = sf.getBlockCount();
long size = sf.getBlockSize();
return count * size;
}
return 0;
} /**
* 返回剩余空间
*/ public static long getSDCardFreeSize() {
if (isSDcardMounted()) {
StatFs sFs = new StatFs(getSDCardPath());
long count = sFs.getFreeBlocks();
long size = sFs.getBlockSize();
return count * size;
}
return 0;
} /**
* 获取可用空间
*/ public static long getSDCardAvailableSize() {
if (isSDcardMounted()) {
StatFs sFs = new StatFs(getSDCardPath());
long count = sFs.getAvailableBlocks();
long size = sFs.getBlockSize();
return count * size;
}
return 0;
} /**
*
* @param data 保存的数据
* @param dir 保存的文件或者目录
* @param filename 保存的文件名
* @return
*/
public static boolean saveFileToSDCard(byte[] data, String dir,String filename) {
if (isSDcardMounted()) {//判断Sdcard是否可用
File filedir = new File(getSDCardPath() + File.separator + dir);
if (!filedir.exists()) {//是否存在目录,不存在则创建
filedir.mkdirs();
} if (getSDCardAvailableSize() >= data.length) {//判断空间是否够用
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(filedir+File.separator+filename));
fos.write(data);
fos.flush();
return true;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
if (fos != null) {
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
} return false;
} public static byte[] readFileFromSDCard(String filepath) {
if (isSDcardMounted()) {
File file = new File(filepath);
ByteArrayOutputStream byteArrayOutputStream = null;
if (file.exists()) {
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream(file);
byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length = 0;
while ((length = fileInputStream.read(buffer)) != -1) {
byteArrayOutputStream.write(buffer, 0, length);
} return byteArrayOutputStream.toByteArray();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} }
}
return null;
}
}
5.mainActivity
import java.util.List; import com.qf.day14_sqlitedatabase02.bean.Student;
import com.qf.day14_sqlitedatabase02.dao.StudentDao; import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast; public class MainActivity extends Activity {
StudentDao studentDao = new StudentDao();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
/**
* 数据库的Id从1开始,不是下标
* @param v
*/
public void insert(View v) {
studentDao.insert(new Student(2, "老冯", "男", "航海路阳光城", 30000000));
studentDao.insert(new Student(2, "老魏", "男", "东建材", 30000));
studentDao.insert(new Student(2, "老欧", "男", "西海岸", 900000));
studentDao.insert(new Student(2, "萍姐", "女", "农业东路中州大道", 100000));
studentDao.insert(new Student(2, "和珅", "男", "清朝紫荆城", 9000000)); }
public void delete(View v) {
studentDao.delete(1);
}
public void update(View v) {
studentDao.update(new Student(3, "标哥", "男", "南京", 10));
}
public void findId(View v) {
Student student = studentDao.findById(4);
Toast.makeText(this, student.toString(), Toast.LENGTH_SHORT).show();
}
public void findAll(View v) {
List<Student> list = studentDao.findAll();
Toast.makeText(this, list.toString(), Toast.LENGTH_SHORT).show();
}
}
Sqlite简单操作的更多相关文章
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- 安卓 SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- 在安卓开发中使用SQLite数据库操作实例
前段时间写了个安卓平台下SQLite数据库操作的实例 ,一直没得时间总结 ,今天把它弄出来了. 在Android 运行时环境包含了完整的 SQLite. 首先介绍一下SQLite这个数据库: SQLi ...
- iOS 中SQLite数据库操作
在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...
- iOS - SQLite Database 操作数据库
iOS - SQLite Database 操作数据库 Sqlite 能被用在ios上做数据处理用,只要你懂得一点sql 就很容易使用sqlite 1:创建一个简单的View based appl ...
- C# SQLite 数据库操作
C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQL ...
- SQLite简单介绍
一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyed ...
- Python学习笔记:sqlite3(sqlite数据库操作)
对于数据库的操作,Python中可以通过下载一些对应的三方插件和对应的数据库来实现数据库的操作,但是这样不免使得Python程序变得更加复杂了.如果只是想要使用数据库,又不想下载一些不必要的插件和辅助 ...
- Android SQLite 简单使用演示样例
SQLite简单介绍 Google为Andriod的较大的数据处理提供了SQLite,他在数据存储.管理.维护等各方面都相当出色,功能也很的强大. 袖珍型的SQLite能够支持高达2TB大小的数据库, ...
随机推荐
- 三维重建:QT+OpenNI+Kinect图像校正
后记: 当时能不放弃这个方向是因为这里面涉及了一种很有效的三位场景存储方式,可能给出除图元建模之外的一种三维场景描述方式.这和Flash与位图的对比一样,基于图元的flash始终抵不过基于点描述的位图 ...
- 科学存储数据格式-HDF5
HDF数据格式 Hierarchical Data Format,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库.大多数普通计算机都支 ...
- html form表单追加input元素后在提交
form.append(input); //input为对象 (设置name和val有效) $("#form1").submit();//提交事件
- 如何安全使用公共Wifi,防止信息泄露?
购物中心,机场,餐厅,咖啡馆,图书馆,公共交通,酒店客房均提供免费无线网络连接,这些网络每天被数百万人使用.然而,大多数人没有意识到的是,免费的公共Wi-Fi并不安全.即使需要密码才能登录,这并不一定 ...
- 解决远程登录mysql命令行无法登录问题
由于甲骨文公司收购了mysql,mysql有商业化的趋势,所以想尝试安装下mariadb . yum install mariadb-server mariadb systemctl start ma ...
- WEBGL学习【十二】鼠标操作场景
<!DOCTYPE HTML> <html lang="en"> <head> <title>Listing 7-3 and 7-4 ...
- vue-cli 中eslint代码检查之过滤指定文件
在需要过滤的文件头部末尾分别添加:/* eslint-disable */,/* eslint-disable no-new */
- 微信小程序:获取地理定位和显示相应的城市名称。
最近在看微信小程序,遇到地理定位显示城市名称的问题.本文就是记录这一过程. 解决方案 ...
- Project Euler 30 Digit fifth powers
题意:判断一个数 N 的每一位的5次方的和是否为其本身 ,求出所有满足条件的数的和 思路:首先设这个数 N 为 n 位,可以简单的判断一下这个问题的上界 10 ^ n <= 9 ^ 5 × n, ...
- 以checked选中作为判断条件的各种写法
<input type="radio" name="choice" id="ipt1"> <label for=" ...