Android耗时操作

No subscribers registered for event class com.test.MessageEvent

import de.greenrobot.event.EventBus;

不是 org。。。。。那个包

内存中要先有订阅者,然后发送者才能把信息发送到他那。

A->B ,Activity A发送给B, 则B这个Activity要先有。

可以配置B为app的启动页面,然后跳转到A,则此时内存中AB都有(先有B,再有A),然后A发送消息给B,最终B的吐司能在A页面上看到,在底部

只能在Android中用

Caused by: java.lang.ClassNotFoundException: android.os.Handler

RxJava

RxBus

EventBus      事件总线  compile ‘org.greenrobot:eventbus:3.0.0‘

RxBus 名字看起来像一个库,但它并不是一个库,而是一种模式,它的思想是使用 RxJava 来实现了 EventBus ,不用 Otto 或者 EventBus( GreenRobot 的)

RxBus = RxJava 结合 EventBus

Otto

耗时操作:最上面,最优先使用    处理后台耗时操作

本质上都是 开  新线程  new Thread()

RxJava和RxBus代替EventBus  事件总线

AsyncTask  是对(Thread+Handler)的封装

Thread+Handler

null

时间: 2024-10-21 14:22:07

Android耗时操作的相关文章

Android Studio学习随笔-模拟耗时操作(sleep)

在这里我申明一点,因为我是挂着VPN去YOUTOBE看的尚学堂的高明鑫老师讲的Android基础学习视频,有些东西他没有讲,而我也没办法,只能等两个星期后学校请老师来的时候进行询问,当然我也会将一些问题发布在博客里,希望有一些粗腿可以让我抱一下 在此次随笔中,我将讲一下用sleep进行的耗时操作,由于高老师在视频中也是一掠而过,我也只能讲一点点,先附上代码 1 button.setOnClickListener(new View.OnClickListener() { 2 @Override 3

Android开发中的耗时操作总结

Android开发中的耗时操作总结 在Android软件开发过程中,经常遇到耗时操作.为了使手机app运行流畅,耗时操作需要在新的一个线程中完成.那么,Android手机应用开发中,耗时操作有哪些呢?下面来总结一下. 下载文件操作 网络连接操作(尤其是网络不好的时候) 音频格式转换操作 文件操作 比较大的数据的初始化操作 sleep函数等 注: 具体的功能还得根据业务需求来完成.

主线程中一定不能放耗时操作,必须要开子线程,比如下载文件,不然会不让你拿到输入流--报错显示android.os.NetworkOnMainThreadException

1.必须要开子线程来操作耗时操作,android.os.NetworkOnMainThreadException new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub try { updateFile = Environment.getExternalStorageDirectory() + "/3530.jpg"; //downloadUpdateFil

Android网络操作的几种方法

安卓开发软件:AndroidStudio 服务器软件:Myeclipse+Tomcat 首先无论是哪种方式,安卓手机软件要想联网,必须要申请联网权限(android.permission.INTERNET). 安卓主线程不允许做耗时操作(联网操作就是一种耗时操作),所以下面的的网络操作都是通过内部匿名类另起的一个线程操作的. 一,第一种方式:使用HttpURLConnection进行联网操作 这个方法需要我们手动构建一个http请求包,发送到指定的服务器 get方式 设置URL 打开连接 设置请

加载页面遮挡耗时操作任务页面--第三方开源--AndroidProgressLayout

在Android的开发中,往往有这种需求,比如一个耗时的操作,联网获取网络图片.内容,数据库耗时读写等等,在此耗时操作过程中,开发者也许不希望用户再进行其他操作(其他操作可能会引起逻辑混乱),而此时需要给用户一个额外的加载页面遮挡住主逻辑代码的运行,待主页面的耗时操作完成后,自动消失这样加载过度页面,恢复出正常应该显示的页面. 举个实际的例子,如代码使用Android WebView打开一个网页链接试图加载某个网站,但网络质量不佳,需要耗时很久,那么在这个过程中,较好的用户体验做法是:给用户一个

异步委托(APM)使用Func异步操作,处理耗时操作

使用委托进行异步操作,处理一些耗时操作,防止主线程阻塞 使用例子: 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace Demo 7 { 8 class Program 9 { 10 11 static void Main(string[] args) 12 { 13 Func<string> fun = new Func<s

如何为无法获取进度百分比的耗时操作增加“伪进度条”?

在实际开发中,可能会遇到这样的场景:“一个操作非常耗时,但却无法获取其进度百分比”.造成这种情况的原因可能有: 1)该操作属于第三方库(泛指我们使用但无法修改的第三方代码,因此质量有高有底),可能由于第三方库作者没有意识到这个操作在某些情况下会非常耗时,没有提供进度值. 2)某些操作压根就无法计算进度或者计算进度要牺牲极大的效率. 这种场景,执行这样的耗时操作会导致程序UI假死.为了提高用户体验,我们可以为该操作提供一个假的进度条,即保证程序UI不假死.我们将耗时操作放到子线程中去执行,然后在G

如何将Android数据库操作通用化(三)

概述 悠悠绿水傍林侵日落观山四望回 幽林古寺孤明月冷井寒泉碧映台 鸥飞满浦渔舟泛鹤伴闲亭仙客来 游径踏花烟上走流溪远棹一篷开 概述 一个不小心都写了三篇了,也不知道大家还看得懂不?如果看不懂最好给我留个言,我好下一次改正. 接着上次的说,准备工作都已经做好了,现在咱们就要开始着手解决阻挡Android数据库操作通用化的五个问题了. 我们先回顾一下问题: 问题1:表名的获取 问题2:如何将实体中的数据,按照对应关系导入到数据库中 问题3:明确实体中主键是谁?获取到主键中封装的值 问题4:如何将数据

Android应用层操作GPIO

Android应用层操作GPIO的方法: http://my.oschina.net/u/1176566/blog/177554 在使用某个GPIO之前首先的保证此GPIO没有正在被使用,否则是无法操作的: 如NAND模块的NCE3/PC18,此io口正被使用,在导入echo 74 > /sys/class/gpio/export时没问题,但是设置方向是无权操作,如图: 下面是我写的DEMO,单独操作GPIO和控制LED操作的代码.之前想用C部分来操作,然后通过JNI把方法暴露给上层,但是貌似C