src\MyApplication\app\src\main\java\com\example\administrator\myapplication\db\DatabaseHelper.java
This commit is contained in:
parent
d043fb64a3
commit
07fb02b92d
|
@ -0,0 +1,37 @@
|
||||||
|
package com.example.administrator.myapplication.db;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
import android.database.sqlite.SQLiteOpenHelper;
|
||||||
|
|
||||||
|
public class DatabaseHelper extends SQLiteOpenHelper {
|
||||||
|
|
||||||
|
public static final String COOLNOTE_DATABASE_NAME = "coolnote";
|
||||||
|
|
||||||
|
public static final String NOTE_TABLE_NAME = "htq_Notebook";
|
||||||
|
|
||||||
|
public static final String CREATE_NOTE_TABLE = "create table "
|
||||||
|
+ NOTE_TABLE_NAME
|
||||||
|
+ " (_id integer primary key autoincrement, objectid text, iid integer,"
|
||||||
|
+ " time varchar(10), date varchar(10), content text, color integer)";
|
||||||
|
|
||||||
|
public static final String NEWS_LIST = "osc_news_list";
|
||||||
|
|
||||||
|
public static final String CREATE_NEWS_LIST_TABLE = "create table "
|
||||||
|
+ NOTE_TABLE_NAME + "(" + "_id integer primary key autoincrement, "
|
||||||
|
+ "news_id interger, title varchar(10), " + ")";
|
||||||
|
|
||||||
|
public DatabaseHelper(Context context) {
|
||||||
|
super(context, COOLNOTE_DATABASE_NAME, null, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(SQLiteDatabase db) {
|
||||||
|
db.execSQL(CREATE_NOTE_TABLE);
|
||||||
|
// db.execSQL(CREATE_NEWS_LIST_TABLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,180 @@
|
||||||
|
package com.example.administrator.myapplication.db;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.database.Cursor;
|
||||||
|
import android.database.sqlite.SQLiteDatabase;
|
||||||
|
|
||||||
|
|
||||||
|
import com.example.administrator.myapplication.entity.NotebookData;
|
||||||
|
import com.example.administrator.myapplication.utils.AccountUtils;
|
||||||
|
import com.example.administrator.myapplication.utils.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class NoteDatabase {
|
||||||
|
private final DatabaseHelper dbHelper;
|
||||||
|
|
||||||
|
public NoteDatabase(Context context) {
|
||||||
|
super();
|
||||||
|
dbHelper = new DatabaseHelper(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
public void insert(NotebookData data) {
|
||||||
|
String sql = "insert into " + DatabaseHelper.NOTE_TABLE_NAME;
|
||||||
|
|
||||||
|
sql += "(_id, objectid, iid, time, date, content, color) values(?, ?, ?, ?, ?, ?, ?)";
|
||||||
|
|
||||||
|
SQLiteDatabase sqlite = dbHelper.getWritableDatabase();
|
||||||
|
sqlite.execSQL(sql, new String[] { data.getId() + "",
|
||||||
|
data.getIid() + "", data.getObjectId(), data.getUnixTime() + "", data.getDate(),
|
||||||
|
data.getContent(), data.getColor() + "" });
|
||||||
|
sqlite.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
public void delete(int id) {
|
||||||
|
SQLiteDatabase sqlite = dbHelper.getWritableDatabase();
|
||||||
|
String sql = ("delete from " + DatabaseHelper.NOTE_TABLE_NAME + " where _id=?");
|
||||||
|
sqlite.execSQL(sql, new Integer[] { id });
|
||||||
|
sqlite.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 改
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
public void update(NotebookData data) {
|
||||||
|
SQLiteDatabase sqlite = dbHelper.getWritableDatabase();
|
||||||
|
String sql = ("update " + DatabaseHelper.NOTE_TABLE_NAME + " set iid=?, objectid=?, time=?, date=?, content=?, color=? where _id=?");
|
||||||
|
sqlite.execSQL(sql,
|
||||||
|
new String[] { data.getIid() + "", data.getObjectId() + "", data.getUnixTime() + "",
|
||||||
|
data.getDate(), data.getContent(),
|
||||||
|
data.getColor() + "", data.getId() + "" });
|
||||||
|
sqlite.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<NotebookData> query() {
|
||||||
|
return query(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查
|
||||||
|
*
|
||||||
|
* @param where
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public List<NotebookData> query(String where) {
|
||||||
|
SQLiteDatabase sqlite = dbHelper.getReadableDatabase();
|
||||||
|
ArrayList<NotebookData> data = null;
|
||||||
|
data = new ArrayList<NotebookData>();
|
||||||
|
Cursor cursor = sqlite.rawQuery("select * from "
|
||||||
|
+ DatabaseHelper.NOTE_TABLE_NAME + where, null);
|
||||||
|
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
|
||||||
|
NotebookData notebookData = new NotebookData();
|
||||||
|
notebookData.setId(cursor.getInt(0));
|
||||||
|
notebookData.setObjectId(cursor.getString(1));
|
||||||
|
notebookData.setIid(cursor.getInt(2));
|
||||||
|
notebookData.setUnixTime(cursor.getString(3));
|
||||||
|
notebookData.setDate(cursor.getString(4));
|
||||||
|
notebookData.setContent(cursor.getString(5));
|
||||||
|
notebookData.setColor(cursor.getInt(6));
|
||||||
|
data.add(notebookData);
|
||||||
|
}
|
||||||
|
if (!cursor.isClosed()) {
|
||||||
|
cursor.close();
|
||||||
|
}
|
||||||
|
sqlite.close();
|
||||||
|
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 重置
|
||||||
|
*
|
||||||
|
* @param datas
|
||||||
|
*/
|
||||||
|
public void reset(List<NotebookData> datas) {
|
||||||
|
if (datas != null) {
|
||||||
|
SQLiteDatabase sqlite = dbHelper.getWritableDatabase();
|
||||||
|
// 删除全部
|
||||||
|
sqlite.execSQL("delete from " + DatabaseHelper.NOTE_TABLE_NAME);
|
||||||
|
// 重新添加
|
||||||
|
for (NotebookData data : datas) {
|
||||||
|
insert(data);
|
||||||
|
}
|
||||||
|
sqlite.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存一条数据到本地(若已存在则直接覆盖)
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
*/
|
||||||
|
public void save(NotebookData data) {
|
||||||
|
List<NotebookData> datas = query(" where _id=" + data.getId());
|
||||||
|
if (datas != null && !datas.isEmpty()) {
|
||||||
|
update(data);
|
||||||
|
} else {
|
||||||
|
insert(data);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// /**
|
||||||
|
// * 合并一条数据到本地(通过更新时间判断仅保留最新)
|
||||||
|
// *
|
||||||
|
// * @param data
|
||||||
|
// * @return 数据是否被合并了
|
||||||
|
// */
|
||||||
|
// public boolean merge(NotebookData data) {
|
||||||
|
// Cursor cursor = sqlite.rawQuery(
|
||||||
|
// "select * from " + DatabaseHelper.NOTE_TABLE_NAME
|
||||||
|
// + " where _id=" + data.getId(), null);
|
||||||
|
// NotebookData localData = new NotebookData();
|
||||||
|
// // 本循环其实只执行一次
|
||||||
|
// for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
|
||||||
|
// localData.setId(cursor.getInt(0));
|
||||||
|
// localData.setIid(cursor.getInt(1));
|
||||||
|
// localData.setUnixTime(cursor.getString(2));
|
||||||
|
// localData.setDate(cursor.getString(3));
|
||||||
|
// localData.setContent(cursor.getString(4));
|
||||||
|
// localData.setColor(cursor.getInt(5));
|
||||||
|
// }
|
||||||
|
// // 是否需要合这条数据
|
||||||
|
// boolean isMerge = localData.getUnixTime() < data.getUnixTime();
|
||||||
|
// if (isMerge) {
|
||||||
|
// save(data);
|
||||||
|
// }
|
||||||
|
// return isMerge;
|
||||||
|
// }
|
||||||
|
|
||||||
|
public void destroy() {
|
||||||
|
dbHelper.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void insertIntroduce(Context context)
|
||||||
|
{
|
||||||
|
NotebookData editData=new NotebookData();
|
||||||
|
if (editData.getId() == 0) {
|
||||||
|
editData.setId(-1
|
||||||
|
* StringUtils.toInt(
|
||||||
|
StringUtils.getDataTime("dddHHmmss"), 0));
|
||||||
|
}
|
||||||
|
editData.setUnixTime(StringUtils.getDataTime("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
editData.setContent("欢迎使用嗖藏,赶快记下你此刻的灵感吧!");
|
||||||
|
editData.setUserId(AccountUtils.getUserId(context));
|
||||||
|
save(editData);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue