Subscription rxSubscription =DbHelper.insertObCjZrc(point, zrcmc, ssxz, ssjzc, accessType, picTime,0) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1<Boolean>() { @Override public void call(Boolean aBoolean) { if(aBoolean) { mainActivity.showPoint(point); } } });addSubscrebe(rxSubscription);
public static Observable<Boolean> insertObCjZrc(Point point, String zrcmc, String xzmc, String jzcmc, String tdxz, String photo, int isDraw) { return makeObservable(SqlString.insertCjZrc(point, zrcmc, xzmc, jzcmc,tdxz,photo,isDraw)) .subscribeOn(Schedulers.computation()); }private static <T> Observable<T> makeObservable(final T func) { return Observable.create( new Observable.OnSubscribe<T>() { @Override public void call(Subscriber<? super T> subscriber) { try { subscriber.onNext(func); } catch (java.lang.Exception e) { e.printStackTrace(); } } }); }static Boolean insertCjZrc(Point point, String zrcmc, String xzmc, String jzcmc, String tdxz, String photo, int isDraw) { DbHelper.opendb(FileUtil.dataPath); DbHelper.execSQL("create table CJ_ZRC(OBJECTID integer not null primary key autoincrement,自然村名称 text(254),所属建制村 text(254),所属乡镇 text(254),通达现状 text(254),照片 text(254),是否手绘 text(254));"); DbHelper.execSQL("SELECT AddGeometryColumn('CJ_ZRC', 'Shape', 4326, 'POINT', 'XY');"); DbHelper.execSQL("SELECT CreateSpatialIndex('CJ_ZRC', 'Shape');"); try { Stmt stmt01 = DbHelper.db .prepare("INSERT INTO CJ_ZRC (自然村名称,所属乡镇,所属建制村,通达现状,照片,是否手绘,Shape) VALUES (?,?,?,?,?,?,GeomFromText(?, 4326));"); stmt01.bind(1, zrcmc); stmt01.bind(2, xzmc); stmt01.bind(3, jzcmc); stmt01.bind(4, tdxz); stmt01.bind(5, photo); stmt01.bind(6, isDraw); stmt01.bind(7, "POINT ("+point.getX()+" "+point.getY()+")"); stmt01.step(); stmt01.close(); return true; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return false; } } static Boolean insertCjRoad(String road_name, String road_level, String road_type, String road_tech_type, String roadbed_width, String road_width, String road_txlc, String road_remark, String picTime, int isDraw, String muliLineString) { DbHelper.opendb(FileUtil.dataPath); DbHelper.execSQL("create table CJ_Road(OBJECTID integer not null primary key autoincrement,名称 text(254) not null,道路等级 text(254) not null,路面类型 text(254) not null,技术等级 text(254) not null,路基宽度 text(254) not null,路面宽度 text(254) not null,图形里程 text(254),备注 text(254),照片 text(254),是否手绘 text(254));"); DbHelper.execSQL("SELECT AddGeometryColumn('CJ_Road', 'Shape', 4326, 'MULTILINESTRING', 'XY');"); DbHelper.execSQL("SELECT CreateSpatialIndex('CJ_Road', 'Shape');"); try { Stmt stmt01 = DbHelper.db .prepare("INSERT INTO CJ_Road (名称,道路等级,路面类型,技术等级 ,路基宽度,路面宽度,图形里程,备注,照片,是否手绘,Shape) VALUES (?,?,?,?,?,?,?,?,?,?,GeomFromText(?, 4326));"); stmt01.bind(1, road_name); stmt01.bind(2, road_level); stmt01.bind(3, road_type); stmt01.bind(4, road_tech_type); stmt01.bind(5, roadbed_width); stmt01.bind(6, road_width); stmt01.bind(7, road_txlc); stmt01.bind(8, road_remark); stmt01.bind(9, picTime); stmt01.bind(10, isDraw); stmt01.bind(11, muliLineString); stmt01.step(); stmt01.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } }
rxjava与sqlite的结合
最新推荐文章于 2024-04-01 17:15:05 发布