Android学习路线
文章平均质量分 93
mark.ck
热爱技术,享受生活~
展开
-
Android学习路线(二)创建Android项目
一个Android项目包含了Android app代码在内的所有文件。Android SDK工具提供默认的项目目录和文件让创建一个项目变得很简单。这篇课程会向大家展示,如何通过Eclipse(包含ADT插件)或者通过在命令行使用SDK工具来创建一个新项目。提示: 你必须得先安装好Android SDK,如果你使用的是Eclipse,那么你还必须安装了ADT 插件(22.6.2版本或翻译 2014-08-02 10:58:27 · 1863 阅读 · 5 评论 -
Android学习路线(十七)支持不同设备——支持不同的语言
将UI中的字符串从应用代码中提取出来并存放在额外的文件中是一个好习惯。Android在每个项目中通过一个资源目录让这件事变得很简单。翻译 2014-08-12 23:57:33 · 1210 阅读 · 0 评论 -
Android学习路线(十九)支持不同设备——支持不同(Android)平台版本
当最新的Android版本为你的应用提供着很棒的APIs时,你却要在更多的设备更新之前继续支持老的系统版本。这篇课程如何在继续支持低版本的系统的情况下使用新版本的高级API。Platform Versions 仪表板展示了最新的活跃设备上运行的Android系统版本的分布,基于设备访问Google Play商店的次数。通常情况下,支持90%的活跃设备同时使用最新版本作为target是一个好习惯。翻译 2014-08-13 01:20:13 · 2041 阅读 · 0 评论 -
Android学习路线(二十)运用Fragment构建动态UI
要在Android系统上创建一个动态或者多面板的用户界面,你需要将UI组件以及activity行为封装成模块,让它能够在你的activity中灵活地切换显示与隐藏。你可以使用Fragment类来创建这些模块,它们能够表现得有些像嵌套的activity,它们定义着自己的布局,管理自己的生命周期。翻译 2014-08-14 22:29:14 · 1962 阅读 · 0 评论 -
Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment
你可以把fragment看成是activity的模块化部分,它拥有自己的生命周期,接受它自己的输入事件,你可以在activity运行时添加或者删除它(有点像是一个“子activity”,你可以在不同的activity中重用它)。本课将向你展示如何使用Support Libaray继承 Fragment 类来让你的应用能够兼容正在运行Android 1.6的设备。翻译 2014-08-14 23:25:12 · 2884 阅读 · 1 评论 -
Android学习路线(二十四)ActionBar Fragment运用最佳实践
通过前面的几篇博客,大家看到了Google是如何解释action bar和fragment以及推荐的用法。俗话说没有demo的博客不是好博客,下面我会介绍一下action bar和fragment在实战中的应用,以及相关demo源码,希望和大家相互交流。了解过fragment的同学们应该都知道,fragment是android 3.0版本才出现的的,因此如果要在支持android 3.0一下版本的工程中使用fragment的话是需要添加Support Library的。具体如何添加我就不再赘述,可以看我前原创 2014-08-21 03:03:52 · 11589 阅读 · 21 评论 -
Android学习路线(二十二)运用Fragment构建动态UI——构建一个灵活的UI
当你设计你的应用来支持多个屏幕尺寸,你可以基于可用的屏幕空间通过在不同的布局上重用fragment来优化用户体验。翻译 2014-08-15 00:07:22 · 2343 阅读 · 0 评论 -
Android学习路线(二十三)运用Fragment构建动态UI——Fragment间通讯
为了要重用Fragment的UI组件,你应该为它们每一个都构建一个完整独立的,模块化的组件来定义他自身的布局和行为。一旦你定义了这些可重用的Fragments,你可以通过activity关联它们同时通过应用逻辑连接它们来实现所有复杂的UI。翻译 2014-08-15 00:07:26 · 2401 阅读 · 0 评论 -
Android学习路线(二十七)键值对(SharedPreferences)存储
如果你又一个相对较小的键值对数据想要保存,你应该使用SharedPreferences APIs。一个SharedPreferences 对象指向一个包含键值对的文件,它提供简单的方法来读写他们。每个SharedPreferences 文件系统框架管理,它们可以是私有的也可以被共享。翻译 2014-09-30 23:56:29 · 2260 阅读 · 0 评论 -
Android学习路线(二十六)Android数据存储
大部分的Android应用都需要保存数据,甚至是为了让用户在 onPause() 时不至于丢失数据都需要保存信息。大多数一般的app同样需要保存用户设置的数据,而一些app则必须在文件或是数据库中管理大量的账号信息。翻译 2014-09-30 23:56:52 · 1195 阅读 · 0 评论 -
Android学习路线(二十八)保存文件
Android使用了一个类似其他平台的基于磁盘的文件系统。本课将介绍如何使用android的文件APIS来在这样的文件系统中读写文件。翻译 2014-09-30 23:57:47 · 1579 阅读 · 0 评论 -
Android学习路线(二十九)保存数据到SQLite中
对于可复用或者结构化的数据来说,把它们存储到数据库中是理想的方式。学习本课前你需要对通常的数据库有所了解,本课在此前提下会帮助你学习如何在android系统中操作SQLite数据库。你需要使用到的APIs都可以在android.database.sqlite 包中访问到。翻译 2014-09-30 23:55:32 · 1506 阅读 · 0 评论 -
Android学习路线(三十)高效地显示Bitmaps
学习如何使用常规的技术来加载Bitmap 对象,保持你的UI灵敏,同时避免溢出应用内存限制。翻译 2014-10-31 23:39:24 · 1146 阅读 · 0 评论 -
Android学习路线(三十一)高效地加载大的Bitmap
图片的大小形状千变万化。在很多情况下图片都比一个app的UI所需要展示的大小大很多。例如,系统的相册应用所展示的用系统相机拍摄的相片,这些相片比手机屏幕的分辨率大得多。假设你的app所使用的内存有限制,理想情况下你只想要在内存中加载一个较低分辨率的图片。同事这个低分辨率的图片要匹配用来显示它的UI组件的大小。高分辨率的图片并不能带来任何可见的好处,但是仍然会消耗珍贵的内存同时还会导致额外的性能开销。翻译 2014-10-31 23:40:38 · 1158 阅读 · 0 评论 -
Android学习路线(三十三)缓存Bitmap
加载一个bitmap到UI上是很简单的,然而,如果要一次加载一个大的图片集事情就变的复杂了许多。在多数情况下(例如在使用在ListView, GridView 和 ViewPager中),屏幕上的图片以及将要滚动到屏幕的图片的总数大体上是无限的。内存使用量可以通过回收不在屏幕上显示的子View来保持较低的状态。在不保持引用长期有效的情况下,GC也会将这些加载过的bitmaps回收。 这样做其实很好,但是要保持一个流畅快速响应的UI,你可能想要避免每次都重复的加载图片近内存。在这种情况下,磁盘加上内存双重翻译 2014-10-31 23:43:14 · 1162 阅读 · 0 评论 -
Android学习路线(十六)支持不同设备
全世界的Android 设备有很多很多不同的形状和大小。凭借着广泛的设备类型,你的应用程序可以有机会拥有一个庞大的用户群。为了让你的应用在android平台上更成功,你的应用需要适配各种设备类型。有几个重要的差异必须被考虑进去,包括不同的语言,屏幕尺寸以及android平台版本。翻译 2014-08-12 23:28:22 · 1059 阅读 · 0 评论 -
Android学习路线(十八)支持不同设备——支持不同的屏幕
Android系统使用两个普通属性:尺寸和密度,来对设备屏幕进行分类。你需要先预测你的应用将会在什么样屏幕的设备上安装,包括屏幕尺寸和密度。这样的话,你就需要提供一些可选的资源类让你的应用在不同屏幕的设备上有最佳的展示。翻译 2014-08-13 00:37:43 · 2296 阅读 · 0 评论 -
Android学习路线(二十五)全面理解Android Navigation逻辑
应用导航的一致性是整体用户体验的重要组成部分,如果app的导航方式不一样,用户不能很快理解,那么这个应用会让用户有很大的挫败感,大大地影响了用户体验。Android 3.0后,系统像大家介绍了其在全局导航表现上的重大改变。全面地理解“Back”以及“Up”的导航效果以及意义,能够大大地减少用户的学习时间,用户在使用过程中很快能够学习如何在应用的各个界面间的切换。原创 2014-08-27 01:23:17 · 5031 阅读 · 10 评论 -
Android学习路线(三)运行你的Android应用
如果你按照上一课创建了你的Android项目,那么它包含默认的 "Hello World" 的源文件,能够让你的项目马上运行起来。你如何运行你的应用以来与两件事:你是否拥有真正的Android设备和你是否使用的是Eclipse。这片课程向你展示如何使用Eclipse和命令行工具来将你的应用安装到真机上和模拟器上。在你运行你的应用之前,你必须了解一下Android项目中的这些目录文件翻译 2014-08-02 12:14:59 · 1740 阅读 · 4 评论 -
Android学习路线(四)构建一个简单的UI
Android应用的图形化用户界面的构建使用的是View 和 ViewGroup 对象的层次嵌套。 View 对象通常是UI部件,例如 buttons 或者 text fields ,而 ViewGroup 是用来定义它的子布局如何排布的容器,它通常是不可见的,例如一个网格或者一个垂直的列表。Android提供XML词汇与View或者ViewGroup的子类的对应,这样的话你就可以通过XML元素的层级嵌套来定义你的UI。翻译 2014-08-03 10:00:17 · 2812 阅读 · 3 评论 -
Android学习路线(五)开启另一个Activity
在完成了 上一篇课程后,你已经有了一个应用。这个应用展示了一个包含一个文本框和一个按钮的activity(一个单独的界面)。在这次的课程中,你将会通过在MainActivity中添加一些代码,来让当给你点击Send按钮时能够跳转到另一个activity中。响应Send按钮为了响应按钮的点击事件,打开fragment_main.xml 布局文件,然后在 元素中加入an翻译 2014-08-04 23:32:41 · 3118 阅读 · 3 评论 -
Android学习路线(七)设置Action Bar
设置一个基本的action bar需要你的应用使用支持action bar的主题。如何来请求这样的主题要看你所选择的你的应用最低支持的Android版本。因此本课会根据应用支持的不同的Android最低版本分为两个部分。翻译 2014-08-06 23:41:48 · 1987 阅读 · 0 评论 -
Android学习路线(一)开发环境搭建
工欲善其事,必先利其器原创 2014-08-01 10:43:29 · 1452 阅读 · 0 评论 -
Android学习路线(八)为Action bar添加action按钮
Action bar允许你为与当前应用上下文相关的最重要的action items添加action按钮。那些直接显示在action bar上的icon或者文字都被称作action buttons。那些不适合action bar或者不是那么重要的Actions将会被隐藏在action overflow(译者注:action bar最右侧的垂直的三个点)里。翻译 2014-08-07 00:46:41 · 3859 阅读 · 0 评论 -
Android学习路线(六)为Android应用添加ActionBar
Action bar 是你可以为你的应用的Activity实现的最为重要的设计元素之一。它提供了集中UI特性,并且通过提供和其他的Android应用的一致性体验让你的应用能够很快被用户熟悉。主要的功能包括:一个专用的显示应用表示的地方,并且能够指出用户当前在应用中的位置。用户能够很方便地访问重要的功能(例如搜索)。提供视图切换导航(通过tab,或者下拉列表)。翻译 2014-08-06 22:43:34 · 1672 阅读 · 1 评论 -
Android学习路线(十)如何将Action Bar叠放在你的布局上
默认情况下,action bar出现在activity窗口的顶部,略微减少了activity布局的总空间。如果你想隐藏或者显示action bar,在这堂用户体验的课程中,你可以通过调用hide() 和show() 方法来实现。然后这样会导致你的activity基于它的新大小重新计算和绘制布局。翻译 2014-08-07 01:07:18 · 3202 阅读 · 0 评论 -
Android学习路线(九)为Action Bar添加Style
Action bar为用户提供熟悉且可预测的方式来执行actions和导航应用,但是那并不意味着它需要和别的应用的action bar看起来完全一样。如果你想要去设计你的action的风格,让它更适合你的产品的品牌,你可以通过使用Android的style and theme 资源很容易做到这些。翻译 2014-08-07 00:58:54 · 2995 阅读 · 0 评论 -
Android学习路线(十一)管理Activity的生命周期
当一个用户进入,退出,再次进入你的应用时,你的应用中的Activity 会在它的生命周期的各个状态下切换。例如,当你的activity第一次启动,它出现在系统的前方接受用户的焦点。在这个过程中,Android系统调用了一系列的生命周期方法来设置UI和其他组件。如果用户执行了一个操作,启动了另一个activity或者切换到其它应用中,你的activity会移动到后台(这时activity已经不可见,但是它的实力和状态都保持不变),系统会调用另外的一些生命周期方法。翻译 2014-08-08 08:08:42 · 1609 阅读 · 0 评论 -
Android学习路线(十二)Activity生命周期——启动一个Activity
不像其它的编程模式那样应用是通过main()函数启动的,Android系统通过调用特定的回调方法对应着特定的生命周期阶段,来初始化一个Activity 实例中的代码。有一系列的方法来启动一个activity,同时也有一系列的方法来销毁activity。本课展示了大多数重要生命周期方法的预览,并且告诉你如何处理第一个生命周期方法来创建一个新的activity实例。翻译 2014-08-08 08:22:40 · 2338 阅读 · 1 评论 -
Android学习路线(十四)Activity生命周期——停止和重启(Stopping and Restarting)一个Activity
Activity 类提供了这两个生命周期方法,onStop() 和onRestart(),来允许你指定如何处理activity被停止和重启的情况。不像暂停状态,有一部分UI被遮挡,停止状态下UI完全不可见,同时用户的焦点在另一个activity上(或者另一个应用)。翻译 2014-08-09 02:04:10 · 3079 阅读 · 0 评论 -
Android学习路线(十三)Activity生命周期——暂停和恢复(Pausing and Resuming )一个Activity
在正常使用应用的过程中,前台的activity在一些时候会被其他的组件遮挡,导致这个activity暂停。举个例子,当一个半透明的activity被打开(例如一个dialog样式的activity),它之前的activity就会暂停。如果这个activity长时间一直只能部分可见并且获取不到当前的焦点,它就保持暂停状态。翻译 2014-08-09 02:00:03 · 3239 阅读 · 0 评论 -
Android学习路线(十五)Activity生命周期——重新创建(Recreating)一个Activity
有几个你的activity由于正常行为被销毁的场景,例如当用户点击了返回键,或者你的activity接收到自身调用 finish()方法发送的销毁信号。系统还可能会销毁那些被停止后长时间没有被使用到的activity,或者前台的activity需要更多的资源,系统会关闭后台进程来回收内存。翻译 2014-08-09 02:09:11 · 2762 阅读 · 1 评论 -
Android学习路线(三十二)在非UI线程中处理Bitmap
如果图片源数据是从硬盘,网络或是其他非内存中读取的话,在高效地夹在大Bitmaps 中讨论的BitmapFactory.decode*方法就不能在主线程(UI线程)中执行。这种数据加载进内存的时间是不可预测的,并且还要依赖各种其他因素(磁盘读取速度,网络速度,图片大小,CPU性能等等)。如果这些任务的其中之一阻塞了UI线程,那么系统就认为你的app处于无响应状态并且弹出对话框提示用户关闭app。翻译 2014-10-31 23:41:35 · 1482 阅读 · 0 评论