spatiallite空间数据库在Android平台的两种数据查询方式
2017-10-19 23:46
495 查看
spatialite在Android平台的学习资料非常少,它的数据查询方式主要有异步式和非异步式两种。
异步式
非异步式
非异步式则在主线程中一直判断是否有下一行,如果没有,则向后执行
异步式
db = new jsqlite.Database(); File dbFile=new File(Environment.getExternalStorageDirectory().getPath()+"/test.sqlite"); db.open(dbFile.toString(), jsqlite.Constants.SQLITE_OPEN_READONLY); String query = "SELECT name, peoples, AsText(Geometry) from Towns where peoples > 350000"; Callback cb = new Callback() { @Override public void columns(String[] coldata) { Log.e(TAG, Arrays.toString(coldata)); } @Override public void types(String[] types) { Log.e(TAG, "Types: " + Arrays.toString(types)); } @Override public boolean newrow(String[] rowdata) { Log.e(TAG, rowdata[0]); return false; } }; db.exec("select Distance(PointFromText('point(-77.35368 39.04106)', 4326), PointFromText('point(-77.35581 39.01725)', 4326));", cb); db.exec("SELECT AsGeoJSON(Geometry) from HighWays;", cb); db.exec("SELECT name from sqlite_sequence;", cb); db.exec("SELECT name, peoples, AsText(Geometry), GeometryType(Geometry), NumPoints(Geometry), SRID(Geometry), IsValid(Geometry) from Towns where peoples > 350000;", cb); db.exec("SELECT Distance( Transform(MakePoint(4.430174797, 51.01047063, 4326), 32631), Transform(MakePoint(4.43001276, 51.01041585, 4326),32631));", cb); db.close();异步式查询是将查询的结果在回掉事件中输出,查询到一行输出一行。
非异步式
db = new jsqlite.Database(); File dbFile=new File(Environment.getExternalStorageDirectory().getPath()+"/test.sqlite"); db.open(dbFile.toString(), jsqlite.Constants.SQLITE_OPEN_READONLY); String query = "SELECT name, peoples, AsText(Geometry) from Towns where peoples > 350000"; Stmt stmt = db.prepare(query); stmt.step(); while (stmt.step()) { String tableName = stmt.column_string(0); String type = stmt.column_string(1); String srid = stmt.column_string(2); Log.e(TAG, tableName+type+srid); } stmt.close(); db.close();
非异步式则在主线程中一直判断是否有下一行,如果没有,则向后执行
相关文章推荐
- Android提交数据到服务器的两种方式四种方法
- 查询第20到30条数据(升序,降序两种方式)
- Android中向web服务器提交数据的两种方式四种方法
- Android提交数据到服务器的两种方式四种方法
- Android两种存储用户临时数据的方式比较:Preferences & Bundle
- Android提交数据到服务器的两种方式四种方法
- odata查询数据的两种方式
- Android之从网络中获取数据并返回客户端的两种方式:XML格式返回与Json格式返回
- Android提交数据到服务器的两种方式四种方法
- oracle 10g已删除数据查询的两种方式
- Android 应用开发 之通过AsyncTask与ThreadPool(线程池)两种方式异步加载大量数据的分析与对比
- Android提交数据到服务器的两种方式四种方法
- Android提交数据到服务器的两种方式四种方法
- Android应用开发之sqlite使用模糊查询数据库数据的三种方式
- Android提交数据到服务器的两种方式四种方法
- android经过POST和GET两种方式发送数据到web应用实战
- Android提交数据到服务器的两种方式四种方法
- Android提交数据到服务器的两种方式四种方法
- Android提交数据到服务器的两种方式四种方法
- Android提交数据到服务器的两种方式四种方法