SQLite操作
来源:互联网 发布:淘宝退换货说明怎么写 编辑:程序博客网 时间:2024/05/20 19:46
Android提供了创建和是用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一些方法。
要求:
使用SQLite数据库,将某条新闻(包含标题时间内容)插入到数据库中。
实现:
SQLiteOpenHelper类是SQLiteDatabase一个辅助类。这个类主要生成一 个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的方法getWritableDatabase()或者 getReadableDatabase()方法的时候,如果当时没有数据,那么Android系统就会自动生成一个数据库。
package com.example.hades.toutiao;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;/** * Created by hades on 2017/6/17. */public class NewsListDB extends SQLiteOpenHelper { public NewsListDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } public void onCreate(SQLiteDatabase db) { String sql = "create table if not exists list(_id integer primary key autoincrement,title text,desc text,content text,pubdate text,img text)"; Log.i("Tag", "create Database"); db.execSQL(sql); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i("Tag", "update Databases"); }}
创建
public void Creat() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); Log.i("Tag", "Creat"); }
升级
public void Update() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); Log.i("Tag", "Update"); }
插入
注意corsor的关闭
public void Insert(String t, String d, String c, String i, String p) { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("title", t); cv.put("desc", d); cv.put("content", c); cv.put("img", i); cv.put("pubdate", p); db.insertOrThrow("list", null, cv); Log.i("Tag", "Indert"); db.close(); }
查询
返回一个map对象
public List<Map<String, String>> Query() { NewsListDB dbHelper = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("list", new String[]{"title", "desc", "content", "img", "pubdate"}, null, null, null, null, null); List<Map<String, String>> data = new ArrayList<Map<String, String>>(); while (cursor.moveToNext()) { Map map = new HashMap<String, String>(); map.put("news_title", cursor.getString(cursor.getColumnIndex("title"))); map.put("news_desc", cursor.getString(cursor.getColumnIndex("desc"))); map.put("news_img", cursor.getString(cursor.getColumnIndex("img"))); map.put("news_content", cursor.getString(cursor.getColumnIndex("content"))); map.put("news_pubdate", cursor.getString(cursor.getColumnIndex("pubdate"))); data.add(map); } cursor.close(); db.close(); return data; }
删除
public void Delete() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); String whereClauses = "id=?"; String[] whereArgs = {String.valueOf(2)}; db.delete("stu_table", whereClauses, whereArgs); }
完整AddLikeItem类:
package com.example.hades.toutiao;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.util.Log;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Created by hades on 2017/6/17. */public class AddLikeItem { public Context context; public String newsTitle, newsDesc, newsContent, newsImg, newsPubDate; public AddLikeItem(Context context) { this.context = context; Log.i("Tag", "context2" + String.valueOf(context)); } public void Creat() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); Log.i("Tag", "Creat"); } public void Update() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); Log.i("Tag", "Update"); } public void Insert(String t, String d, String c, String i, String p) { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getWritableDatabase(); ContentValues cv = new ContentValues(); cv.put("title", t); cv.put("desc", d); cv.put("content", c); cv.put("img", i); cv.put("pubdate", p); db.insertOrThrow("list", null, cv); Log.i("Tag", "Indert"); db.close(); } public List<Map<String, String>> Query() { NewsListDB dbHelper = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cursor = db.query("list", new String[]{"title", "desc", "content", "img", "pubdate"}, null, null, null, null, null); List<Map<String, String>> data = new ArrayList<Map<String, String>>(); while (cursor.moveToNext()) { Map map = new HashMap<String, String>(); map.put("news_title", cursor.getString(cursor.getColumnIndex("title"))); map.put("news_desc", cursor.getString(cursor.getColumnIndex("desc"))); map.put("news_img", cursor.getString(cursor.getColumnIndex("img"))); map.put("news_content", cursor.getString(cursor.getColumnIndex("content"))); map.put("news_pubdate", cursor.getString(cursor.getColumnIndex("pubdate"))); data.add(map); } cursor.close(); db.close(); return data; } public void Delete() { NewsListDB listDB = new NewsListDB(context, "news.db", null, 2); SQLiteDatabase db = listDB.getReadableDatabase(); String whereClauses = "id=?"; String[] whereArgs = {String.valueOf(2)}; db.delete("stu_table", whereClauses, whereArgs); }}
阅读全文
0 0
- SQLite:Java操作SQLite
- SQLite操作
- SQLite操作
- 操作sqlite
- sqlite 操作
- SQLite操作
- sqlite操作
- sqlite操作
- SQLite操作
- SQLite操作
- sqlite操作
- SQLite操作
- sqlite操作
- SQLite(二): Java操作SQLite
- SQLite的介绍 操作Sqlite
- sqlite相关操作
- c# sqlite 操作
- Qt操作SQLite数据库
- Java泛型小记
- Scala基础—函数式编程高阶示例,闭包、Currying等
- Linux for Ubuntu Intellij Idea 免費激活
- 最长公共子序列,最长上升公共子序列
- 实战Java高并发程序设计之CountDownLatch
- SQLite操作
- [UI特效]程序水波纹理
- Linux下Tomcat的安装配置
- sersync数据同步
- 【java】单机版五子棋
- 多写一个公式就会吓跑一半读者
- iOS 开发者开发证书和发布证书的区别以及更换的方法
- jsp
- 数据库大量字段涉及运算的javabean解决方案