SQLite高级语句查询

double altitude, int createdBy, long creationDate, int lastUpdateBy,

long lastUpdateDate, String street, String address) {

ContentValues contentValues = new ContentValues();

contentValues.put(Constant.IMAGE_ID, imageId);

contentValues.put(Constant.IMAGE, BitmapUtils.bitmapToBytes(bitmap));//图片转为二进制

contentValues.put(Constant.ANGLE, angle);

contentValues.put(Constant.WIDTH, width);

contentValues.put(Constant.HEIGHT, height);

contentValues.put(Constant.DPI_WIDTH, dpiWidth);

contentValues.put(Constant.DPI_HEIGHT, dpiHeight);

contentValues.put(Constant.GEO_MAP_INFO, geoMap);

contentValues.put(Constant.LONGITUDE, longitude);

contentValues.put(Constant.LATITUDE, latitude);

contentValues.put(Constant.ALTITUDE, altitude);

contentValues.put(Constant.CREATED_BY, createdBy);

contentValues.put(Constant.CREATION_DATE, creationDate);

contentValues.put(Constant.LAST_UPDATED_BY, lastUpdateBy);

contentValues.put(Constant.LAST_UPDATED_DATE, lastUpdateDate);

contentValues.put(Constant.STREET, street);

contentValues.put(Constant.ADDRESS, address);

contentValues.put(Constant.IS_UPLOADED, 0);

contentValues.put(Constant.CAPTURE_TIME, creationDate);

// LogUtils.e("image: " + BitmapUtils.bitmapToBytes(context, bitmap));

db.insert(Constant.TABLE_RDD_IMAGES, null, contentValues);

}

2、删除数据

/**

  • 从表 rdd_images 中根据 imageId 删除数据

*/

public static void deleteFromRddImage(SQLiteDatabase db, String imageId) {

String delSql = "DELETE FROM " + Constant.TABLE_RDD_IMAGES +

" WHERE " + Constant.IMAGE_ID + " = “” + imageId + “”";

db.execSQL(delSql);

LogUtils.e(“deleteFromRddImage”);

}

3、查询数据的个数

/**

  • 根据 imageId 从表 rdd_image_damages 查询出信息 的个数

  • @param db 数据库对象

  • @param imageId imageId

  • @return

*/

