android SQLite的使用
来源:互联网 发布:ant java 参数 编辑:程序博客网 时间:2024/05/22 01:39
public class NewsDBApi extends SQLiteOpenHelper{ private static final String DB_NAME = "newsData.db"; //数据库名称 private static final int version = 1; //数据库版本 private SQLiteDatabase database; private ArrayList<Data_Map_News> list = new ArrayList<Data_Map_News>(); public NewsDBApi(Context context){ super(context,DB_NAME,null,version); } /* **返回数据表所有的数据 * @params tablename 数据库表名 * @return list */ public ArrayList<Data_Map_News> queryData(String tablename){ database = this.getReadableDatabase(); //Log.i("查询数据库路径:",database.getPath()); Cursor c = database.query(tablename,null,null,null,null,null,"mTime desc ");//查询并获得游标 while (c.moveToNext()){ int id = c.getInt(c.getColumnIndex("_id")); String mTitle = c.getString(c.getColumnIndex("mTitle")); String mFrom = c.getString(c.getColumnIndex("mFrom")); String mImage = c.getString(c.getColumnIndex("mImage")); String mUrl = c.getString(c.getColumnIndex("mUrl")); long mTime = c.getLong(c.getColumnIndex("mTime")); list.add(new Data_Map_News(mTitle,new Date(mTime),mFrom,mImage,mUrl)); } c.close(); return list; } /* **返回数据表最近更新的数据 * @params tablename 数据库表名 * @params lasttime 上次最后插入的一条数据 * @return list */ public ArrayList<Data_Map_News> queryUpdateData(String tablename,long lasttime){ database = this.getReadableDatabase(); //Log.i("查询数据库路径:",database.getPath()); Cursor c = database.rawQuery("select * from "+tablename+" where "+lasttime+"> mTime order by mTime desc",null); while (c.moveToNext()){ int id = c.getInt(c.getColumnIndex("_id")); String mTitle = c.getString(c.getColumnIndex("mTitle")); String mFrom = c.getString(c.getColumnIndex("mFrom")); String mImage = c.getString(c.getColumnIndex("mImage")); String mUrl = c.getString(c.getColumnIndex("mUrl")); long mTime = c.getLong(c.getColumnIndex("mTime")); list.add(new Data_Map_News(mTitle,new Date(mTime),mFrom,mImage,mUrl)); } c.close(); return list; } /* **返回数据表的数量 * @params tablename 数据库表名 * @return int */ public int querysum(String tablename){ database = this.getReadableDatabase(); Cursor c = database.rawQuery("select * from "+tablename,null); Log.i("查询数据数量:",c.getCount()+""); return c.getCount(); } /* **查询最新插入数据库的一条数据 * @params tablename 数据库表名 * @return long */ public long querylast(String tablename){ ArrayList<Data_Map_News> list1 = queryData(tablename); // Log.i("查询数据库:",list1.get(0).getmTime().getTime()+""); return list1.get(0).getmTime().getTime(); } /* **插入数据 * @params tablename 数据库表名 * @params mTime和strings 需要插入的数据 * @return int */ public void insertData(String tablename,long mTime,String... strings){ database = this.getWritableDatabase(); //Log.i("插入数据库路径:",database.getPath()); //实例化一个ContentValues用来装载待插入的数据cv.put("username","Jack Johnson");//添加用户名 ContentValues cv = new ContentValues(); cv.put("mTitle",strings[0]); cv.put("mFrom",strings[1]); cv.put("mImage",strings[2]); cv.put("mUrl",strings[3]); cv.put("mTime",mTime); database.insert(tablename,null,cv);//执行插入操作 } /* ** 根据mTime字段删除数据 */ public void deleteData(long mTime, String tablename){ database = this.getWritableDatabase(); String sql = "delete from "+tablename+" where mTime <= "+mTime;//删除操作的SQL语句 database.execSQL(sql);//执行删除操作 } /* **创建多个数据表 */ @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table t_sectors( _id integer primary key autoincrement" + ",mTitle not null,mFrom not null,mTime not null,mImage not null,mUrl not null)"); db.execSQL("create table t_domestic( _id integer primary key autoincrement" + ",mTitle not null,mFrom not null,mTime not null,mImage not null,mUrl not null)"); } /* **更新数据库 */ @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// String sql = "DROP TABLE IF EXISTS " + TABLE_NAME;// db.execSQL(sql);// onCreate(db); } /* * 删除数据库 */ public static void deleteDB(String dbName,Context context){ File file = new File("/data/data/"+context.getPackageName()+"/databases/"+dbName); file.delete(); }}
0 0
- android SQlite 的使用
- android的sqlite使用
- android sqlite 的使用
- android Sqlite 的使用
- Android SQLite的使用
- android SQLite 的使用
- Android SQLite的使用
- Android:Sqlite的使用
- [Android] SQlite的使用
- android SQLite的使用
- android SQLite的使用
- Android SQLite 的使用
- Android使用的SQLite数据库
- android中sqlite的使用
- android中SQLite的使用
- android中SQLite的使用
- Android SQLite的使用实例
- android database sqlite的使用
- 将构造函数和非成员函数虚拟化
- svn中submit和upgrate 问题
- 爬虫、网页分析解析辅助工具 Xpath-helper
- 【NOIP模拟题】【暴力求解法】2016.11.17 第一题 素数密度 题解
- 利用canvas实现折线图的绘制
- android SQLite的使用
- C#设计模式之建造者模式(Builder Pattern)
- ios NSLog不打印设置
- html+css 个人小记
- Open CV学习记录(二十三)——相机校准和立体匹配
- js分割字符串
- Android 多线程编程
- 基于centos6.8的Suricata+Barnyard2的IDS前端Snorby
- 《C++ Primer Plus(第六版)》(3)(第四章 复合类型 笔记)