写进度条时的弱弱问题

导入一系列数据,花的时间要很长,刚写了个进度条,并在一个BUTTON的CLICK事件中打开,奇怪的是,总是要等BUTTON所有内容执行完才会显示。刚静静一想,哈,是一个很弱的问题,ACTIVITY在一个时刻只有一个是活动的,和电脑上的桌面编程不一样。进度条对话框也是一个ACTIVITY吧,当然要等前一个ACTIVITY结束了。应该用service运行需要处理的程序,用进度条来显示。

 

好像上面的理解也不能,看了一下进度条的文档,并不是从ACTIVITY继承下来的。另外,通过service问题依旧,无论是把导入操作放在Service的OnBind事件,还是放在ServiceConnection的onServiceConnected事件,都不行,都是要等到这个方法执行完,才显示进度条。

 

其实,像这个应用,应当不要使用service,新开一个thread就可以了,最终,是通过在服务的Onbind的事件里新建一个线程,并执行导入操作.只是通过这样的折腾,了解一些service的内容。

 

ACTIVITY与service之的,可以通过binder访问,首先,在service里要创建一个Binder的子类,并提供一个方法,返回service的实例,同时声明一个实例,在onBind方法里返回这个实例,然后,在ACTIVITY里声明一个Binder,和一个ServiceConnection,能过OnServiceConnection方法,取到binder,这样就可以访问service了,但是,bind是异步的,如果在bindService之后立即访问binder,那一般是会报空指针操作。

 

导入很多数据,需要显示一个进度条对话框,只要先将进度条显示,然后新建一个线程,在新线程里运行导入操作就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值