注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/data-storage/shared-preferences.html 如果你有一些希望存储的相对较小的键值对数据集,你应该使用SharedPreferences的APIs.一个SharedPreferences对象指向一个包含键值对的文件…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/data-storage/index.html 大多数的Android应用都需要保存数据,甚至仅仅在onPause()中存储应用状态信息防止用户进度丢失,这也属于数据的存储.大多数较复杂的应用也需要存储用户的设置信息,一些应用必须在文件和数据…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/data-storage/databases.html 在数据库中保存数据,对于重复性的或者结构化的数据来说是很理想的,比如:联系人信息.这节课我们假定你对SQL数据库有一个大致的了解,并且帮助你在Android上开始使用SQLite数据库.…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/data-storage/files.html Android使用的文件系统和其它平台上使用的磁盘文件系统比较类似.这节课将描述如何通过File的APIs对Android文件系统进行读写文件. 一个文件对象适合于按既定的顺序读或者写大量数据,…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/contacts-provider/modify-data.html 这节课将会向你展示如何使用一个Intent来插入一个新的或者修改一个现有的联系人数据.与直接访问Contacts Provider不同,一个Intent会启动通讯录应用所对应的Activ…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/cloudsave/conflict-res.html 在云存储中保存和加载过程是很直接的:它只是将用于数据和byte数组之间的序列化转换,并将这些数组存储在云端.然而, 当你的用户有多个设备,并且两个以上的设备尝试将它们的数据存储在云端时,这一保存可能会…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/recreating.html 在应用被正常使用的情况下,会有一些场景发生并使得你的activity被销毁,比如:当用户按下了返回键,或者你的activity调用了finish()方法将自己销毁.当你的a…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/activity-lifecycle/stopping.html 正确地停止和重启你的activity在整个生命周期过程中是非常重要的,它可以让用户感觉到你的应用一直处于活跃状态,并且不会丢失他们的进度.以下是一些你的activity被停止或…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/starting-activity.html  一. 启动另一个Activity 在完成了之前的课程后,你已经拥有了一个显示一个Activity(即只有一个屏幕画面)的应用,在这个Activity中有一个文本框和一个按钮.在…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/creating-project.html 一.创建一个Android项目工程 一个Android项目工程包含所有构成你的Android应用的源代码文件,利用Android SDK工具可以很轻松地创建一个新的含有默认项目目录…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/location/geofencing.html 地理围栏可以将用户当前地点信息和周围的地点信息相结合,它其实是用户接近潜在的感兴趣的地点的程度.要标记一个感兴趣的地点,你需要指定它的经纬度.要调整接近的位置,你还需要添加一个半径.经纬度和半径加起来就成为…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/location/receive-location-updates.html 如果你的应用有导航的功能,你可能会希望可以定期获取用户的地理位置.虽然你可以通过LocationClient.getLastLocation()做到这一点,但是一个更加直接的方法…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/contacts-provider/retrieve-details.html 这节课将会展示如何获取一个联系人的详细数据,比如电子邮件地址,电话号码,等等.当用户获得一个联系人后,他会想要查看他的详细信息.你可以展示给他们所有的信息,或者只展示某一特定类…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/cloudsync/gcm.html 谷歌云消息(GCM)是一个用来给Android设备发送消息的免费服务.GCM消息可以极大地提升用户体验.你的应用可以一直保持更新的状态而不用在唤醒无线电和在没有更新的使用对服务器发起询问等事情上消耗电量.同时,GCM可…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/displaying-bitmaps/manage-memory.html 接着上一节课的步伐,还有很多特定的事情可以让垃圾回收和位图重用变得容易.根据你的目标Android系统的不同版本,推荐的策略也会有所不同.这系列课程的样例代码:BitmapFun(…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/camera/cameradirect.html 在这节课中,我们讨论如何直接通过框架内的API来控制相机硬件. 直接控制一个相机硬件需要的代码,比通过已存在的相机应用拍摄照片和视频所需要的代码要多.然而,如果你希望构建一个特制的相机应用,或者需要将一些东…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/camera/photobasics.html 这节课将展示如何使用已经存在的相机应用拍摄相机. 假设你现在在实现一个基于人群的气象服务,它构建一个全球的气象地图,通过将运行了你的应用色设备所拍摄的天空照片拼接起来来实现这个气象地图.整合照片只是你的应用的…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/actionbar/overlaying.html 默认的,Acton Bar会显示在你的activity窗口的上部,使得它会稍许减少了activity布局的剩余空间.如果在用户的UI交互过程中,你希望可以隐藏和显示Action Bar,你可…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/building-ui.html 一. 构建一个简单UI 一个Android应用通过View和ViewGroup对象所组成的层次结构来构建图形用户接口(GUI).通常View对象是一些UI控件,比如按钮(buttons),文…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/firstapp/running-app.html 一.运行你的应用 如果按照上一节课的步骤创建了一个Android项目工程,那么它将包含一组构成“Hello World”的源文件,以此使你可以直接运行这个程序. 你如何运行这个程序取决于两件…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/location/location-testing.html 样例代码: LocationProvider.zip 要测试一个使用定位服务的地点认知应用,你不需要将你的设备从一个地方移动到另一个地方来生成数据.你可以将定位服务放到测试模式中.在该模式中你可…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/location/display-address.html 前两节课程讲解了如何以Location对象的形式(包含经纬度的信息)来获取用户的当前地理位置信息.虽然经纬度信息对于计算距离或者显示一个地图位置很有用,但在很多情况下,当前地点的地址往往作用更大.…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/location/retrieve-current.html 地点服务自动维护用户当前的地点,所以你的应用所要做的事情就是在需要时去获取它.地点的精确度是基于你所申请的地点查询权限,以及当前设备上激活的的位置传感器. 地点服务会通过定位客户端(定位服务类的…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/contacts-provider/display-contact-badge.html 这节课将会向你展示如何添加一个QuickContactBadge到你的UI中,以及如何将数据和它捆绑起来.一个QuickContactBadge是一个显示缩略图的空间…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/contacts-provider/retrieve-names.html 这节课将讲解如何获取那些和搜索字符串匹配的联系人列表,我们将会使用下面的技术: 匹配联系人姓名 通过将搜索字符串和联系人姓名的全部或部分进行匹配,来获取联系人列表.因为Contac…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/sync-adapters/creating-sync-adapter.html 在你应用中的同步适配器组件会封装在设备和服务器之间传输数据的任务代码.基于你提供的调度和触发器,同步适配器框架会在同步适配器组件中运行你的代码.要将同步适配组件添加到你的应用…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/sync-adapters/creating-stub-provider.html 同步适配器框架是设计成用来和设备数据一起工作的,这些设备的数据被灵活且高安全的内容提供器所管理.因此,同步适配器框架会期望应用所使用的框架已经为它的本地数据定义了内容提供器…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/sync-adapters/creating-authenticator.html 同步适配器框架假定你的同步适配器在同步数据时,设备存储会有一个账户,服务器存储端会有登录验证.因此,框架期望你提供一个叫做验证器的组件作为你的同步适配器的一部分.该组件会植…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/efficient-downloads/efficient-network-access.html 在你的应用中,可能最消耗电力的就是用无线网络对资源进行下载了. 为了最小化网络连接对电池损耗的影响,你一定要理解你的连接模型是如何影响底层的的无线硬件的.这…
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer.android.com/training/basics/network-ops/xml.html 可扩展标记语言(XML)是一种将文档编码为机器可阅读的形式的规则集合.XML是一种在互联网中分享数据的比较流行的格式.那些频繁更新内容的网站(如新的站点或者博客),经常会提供一个XML源,这样外部程序…