- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Android线程间通信(总)
当执行诸如加载列表、Http请求、Socket数据包解析等任务时,通常都需要我们另外开启线程执行。这时如果任务中出现需要更新应用界面的操作时,我们是不能直接更新的。 与Java不同,Android中只允许在UI/主线程更新应用界面。否则会抛出异常: E/AndroidRuntime(4507): android.view.ViewRootImpl$CalledFromWrongThreadExc
2015-11-19 18:12:21 1578
原创 Android线程间通信(三):Looper
Looper类负责循环地从消息队列取消息,并通过消息中的Handler或者Runnable对象完成消息的处理。Looper对象和线程对象是一一对应的,一个线程只能拥有至多(可以没有)一个Looper对象,一个Looper有且只属于一个线程。
2015-11-20 11:14:53 643 1
原创 Android线程间通信(补充):UI线程
Android的UI线程其实是Message机制中的通信内容接收线程,UI线程的各种操作也是通过Handler+Message的形式通知和执行的。
2015-11-19 22:57:57 856 1
原创 Android线程间通信(四):Handler
在Android整个线程间通信的结构中,Message是通信内容的载体,MessageQueue是Message的管理者,Looper负责从MessageQueue中循环地取消息并分发给对应Handler处理,而Handler是Message的发布者兼处理者。 Handler是实现线程间通信的关键,任何从其他线程发往本线程的消息都要通过Handler发送。Handler在创建时会默认绑定本线
2015-11-18 16:14:53 800
原创 Android线程间通信(一):Message
当执行诸如加载列表、Http请求、Socket数据包解析等任务时,通常都需要我们另外开启线程执行。这时如果任务中出现需要更新应用界面的操作时,我们是不能直接更新的。 与Java不同,Android中只允许在UI/主线程更新应用界面。否则会抛出异常: E/AndroidRuntime(4507): android.view.ViewRootImpl$CalledFromWrongThread
2015-11-18 12:52:11 1992
原创 Android线程间通信(二):MessageQueue(中)
5.next() next()是MessageQueue核心的方法。当Looper需要取出一个消息处理时,仅仅只需要调用next(),无论调用时MessageQueue中的队列情况如何,最终都会得到一个合理的结果。
2015-11-16 16:29:37 877
原创 Synchronized关键词使用场景解析
synchronized关键词使用场景解析Java synchronized 使用场景修饰成员方法: public synchronized void memberMethod(){};修饰静态方法: public static synchronized void staticMethod(){};包裹某段代码,synchronized(xxx): a. synchronized
2015-10-28 18:03:41 2480 1
原创 场景一:synchronized包裹代码块
一.synchronized(对象) 假设类对象instance的某段代码块被synchronized(obj){}包裹,线程访问该段代码块时便会拿到obj对象的内置锁。在obj对象的内置锁释放前,其他线程仍然可以访问instance对象非同步的方法和代码块(现象一),但是: 1. 不能进入instance对象中任何也以obj为锁的代码块;(现象二) 2. 当obj与instance
2015-10-28 15:17:54 874
转载 InteIlij idea/Android studio 使用记录
Android studio v1.2.21.显示行号 settings->editor->general->appearance->show line num附录.快捷键导航栏:Alt + Home调出概要:Ctrl + O复制代码块/行:Ctrl + D 如果选中一段代码,复制选中段。如果未选中,复制光标当前行。删除本行:Ctrl + Y查看定义:Ctrl + B查看实现:C
2015-08-03 17:51:53 338
原创 EventBus篇一:ThreadMode
TheadMode 每一个事件处理方法都有着自己的线程模式(TheadMode)。线程模式决定了EventBus在哪个线程中调用事件处理方法。 ThreadMode枚举包含四个值: - PostThread - MainThread - BackgroundThread - Async。A.PostThread(默认模式)调用线程:事件发布线程
2015-07-21 12:20:07 3074
转载 MarkDown自带介绍
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:**Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctr
2015-07-21 11:48:08 373
转载 在Android(OPhone)模拟器中加载和使用SDCard卡
原文地址:http://www.blogjava.net/nokiaguy/archive/2009/07/28/288760.htmlAndroid模拟器或真机都会有一定大小的内部存储空间(不是指内存,指的是持久化存储空间),但这并不够,有时我们需要更大的存储空间。为了在模拟器上开发使用扩展存储空间的程序,需要在PC上模拟一个SDCard的虚拟文件,然后加载到模拟器中。sdcar
2014-04-28 16:30:18 528
转载 获取Android手机中所有的短信
原文地址:http://android.tgbus.com/Android/tutorial/201104/349808.shtmlJava代码: 注释: 1、本函数用于获取手机中所有的短信,包括收件箱、发件箱、草稿箱等。 2、本函数可以运行在Service子类中,因为未使用Activity类的相关函数。 3、获取的短
2014-04-23 18:11:59 545
转载 Android中全屏或者取消标题栏
原地址:http://www.cnblogs.com/and_he/archive/2011/06/01/2067106.html先介绍去掉标题栏的方法:第一种:也一般入门的时候经常使用的一种方法requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏注意这句一定要写在setContentView()方法
2014-04-23 18:10:02 421
转载 android 联系人查询结果的排序问题
原帖地址:http://blog.csdn.net/chenyufei1013/article/details/6136795最近,有需要要查询android 1.6联系人的数据库,而且需要将查询出来的联系人排好顺序。按照ContentResolver的query函数的文档,它的原型为:query(Uri uri, String[] projection, String
2014-04-23 14:58:41 710
转载 Android软件开发之获取通讯录联系人信息
作者声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xys289187120.blog.51cto.com/3361352/656766
2014-04-23 13:36:20 948
转载 listview的getview的参数解析
工作原理:ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。一个新的视图被返回并显示如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能!实际上Android为你缓存了视图。Android中有个叫做Recycler的构件,下图是他的工作原理:如果你有10亿个项目(item)
2014-04-23 12:45:21 652
转载 LayoutInflater作用及使用
转载地址:http://blog.sina.com.cn/u/3548422985作用: 1、对于一个没有被载入或者想要动态载入的界面, 都需要使用inflate来载入. 2、对于一个已经载入的Activity, 就可以使用实现了这个Activiyt的的findViewById方法来获得其中的界面元素. 方法: An
2014-04-23 12:43:27 461
转载 Baidu云盘【文件API】接口学习 『一』
原文地址:http://www.2cto.com/kf/201305/215351.html这几天很有兴致的学习了百度云盘文件API接口的使用;初步是想做一个在线android应用,应用中的文档是存放在百度云盘的。主要是分一下几个步骤:1.注册百度账号2.登录百度开发者中心3.创建移动应用,获取对应的(API Key Secret Key)4.开通pcs A
2014-03-16 17:27:42 1599
转载 OpenStack对象存储——Swift
OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。本文将从架构、原理和实践等几方面讲述Swift。 Swift并不是文件系统或者实时的数据存储系统,它称为对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新。最适合存储的数据类型的例子是虚拟机镜像、图片存储、邮
2014-03-16 16:52:05 757
转载 Neutron网络入门
原地址:http://www.ustack.com/blog/neutron_intro/Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能。Neutron的功能日益强大,并在Horizon面板中已经集成该模块。作为Neutron的核心开发者之一,个人觉得Neutron完全代替Nova Network模块作为云计算网络管理中心是必然趋势。要使用好Open
2014-03-16 16:49:45 807
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人