• Android一键复制粘贴开发实例

    在看开发实例之前,我们先来了解一下如何设计有效的复制粘贴功能。

    要为应用程序设计高效的复制与粘贴功能,需要注意以下几点:

    1. 任何时候剪贴板中都只有一个 clip。系统中任何应用程序执行了新的复制操作,都会覆盖之前的 clip 。由于用户可能会跳离应用程序,并在返回前执行复制,因此不能确定剪贴板中包含前一次在该程序中复制的内容。
    2. 设计 clip<span="">ClipData.Item 对象的初衷是为了支持一次复制/粘贴多个选项,而不是为了单个选项能包含多种不同的格式。通常一个 clip 中的所有 ClipData.Item 对象都应该具有相同的格式,也就是说,所有对象要么是简单文本,要么是 Content URI 或者 Intent,而不能混在一起使用。
    3. 提供数据时,可以提交各种不同的 MIME 描述。把所支持的 MIME< span=""> 给 ClipDescription 对象,然后在 Content Provider 中实现这些 MIME 类型。
    4. 从剪贴板读取数据时,应用程序对可用的MIME类型进行检查,然后决定要使用哪些类型。即使剪贴板中存在 clip,用户也请求了粘贴,应用程序不一定要执行粘贴,而是在 MIME 类型能够兼容时才执行粘贴,可以选用 coerceToText() 把剪贴板数据强制转换成文本。如果应用程序能支持多种 MIME 类型,用户先选择其中一种使用。

    下面实例 ClipBoardDemo 修改自 Android SDK 中的 Demo,演示了 Android 的剪贴板对于带格式文本、无格式文本、HTML文本、Intent 和 URI 的粘贴效果,并可以将这几种数据格式进行相互转化。该实例的运行效果如图 1 所示。

    ClipBoardDemo 的运行效果
    图 1  ClipBoardDemo 的运行效果

更多...

加载中...