HoneyComb3.0技术系列之ClipBoard

    技术2022-05-19  21

    1. 概述:

     

        在HoneyComb3.0中出现了类似Windows剪贴板的功能,它可以方便的在某一个应用程序中或者不同的应用程序之间剪切,复制,粘贴内容。能

     

        被剪切,复制,粘贴的内容有三类:普通字符串,URL和Intent。

     

    2. 使用流程:

     

        (1)获取剪贴板管理器:

     

                ClipboardManager mClipboardManager = (ClipboardManager)getSystemService(CLIPBOARD_SERVICE);

     

        (2)创建能够存入剪贴板的ClipData对象(ClipData对象中包含一个或多个ClipData.Item对象):

     

                A. 创建普通字符型ClipData:ClipData mClipData = ClipData.newPlainText("Label", "Content");

     

                B. 创建URL型ClipData:ClipData.newRawUri("Label", Uri.parse("http://www.fishme.cn/"));

     

                C. 创建Intent型ClipData:ClipData.newIntent("Label", intent);

     

                注意:上面三种方法只在ClipData对象中创建了一个ClipData.Item对象,如果想向ClipData对象中添加多个Item应该通过ClipData对象的

     

                addItem()方法添加。

     

        (3)将ClipData数据复制到剪贴板:ClipboardManager.setPrimaryClip(ClipData对象);    

     

        (4)从剪贴板中获取ClipData数据:ClipboardManager.getPrimaryClip();

     

           (5)解析ClipData中的数据。

     

    3. 普通字符串,URL和Intent三种数据使用情况:

     

        (1)普通字符:就是普通字符串的剪切,复制,粘贴。

     

        (2)URL:在复制的时候可以复制一个URL,这个URL可以是请求ContentProvider的URL,在粘贴的时候调用ContntProvider获取数据,

     

                并使用。

     

        (3)Intent:如,在记事本应用中长按某一个记录本条目,这时会创建删除这个记事本的Intent,并添加到剪贴板,当用户将这个记事本条目拖

     

            到垃圾桶松开时,应用会从剪贴板中获取Intent并执行,这个记事本条目就被删除了。


    最新回复(0)