-
[综合] Android 系列 3.15发送短信和在AVD之间拨打电话
3.15发送短信和在AVD之间拨打电话 问题 您已经开发了一个应用程序,需要放置或听取呼叫或发送或接收短信,你想测试这个。 解 启动两个Android虚拟设备(AVD),并使用端口号发送短信和拨打电话。 讨论 当您创建一个用于侦听来电或短信的应用程序(类似于???中的应用程序)时,当然可以使用E...
10
热度 -
[综合] Android 系列 4进程间/程间内通信
进程间/程间内通信 Android提供了用于跨(和内)应用程序通信的独特机制集合。本章讨论了以下内容: 意图 指定您打算执行的操作:在应用程序中调用特定类,或调用用户已配置为处理特定类型数据的特定请求的任何应用程序 广播接收机 结合意图过滤器,允许您将应用程序定义为能够处理特定类型的数据(即意图的目...
78
热度 -
[综合] Android 系列 4.3使用附件发送电子邮件
4.3使用附件发送电子邮件 问题 您想要发送附有附件的电子邮件。 解 创建Intent,添加扩展数据以指定要包括的文件,并启动一个新活动以允许用户发送电子邮件。 讨论 发送电子邮件的最简单方法是创建一个类型为ACTION_SEND的Intent: Intentintent=newIntent(I...
66
热度 -
[综合] Android 系列 4.4使用Intent.putExtra()推送字符串值
4.4使用Intent.putExtra()推送字符串值 问题 您需要在启动时将一些参数传递到活动中。 解 一个快速的解决方案是使用Intent.putExtra()来推送数据。然后使用getIntent()。getExtras()。getString()来检索它。 讨论 例4-6显示了推送数据...
72
热度 -
[综合] Android 系列 4.7发送/接收广播消息
4.7发送/接收广播消息 问题 您想创建一个接收另一个活动发送的简单广播消息的活动。 解 设置广播接收器,实例化消息接收器对象,并创建IntentFilter。然后向接收者注册必须接收广播消息的活动。 讨论 示例4-12中的代码设置广播接收器,实例化消息接收器对象,并创建IntentFilter...
2
热度 -
[综合] Android 系列 4.8设备重启后启动业务
4.8设备重启后启动业务 问题 您在应用中有一项服务,并且希望在手机重新启动后启动。 解 侦听引导事件的意图,并在事件发生时启动服务。 讨论 每当一个平台引导完成,意图被广播与android.intent.action.BOOT_COMPLETED行动。您需要注册您的应用程序以接收此意图,并请求...
23
热度 -
[综合] Android 系列 4.11使用活动线程队列和处理程序在线程之间发送消息
4.11使用活动线程队列和处理程序在线程之间发送消息 问题 您需要将来自服务或其他后台任务的信息或数据传递到活动。因为Activities在UI线程上运行,所以从后台线程调用它们是不安全的。 解 你可以编写一个嵌套类来扩展Android的Handler类;然后覆盖将从线程队列读取消息的handle...
36
热度 -
[综合] Android 系列 5 图形
图形 计算机图形是任何类型的显示器,其中没有GUI组件:制图,显示图片等。图形是用于创建GUI组件以及绘制形状,线条,图片等的工具。Android是为图形设置的,包括OpenGLEL的完整实现,OpenGLEL是OpenGL的一个子集,用于较小的设备。 本章从使用自定义字体用于特殊文本效果,然后在G...
84
热度 -
[综合] Android 系列 5.2使用OpenGL ES绘制旋转立方体
5.2使用OpenGLES绘制旋转立方体 问题 您想创建一个基本的OpenGLES应用程序。 解 创建一个GLSurfaceView和一个自定义渲染器,将绘制一个旋转立方体。 讨论 Android通过OpenGLESAPI支持3D图形,这是一种专为嵌入式设备设计的OpenGL风格。这个食谱不是O...
42
热度 -
[综合] Android 系列 5.3向OpenGL旋转立方体添加控件
5.3向OpenGL旋转立方体添加控件 问题 您要使用设备的键盘与OpenGL多边形进行交互。 解 创建自定义GLSurfaceView并覆盖onKeyUp方法来侦听从方向键(D-pad)创建的KeyEvent。 讨论 这个食谱建立在配方5.2,显示如何使用D-pad控制立方体。我们将使用D-pa...
95
热度 -
[综合] Android 系列 5.4徒手绘制平滑曲线
5.4徒手绘制平滑曲线 问题 您希望允许用户绘制平滑的曲线,如手绘贝塞尔曲线,法律签名等。 解 使用仔细编写的OnTouchListener创建自定义视图,处理输入的速度比代码可以处理的速度快的情况;将结果保存在数组中,并在onDraw()中绘制它们。 讨论 此代码最初由SquareInc.的Eri...
1
热度 -
[综合] Android 系列 5.5使用意图拍摄照片
5.5使用意图拍摄照片 问题 你想从你的应用程序中拍照,并且不想写很多代码。 解 为MediaStore.ACTION_IMAGE_CAPTURE创建一个Intent,调整它一点,并在这个Intent上调用startActivityForResult。提供onActivityResult()回调,以...
90
热度 -
[综合] Android 系列 5.6使用android.media.Camera拍照
5.6使用android.media.Camera拍照 问题 您想要在拍摄照片时对所涉及的各个阶段有更多的控制。 解 创建SurfaceView并实现当用户拍摄照片时触发的回调,以便控制图像捕获进程。 讨论 有时,您可能希望在拍摄照片时对所涉及的阶段进行更多的控制,或者您可能想要访问和修改相机获取的...
66
热度 -
[综合] Android 系列 6 图形用户界面 (GUI)
6图形用户界面(GUI) 当Android被发明时,它的设计师面临许多选择,其结果将决定他们的项目的成功或失败。一旦他们拒绝了所有其他智能手机操作系统,包括关闭和开源,并决定在Linux内核上构建自己的操作系统,他们面临着一些空白的画布。一个重要的选择是使用哪种编程语言;他们明智地选择了Java。但...
56
热度 -
[综合] Android 系列 6.4通过将视图从模型中去耦来处理配置更改
6.4通过将视图从模型中去耦来处理配置更改 问题 当设备的配置更改(最常见的是因为方向更改)时,您的活动将被销毁并重新创建,从而使状态信息难以维护。 解 将您的用户界面从数据模型中分离,以便销毁活动不会影响您的状态数据。 讨论 这是一种情况,每个Android开发人员(除了那些谁阅读本书的这部分时间...
13
热度 -
[综合] Android 系列 6.8创建按钮及其点击事件监听器
6.8创建按钮及其点击事件监听器 问题 当用户按下按钮时,您需要执行某些操作。 解 在布局中创建按钮,并使用OnClickListener()实现,使其在单击时执行相关操作。 讨论 在布局中创建按钮很简单。在XML布局中,您可以创建如下按钮: <Buttonandroid:id="@+id/...
24
热度 -
[综合] Android 系列 6.10使用FloatingActionButton
6.10使用FloatingActionButton 问题 您想要一个圆形图形按钮,它会出现在应用程序的前面,类似于许多Google应用程序上的“+”按钮。你想要响应这样的按钮被按下。 解 使用FloatingButton。 讨论 FloatingActionButton出现在应用程序窗口的右下角,...
44
热度 -
[综合] Android 系列 6.14通过旋转器类提供下拉选择器
6.14通过旋转器类提供下拉选择器 问题 您想要提供一个下拉选项。 解 使用Spinner对象;您可以将选择列表作为适配器传递。 讨论 通常称为组合框,微调框是HTML选择或SwingJComboBox的模拟。它提供了一个下拉选择器,当单击旋转器时,其值显示为浮动在屏幕上。可以选择一个项目,浮动版本...
62
热度 -
[综合] Android 系列 6.15处理长时间点击事件
6.15处理长时间点击事件 问题 您想要监听长时间点击的事件并对其做出反应,而无需手动检查多个事件。 解 使用View类的setLongClickable()和setOnLongClickListener()方法,并提供一个OnLongClickListener。 讨论 View类有一个方法setL...
8
热度 -
[综合] Android 系列 6.16使用TextView和EditText显示文本字段
6.16使用TextView和EditText显示文本字段 问题 您想在屏幕上显示文本,只读或可编辑。 解 当您希望用户对文本具有只读访问权限时使用TextView;这包括大多数其他GUIAPI包称为Label,在android.widget中没有显式的Label类。当您希望用户对文本具有读写访问权...
92
热度