rxjava与sqlite的结合

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;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值