public static int queryGetCount(SQLiteDatabase db, String imageId) {

// String sql = "SELECT COUNT(image_id) FROM rdd_image_damages WHERE image_id = “imageId” ";

String sql = “SELECT COUNT(” + Constant.IMAGE_ID + ") " +

"FROM " + Constant.TABLE_RDD_IMAGE_DAMAGES +

" WHERE " + Constant.IMAGE_ID + " = “” + imageId + “”";

Cursor cursor = db.rawQuery(sql, null);

cursor.moveToFirst();

int count = cursor.getInt(0);

cursor.close();

LogUtils.e(“count:” + count);

return count;

}

4、查询 5公里矩形范围内的病害信息的经纬度

/**

  • 根据地图当前中心点的经纬度 查询 5公里矩形范围内的病害信息的经纬度

  • @param db 数据库对象

  • @param longitude 经度

  • @param latitude 纬度

*/

public static List queryLonLatInCertainArea(SQLiteDatabase db,

double longitude, double latitude) {

List list = new ArrayList<>();

double longitude1 = longitude + DistanceUtil.oneKM2Lon * 5;

double longitude2 = longitude - DistanceUtil.oneKM2Lon * 5;

double latitude1 = latitude + DistanceUtil.oneKM2Lat(latitude) * 5;

double latitude2 = latitude - DistanceUtil.oneKM2Lat(latitude) * 5;

String sql = "SELECT " + Constant.LONGITUDE + " , " + Constant.LATITUDE +

" FROM " + Constant.TABLE_RDD_IMAGES +

" WHERE " + Constant.LONGITUDE + " BETWEEN " + longitude2 + " AND " + longitude1 +

" AND " + Constant.LATITUDE + " BETWEEN " + latitude1 + " AND " + latitude2;

Cursor cursor = db.rawQuery(sql, null);

while (cursor.moveToNext()) {

double longitudeReturn = cursor.getDouble(cursor.getColumnIndex(Constant.LONGITUDE));

double latitudeReturn = cursor.getDouble(cursor.getColumnIndex(Constant.LATITUDE));

LatLng bean = new LatLng(latitudeReturn, longitudeReturn);

list.add(bean);

}

return list;

}

5、查询并返回一个数据列表

/**

  • 从本地数据库查询十条未上传的数据,放到一个列表中

  • @param db 数据库对象

  • @return list

*/

public static ArrayList queryRddImageList(SQLiteDatabase db) {

String sql = "SELECT " + Constant.IMAGE_ID + " , " + Constant.IMAGE + " , " +

Constant.ANGLE + " , " + Constant.WIDTH + " , " + Constant.HEIGHT + " , " +

Constant.DPI_WIDTH + " , " + Constant.DPI_HEIGHT + " , " + Constant.GEO_MAP_INFO + " , " +

Constant.LONGITUDE + " , " + Constant.LATITUDE + " , " + Constant.STREET + " , " +

Constant.ADDRESS + " , " + Constant.ALTITUDE + " , " + Constant.CAPTURE_TIME +

" FROM " + Constant.TABLE_RDD_IMAGES +

" WHERE " + Constant.IS_UPLOADED + " = 0 " +

" LIMIT 10";

Cursor cursor = db.rawQuery(sql, null);

ArrayList list = new ArrayList<>();

while (cursor.moveToNext()) {

String imageId = cursor.getString(cursor.getColumnIndex(Constant.IMAGE_ID));

byte[] image = cursor.getBlob(cursor.getColumnIndex(Constant.IMAGE));

double angle = cursor.getDouble(cursor.getColumnIndex(Constant.ANGLE));

double width = cursor.getDouble(cursor.getColumnIndex(Constant.WIDTH));

double height = cursor.getDouble(cursor.getColumnIndex(Constant.HEIGHT));

double dpiWidth = cursor.getDouble(cursor.getColumnIndex(Constant.DPI_WIDTH));

double dpiHeight = cursor.getDouble(cursor.getColumnIndex(Constant.DPI_HEIGHT));

String geoMapInfo = cursor.getString(cursor.getColumnIndex(Constant.GEO_MAP_INFO));

double longitude = cursor.getDouble(cursor.getColumnIndex(Constant.LONGITUDE));

double latitude = cursor.getDouble(cursor.getColumnIndex(Constant.LATITUDE));

double altitude = cursor.getDouble(cursor.getColumnIndex(Constant.ALTITUDE));

String address = cursor.getString(cursor.getColumnIndex(Constant.ADDRESS));

String street = cursor.getString(cursor.getColumnIndex(Constant.STREET));

long captureTime = cursor.getLong(cursor.getColumnIndex(Constant.CAPTURE_TIME));

String imageDataBase64 = BitmapUtils.byteArrayToBase64(image);

最后附上:我们之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总)

面试成功其实是必然的,因为我做足了充分的准备工作,包括刷题啊,看一些Android核心的知识点,看一些面试的博客吸取大家面试的一些经验,下面这份PDF是我翻阅了差不多1个月左右一些Android大博主的博客从他们那里取其精华去其糟泊所整理出来的一些Android的核心知识点, 全部都是精华中的精华,我能面试到现在资深开发人员跟我整理的这本Android核心知识点有密不可分的关系,在这里本着共赢的心态分享给各位朋友。

这份PDF囊括了JVM,Java集合,Java多线程并发,Java基础,生命周期,微服务, 进程,Parcelable 接口,IPC,屏幕适配,线程异步,ART,架构,Jetpack,NDK开发,计算机网络基础,类加载器,Android 开源库源码分析,设计模式汇总,Gradle 知识点汇总…

由于篇幅有限,就不做过多的介绍,大家请自行脑补
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
ebtD8r-1715751006083)]

这份PDF囊括了JVM,Java集合,Java多线程并发,Java基础,生命周期,微服务, 进程,Parcelable 接口,IPC,屏幕适配,线程异步,ART,架构,Jetpack,NDK开发,计算机网络基础,类加载器,Android 开源库源码分析,设计模式汇总,Gradle 知识点汇总…

由于篇幅有限,就不做过多的介绍,大家请自行脑补
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLite的SQL语句大全包括了一系列的语句用于创建、修改和查询数据库。以下是一些常用的SQLite SQL语句: 1. 创建表: 使用CREATE TABLE语句来创建新的表。例如:CREATE TABLE table_name (column1 datatype constraint, column2 datatype constraint, ...); [1] 2. 插入数据: 使用INSERT INTO语句将数据插入到表中。例如:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...); [3] 3. 查询数据: 使用SELECT语句从表中检索数据。例如:SELECT column1, column2, ... FROM table_name WHERE condition; [1] 4. 更新数据: 使用UPDATE语句更新表中的数据。例如:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; 5. 删除数据: 使用DELETE语句删除表中的数据。例如:DELETE FROM table_name WHERE condition; 6. 创建索引: 使用CREATE INDEX语句创建索引以提高查询性能。例如:CREATE INDEX index_name ON table_name (column1, column2, ...); [1] 7. 创建视图: 使用CREATE VIEW语句创建视图。例如:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition; [1] 8. 回滚事务: 使用ROLLBACK语句回滚事务。例如:ROLLBACK; [2] 9. 删除表: 使用DROP TABLE语句删除表。例如:DROP TABLE table_name; [2] 这些只是一些常用的SQLite SQL语句,还有其他更多的语句高级用法可以用于特定的需求。希望这些信息能对你有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [SQLite3中的SQL基本语句高级语句](https://blog.csdn.net/qq_34934140/article/details/121539905)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [SQLite3介绍及SQL语句详解(SQLite一)](https://blog.csdn.net/LCHONSEONE/article/details/125343201)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值