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大小的数据库, ...
随机推荐
- spring boot的项目名称问题
spring boot直接执行main函数时是不需要加项目名称,但是可以在application配置文件中配置server.context-path=/*来配置项目名称: spring mvc的运行方 ...
- 基于Nginx的SSL虚拟主机
通过私钥,证书对站点www.test.com的所有数据加密,实现通过https访问www.test.com 环境说明: 源码安装Nginx时必须使用--with-http_ssl_module参数,启 ...
- 【airtest】报错:requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer')),解决方法如下
1. 环境及设备:mac, xcode , iphonex 2. 最近出现一个让人费解的问题,airtest 没跑多长时间,服务就断掉,而且总是报“requests.exceptions.Connec ...
- Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档
0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...
- php ob缓存
用PHP的ob_start();控制您的浏览器cache Output Control 函数可以让你自由控制脚本中数据的输出.它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况.输出 ...
- SCOI2003 严格N元树
SCOI2003 严格N元树 Description 如果一棵树的所有非叶节点都恰好有n个儿子,那么我们称它为严格n元树.如果该树中最底层的节点深度为d (根的深度为0),那么我们称它为一棵深度为d的 ...
- grep的各种用法
1. 在文件中查找模式(单词) 在/etc/passwd文件中查找单词 root [root@localhost opt]# grep root /etc/passwdroot:x:0:0:root: ...
- Python-基础-day2
Python环境的安装 安装Python: windows: 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...
- 2、深入学习基本结构——CNN
这节课主要简单复习一下CNN 从图中例子,1.3共享参数,2.4共享. 要看明白以上参数. 后面就是举例了. 比如声音信号 下面是zero padding 下面是pooling 还可以有mass po ...
- 【codeforces 731D】80-th Level Archeology
[题目链接]:http://codeforces.com/contest/731/problem/D [题意] 给你n个象形文; 每个象形文由l[i]个数字组成; 你可以把所有的组成象形文的数字同时增 ...