-
[综合] Android 系列 1.1了解Android应用程序架构
1.1UnderstandingtheAndroidApplicationArchitecture 1.1了解Android应用程序架构 讨论 Android应用程序包含一个或多个以下Java组件组件: ?活动包括一个屏幕的可视组件(“视图”)以及可以响应该屏幕上的用户事件的代码。几乎每一个应用程序...
78
热度 -
[综合] Android 系列 1.6使用Apache Maven创建“Hello,World”应用程序
1.6使用ApacheMaven创建“Hello,World”应用程序 问题 上面的配方使用Android来创建一个可以使用ApacheAnt构建的项目。 然而,由于Maven的依赖管理,许多组织正在移动或已经从Ant迁移到Maven。事实上,Maven几乎肯定是Java环境中使用最广泛的构建工...
44
热度 -
[综合] Android 系列 1.8在Android Studio 2中使用Java 8功能
1.8在AndroidStudio2中使用Java8功能 问题 您正在使用Java8,当前版本的Java在2015年,在您的其他工作,并希望在Android中使用它。 解 启用“Jack”编译器链,并使用AndroidStudio中支持的Java8子集。 讨论 如果你首先是一个Java开发人员,...
15
热度 -
[综合] Android 系列 1.10通过兼容性库在旧设备上使用新功能
1.10通过兼容性库在旧设备上使用新功能 问题 您想要使用Android的新功能,但让您的应用程序在旧版本上正确运行。 解 使用兼容性库-这就是他们在那里。 讨论 Android是一个奇妙的系统为用户-新功能添加了每个版本。但有一个问题-旧的设备没有得到最新版本的Android。低端制造商(低预算...
29
热度 -
[综合] Android 系列 1.11使用SDK示例帮助避免不知所措
1.11使用SDK示例帮助避免不知所措 问题 有时,编写一些功能是很困难的,特别是当文档是粗略的或者没有提供任何例子的时候。 解 查看现有的工作代码将有所帮助。AndroidSDK有一些示例程序,你可以挑选它们来看看它们是如何工作的。 讨论 AndroidSDK附带了许多示例应用程序,在尝试对某...
28
热度 -
[综合] Android 系列 1.12从模拟器/ Android设备截取屏幕截图/视频
1.12从模拟器/Android设备截取屏幕截图/视频 问题 您想要截取在Android设备上运行的应用程序的屏幕截图或视频。 解 对于屏幕截图,请使用设备的硬件按钮,或DalvikDebugMonitorServer(DDMS)视图的设备屏幕捕获功能,或adbscreencap。对于视频,请使用a...
59
热度 -
[综合] Android 系列 2设计成功的应用程序
本章是关于编写富有想象力和有用的Android应用程序的设计指南。几个配方描述成功设计的具体方面。本节将列出其他一些。 本章的一个目的是解释开发本机JavaAndroid应用程序与在移动设备上提供丰富内容的其他方法的优势。 手机应用程序的要求 无论其将部署的平台如何,成功交付任何移动手持机应用程序...
61
热度 -
[综合] Android 系列 2.1异常处理
2.1异常处理 问题 Java有一个定义良好的异常处理机制,但它需要一些时间来学习有效地使用它,而不会使用户或技术支持人。 解 Java提供了一个Exception层次结构,在正确使用时提供了相当大的灵活性。Android提供了几种机制,包括对话框和面包,用于通知用户错误情况。Android开发...
32
热度 -
[综合] Android 系列 2.3将Android应用程序对象访问为“Singleton”
2.3将Android应用程序对象访问为“Singleton” 问题您需要从Android应用中访问“全局”数据。解最好的解决方案是将android.app.Application子类化,并将其视为具有静态访问器的单例。每个Android应用程序保证在应用程序的生命周期只有一个android.app...
23
热度 -
[综合] Android 系列 2.4用户旋转设备时保留数据
2.4用户旋转设备时保留数据 问题当用户旋转设备时,Android通常会销毁并重新创建当前活动。您希望在此周期中保留一些数据,但活动中的所有字段都会丢失。解有几种方法。如果所有数据都包含原始类型,包含Strings或Serializable,则可以将其保存在传递的Bundle中的onSaveInst...
60
热度 -
[综合] Android 系列 2.5监控Android设备的电池电量
2.5监控Android设备的电池电量 问题 您想要检测Android设备上的电池电量,以便在电池电量低于某个阈值时通知用户,从而避免意外的意外。 解 接收在电池状态改变时发送的广播消息的广播接收器可以识别电池电量并且可以向用户发出警报。 讨论 有时,当Android设备的电池电量低于某个限制时...
96
热度 -
[综合] Android 系列 2.14使用提示而不是工具提示
2.14使用提示而不是工具提示 问题 Android设备可以有小屏幕,所以可能没有空间的帮助文本,并且工具提示不是平台的一部分。 解 Android为View提供了hint属性。 讨论 有时输入字段需要澄清关于应输入的值。例如,要求物料数量的库存订购应用可能需要陈述最小订单尺寸。在桌面程序中,使...
74
热度 -
[综合] Android 系列 3.1设置Android虚拟设备(AVD)进行应用程序测试
3.1设置Android虚拟设备(AVD)进行应用程序测试 问题 成功的应用必须在各种Android设备和版本上运行,因此您需要在各种设备上进行测试。 解 使用AndroidSDK的设备仿真工具包配置设备和操作系统的组合。对各种组合进行测试可减少与设备硬件差异相关的问题。 讨论 Android设...
53
热度 -
[综合] Android 系列 3.4使用Android Studio和JUnit进行测试
3.4使用AndroidStudio和JUnit进行测试 伊恩达尔文 问题 您想要使用JUnit来测试基于AndroidStudio的应用程序。 解 对于独立单元测试,请使用“test”文件夹;对于完整的Android单元测试,使用“androidTest”文件夹。 讨论 为了本练习的目的,我们将创...
25
热度 -
[综合] Android 系列 3.5使用Robolectric和JUnit测试4
3.5使用Robolectric和JUnit测试4 问题 你喜欢单元测试,但Android的原始测试框架是基于古老的Android3.8,它运行在模拟器,所以它的速度很慢。 解 使用Robolectric,JUnit4测试跑者是快。 讨论 这些说明是为Eclipse设置的。 假设您的“主”项目设...
1
热度 -
[综合] Android 系列 3.6使用ATSL,Espresso和JUnit测试4
3.6使用ATSL,Espresso和JUnit测试4 问题 你想使用最新的官方测试软件 解 使用Android测试支持库的Espresso部分。Espresso使用JUnit4像RoboLectric,但仍然要求测试打包并在仿真器或设备上运行。 讨论 Espresso是一个相对较新的测试框架,...
34
热度 -
[综合] Android 系列 3.7应用程序崩溃故障排除
3.7应用程序崩溃故障排除 问题 您的应用程式崩溃,您不确定原因(请参阅图3-21)。 解 首先查看日志。 图3-21。什么是应用程序崩溃的样子 讨论 我们可以使用adblogcat命令或EclipseLogCat窗口来查看我们的AVD日志。示例3-6显示了如何通过使用adblogcat查看堆栈...
83
热度 -
[综合] Android 系列 3.8使用Log.d和LogCat进行调试
3.8使用Log.d和LogCat进行调试 问题 通常Java代码编译没有错误,但有时运行的应用程序崩溃,给出“强制关闭”(或类似)错误消息。 解 使用LogCat消息调试代码对于发现自己处于这种情况的开发人员是一个有用的技术。 讨论 熟悉Java编程的人可能在调试他们的代码时使用了System...
0
热度 -
[综合] Android 系列 3.10使用本地运行时应用程序日志来分析字段错误或情境
3.10使用本地运行时应用程序日志来分析字段错误或情境 问题 用户报告了你的应用程序,你不认为应该发生的事情,但现在的发布模式应用程序是在市场上,你没有办法找出在用户的环境中发生了什么,错误报告最终在一个“不能再现”的场景。 解 LogCat输出是伟大的,尽管它是,但更长期的日志记录机制将在某些...
92
热度 -
[综合] Android 系列 3.11重现活动生命周期测试的场景
3.11重现活动生命周期测试的场景 问题 应用程序应该适应活动生命周期。开发人员需要知道如何重现不同的生命周期场景。 解 使用日志记录来了解活动生命周期。因此,对于应用程序测试,生命周期场景更容易重现。 讨论 Android是为旅途中的生活而设计的,用户从事多种任务:接听电话,检查电子邮件,发送...
83
热度