
android2017
勤劳的小疯子
这个作者很懒,什么都没留下…
展开
-
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()Worker threads are meant for doing background tasks and you can't show anything on UI withi翻译 2017-03-16 16:08:45 · 323 阅读 · 0 评论 -
Android手机屏幕投影到PC
Total Control1、免费2、不卡顿3、支持鼠标键盘4、支持USB,Wifi原创 2017-12-05 17:45:05 · 2542 阅读 · 0 评论 -
Recycler View 介绍
Recycler ViewRecyclerView可以通过导入support-v7对其进行使用。据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView、GridView。那么有了ListView、GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView架构,提供了一种插拔式的体验,高翻译 2017-12-13 17:07:40 · 338 阅读 · 0 评论 -
AsyncTask(3) - cancel
前言在java的线程中,没有办法停止一个正在运行中的线程。在Android的AsyncTask中也是一样的。如果必须要停止一个线程,调用cancel,然后在线程run方法或AsyncTask的doInBackground方法中的关键步骤判断是否调用了cancel以决定是否继续执行。然后在需要终止此线程的地方改变这个标志位以达到停止线程的目的。为什么要cancel线程呢?比如有若干个翻译 2017-11-09 17:05:21 · 735 阅读 · 0 评论 -
AsyncTask(2)
使用AsyncTask的一个奇怪现象项目上有一个查询本地联系人的操作是用AsyncTask来实现的,不断的点击,有时候就会请求挺长时间,通过调试发现doInBackground()未及时执行,肿么回事,难道AsyncTask不是异步的?AsyncTask主要有二个部分:一个是与主线程的交互,另一个就是线程的管理调度。虽然可能多个AsyncTask的子类的实例,但是AsyncTask的内部H翻译 2017-11-09 16:26:56 · 254 阅读 · 0 评论 -
AsyncTask(1)
背景 在Android程序开始运行的时候会单独启动一个进程,默认情况下所有这个程序操作都在这个进程中进行。一个Android程序默认情况下只有一个进程,但一个进程中可以有多个线程。在这些线程中,有一个线程叫做UI线程(也叫MainThread),除了UI线程外的线程都叫子线程(WorkerThread)。UI线程主要负责控制UI界面的显示、更新、交互等。因此,UI线程中的操作延翻译 2017-11-09 14:53:40 · 274 阅读 · 0 评论 -
轻量级的 开源缓存框架ASimpleCache
ASimpleCacheASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。框架地址 https://github.com/yangfuhai/ASimpleCache 1、它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、转载 2017-09-27 17:00:03 · 320 阅读 · 0 评论 -
Google为什么要限制GMS
从13年底到现在,Google在Android上面一系列无声的改变引起了人们的注意。 首先是13年9月末,Google将Google Services(也就是GMS)从安卓开发者官方网站的API Guides中提取出来,单独列为一项,并在新Google Services介绍中写道:Google Services不再从属于Android平台。 然后,14年1月,有媒体流言Goog翻译 2017-07-28 14:27:28 · 3435 阅读 · 1 评论 -
关于Handler.post与View.post的区别
Android的线程分UI线程与非UI线程两类。而Handler是非UI线程向UI线程传递消息的桥梁。除了非常常用sendMessage之外,Handler也提供了post(Runnable...),postDelayed等风骚犀利的方法,利于我们使用“闭包式编程”。 View作为UI的一部分,也无例外的提供了一个淫荡的View.post(Runnable)方法,让转载 2017-08-03 17:50:03 · 498 阅读 · 0 评论 -
view.post()
通过view.post方法可以保证在UI线程中进行需要的操作,方便地进行异步通信。以下是官方文档对该方法的注释及源码。Causes the Runnable to be added to the message queue.The runnable will be run on the user interface thread.public boolean post(Runnab转载 2017-08-03 17:48:58 · 672 阅读 · 0 评论 -
android异步更新UI
在android开发中不能在非ui线程中更新ui,但是,有的时候我们需要在代码中执行一些诸如访问网络、查询数据库等耗时操作,为了不阻塞ui线程,我们时常会开启一个新的线程(工作线程)来执行这些耗时操作,然后我们可能需要将查询到的数据渲染到ui组件上,那么这个时候我们就需要考虑异步更新ui的问题了。android中有下列几种异步更新ui的解决办法:Activity.runOnUiThre翻译 2017-08-03 17:35:52 · 659 阅读 · 0 评论 -
http 请求
Apache HTTP ClientDefaultHttpClient and its sibling AndroidHttpClient are extensible HTTP clients suitable for web browsers. They have large and flexible APIs. Their implementation is stable and t转载 2017-07-31 17:42:01 · 301 阅读 · 0 评论 -
获取全局Context
有时,在处理业务逻辑的时候,需要Context对象,但在某些情况下,并非容易获取,这时就需要一些巧妙的手段来管理Context。 在Android中,提供了一个类Application,当应用程序启动的时候,系统会自动将这个类进行初始化,所以我们可以编写自己的Application类以管理一些全局的状态信息。 在这里,以获取全局Context为例。1、编写自己翻译 2017-03-16 17:28:15 · 402 阅读 · 0 评论 -
Glide 一个专注于平滑滚动的图片加载和缓存库
Glide介绍中文版 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html英文版https://inthecheesefactory.com/blog/get-to-know-glide-recommended-by-google/en===========================转载 2017-12-07 15:53:41 · 288 阅读 · 0 评论