在Android开发中我们经常要遇到的一个问题就是数据在不同的Activity之间的共享。在Android开发中有很多种方法可以达到这个目地。
这里介绍一种比较常见、又常用的一种方法就是使用剪切板。我们都有用过Window、Linux上的Copy。这里介绍的就是这种。
调用服务
ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
这里需要注意的是,在android版本11之前,利用剪切板传递数据是使用setText和getText方法,但在版本11以后,这两个getText和set方法就被丢弃了,转而代替的是需要用到ClipData对象来传递数据。相比于getText和setText方法,利用ClipData对象来传递数据,更符合面向对象的编程思维,且所能传递数据的类型也更多。关于ClipData对象的说明,请参阅ClipData对象说明。
这里介绍的是利用ClipData传递字符串
1.将值写入剪切板
ClipData cd = ClipData.newPlainText("label", baseToString);
clipboardManager.setPrimaryClip(cd);
2.读取剪切板的值
if(cm.getPrimaryClipDescription().hasMimeType(ClipDescription.MIMETYPE_TEXT_PLAIN))
{
ClipData cd = cm.getPrimaryClip();
Item it