Android Training】的更多相关文章

1.使用AsyncTask異步加載bitmap圖片避免OOM: class BitmapWorkerTask extends AsyncTask<Integer, Void, Bitmap> { private final WeakReference<ImageView> imageViewReference; private int data = 0; public BitmapWorkerTask(ImageView imageView) { // Use a WeakRefe…
发表在我的独立网站http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-0/ ,欢迎访问! Android的framework有大量的Views用来与用户进行交互并显示不同种类的数据.但是有时候你的程序有个特殊的需求,而Android内置的views组件并不能实现.这一章节会演示如何创建你自己的views,并使得它们是robust与reusable的. Dependen…
发布在我的网站:http://kesenhoo.github.io/blog/2013/06/30/android-training-ui-creating-custom-views-lesson-2/ , 欢迎访问! 自定义view的最重要的一个部分是自定义它的外观.根据你的程序的需求,自定义绘制动作可能简单也可能很复杂.这节课会演示一些最常见的操作. Override onDraw() 重绘一个自定义的view的最重要的步骤是重写onDraw()方法.onDraw()的参数是一个Canvas…
Remembering Your User[记住你的用户] 每一个人都非常喜欢自己的名字能被人记住.当中最简单,最有效的使得你的app让人喜欢的方法是记住你的用户是谁,特别是当用户升级到一台新的设备或者是在tablet希望能够像在手机上一样使用(存有相同的数据,比方书签等).可是怎样知道用户是谁,怎样在新的设备上识别出他们. 对于很多程序来说,能够使用AccountManager APIs来处理上面的问题.在用户授权下,你能够使用AccountManager来获取用户存储在设备上的账户名. 整合…
原文:http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html 图片缓存 在Android开发中,加载一个图片到界面很容易,但如果一次加载大量图片就复杂多了.在很多情况下(比如:ListView,GridView或ViewPager),能够滚动的组件需要加载的图片几乎是无限多的. 有些组件的child view在不显示时会回收,并循环使用,如果没有任何对bitmap的持久引用的话,垃圾回收器会释放你加载的…
使用Volley传输网络数据(Transmitting Network Data Using Volley) Volley 是一个 HTTP 库,它使得在Android应用程序中操作网络更容易,是重要的,更多快速的.Volley 属于“开放源代码项目”.. Volley 提供了下列好处: 自动化的网络请求调度安排. 多并发的网络连接. 对标准HTTP 透明化的硬盘和内存 响应缓存.   cache coherence. 支持请求的优先级. 支持终止请求的 API. 你可以终止一个单独的请求,或者…
2014-10-28 张云飞VIR 翻译自:https://developer.android.com/training/basics/actionbar/index.html 添加活动栏(Adding the Action Bar) 译者注:我找不到更好的词汇翻译action bar,虽然我也认为 活动栏 不是个好的翻译,但总要有个中文名字.不过为了方便识别,本文仍继续使用英文的actionbar 活动栏action bar 是非常重要的设计元素之一,你可以为你的app中的activity来实…
本文翻译自:https://developer.android.com/training/basics/firstapp/index.html 构建你的第一个应用(app) 欢迎来到安卓开发! 这个课程教你如何构建你的第一个应用.你讲会学到如何去创建一个安卓工程和启动一个可以调试的应用的版本.你将会学到一些安卓设计的基础,包括如何构建一个简单的用户界面和处理用户输入. 在你开始这个课程之前,确保你已经有了安卓开发环境并设置好,你需要: 1.下载安卓开发包(Android SDK) 2.为你的Ec…
http://hukai.me/android-training-managing_your_app_memory/ Random Access Memory(RAM)在任何软件开发环境中都是一个很宝贵的资源.这一点在物理内存通常很有限的移动操作系统上,显得尤为突出.尽管Android的Dalvik虚拟机扮演了常规的垃圾回收的角色,但这并不意味着你可以忽视app的内存分配与释放的时机与地点. 为了GC能够从app中及时回收内存,我们需要注意避免内存泄露(通常由于在全局成员变量中持有对象引用而导致…
视频讲解:http://www.eyeandroid.com/thread-15896-1-1.html 由于很多应用程序都可以播放音频,因此在播放前考虑它们如何交互就显得很重要了,为了避免同时出现多个声音,Android使用音频焦点(AudioFocus)来控制音频的播放 - 仅仅是获取到Audio Focus的应用程序才能够播放音频. 在应用程序开始播放音频之前,它需要经过发出请求[request]à接受请求[receive] à音频焦点锁定[AudioFocus]的过程.同样它需要知道如何…