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大小的数据库, ...
随机推荐
- 8 Python+Selenium操作测试对象
[环境信息] Python3.6+selenium3.0.2+Firefox50.0+win7 [操作方法] 1.清除输入框内容:clear() 2.单击一个按钮:click() 3.返回元素尺寸:s ...
- 基于Nginx服务的用户认证
通过Nginx实现web页面的用户认证,用户名为:admin,密码为:654321 1.修改Nginx配置文件 # vim /usr/local/nginx/conf/nginx.conf ..... ...
- git基础讲解
idea :https://blog.csdn.net/autfish/article/details/52513465 eclipse:https://blog.csdn.net/yang57266 ...
- Spring cloud父项目的建立
1.建立一个maven项目 注意建立项目的时候.选择pom的包 2.添加架包 <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...
- Python之进程 进阶 下
在python程序中的进程操作 之前我们已经了解了很多进程相关的理论知识,了解进程是什么应该不再困难了,刚刚我们已经了解了,运行中的程序就是一个进程.所有的进程都是通过它的父进程来创建的.因此,运行起 ...
- URLLib库使用
Date: 2019-06-19 Author: Sun urllib 在Python 3以后的版本中,urllib2这个模块已经不单独存在(也就是说当你import urllib2时,系统提示你 ...
- 强大的JQuery链式操作风格
实例代码 <style type="text/css"> #menu {width: 300px;} .has_children {background:#555;co ...
- linux下RTP编程(使用JRTPLIB)(转)
流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议.IP电话等应用场合的技术基础.RTP是进行实时流媒体传输的标准协议和关键 ...
- 【Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) B】Weakened Common Divisor
[链接] 我是链接,点我呀:) [题意] 给你n个数对(ai,bi). 让你求一个大于1的数字x 使得对于任意的i x|a[i] 或者 x|b[i] [题解] 求出第一个数对的两个数他们有哪些质因子. ...
- 工具-Telerik trial安装图解