Ø在Activity之间数据传递还可以利用一些技巧,不管是Windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据。
Ø案例一
package com.android.myintent; import java.io.ByteArrayOutputStream; import java.io.ObjectOutputStream; import java.net.ContentHandler; import android.R.color; import android.R.integer; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.ClipboardManager; import android.util.Base64; import android.view.View; import android.widget.Button; public class Main extends Activity { /** Called when the activity is first created. */ private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub // 从android系统中调用剪切板的服务 // ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); // String name = "jack"; // clipboardManager.setText(name); // Intent intent = new Intent(Main.this, OtherActivity.class); // startActivity(intent); MyData myData = new MyData("jack", 23); //将对象转换成字符串 ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); String base64String = ""; try { ObjectOutputStream objectOutputStream = new ObjectOutputStream(byteArrayOutputStream); objectOutputStream.writeObject(myData); base64String = Base64.encodeToString(byteArrayOutputStream.toByteArray(), Base64.DEFAULT); objectOutputStream.close(); } catch (Exception e) { // TODO: handle exception } ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE); clipboardManager.setText(base64String); Intent intent =new Intent(Main.this,OtherActivity.class); startActivity(intent); } }); } }
package com.android.myintent; import java.io.ByteArrayInputStream; import java.io.ObjectInputStream; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.text.ClipboardManager; import android.util.Base64; import android.widget.TextView; public class OtherActivity extends Activity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.other); textView = (TextView) this.findViewById(R.id.msg); ClipboardManager clipboardManager = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); String msgString = clipboardManager.getText().toString(); byte[] base64_byte = Base64.decode(msgString, Base64.DEFAULT); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream( base64_byte); try { ObjectInputStream objectInputStream = new ObjectInputStream( byteArrayInputStream); MyData myData = (MyData) objectInputStream.readObject(); textView.setText(myData.toString()); } catch (Exception e) { // TODO: handle exception } } }
package com.android.myintent; import java.io.Serializable; public class MyData implements Serializable { private String name; private int age; public MyData(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "MyData [name=" + name + ", age=" + age + "]"; } }
相关推荐
在Activity之间数据传递还可以利用一些技巧,不管是Windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据。
"Android 使用剪切板传递数据" Android 使用剪切板传递数据是 Android 应用程序中的一种常见技术,主要用于在 Activity 之间传递数据。剪切板技术可以在 Windows 和 Linux 操作系统中使用,在 Android 系统中也存在...
然而,另一种不那么常用但功能强大的方式是利用系统的剪切板(Clipboard)来传递数据。这种方法尤其适用于临时性的数据交换,比如用户复制粘贴的操作。在本篇学习笔记中,我们将探讨如何使用剪切板在Activity之间...
4种最常用的Intent传递方式,这4种方式如下: 1、通过Intent传递数据 2、通过静态变量传递数据 3、通过剪切板传递数据 4、通过全局变量传递数据
总结来说,微信小程序的一键复制到剪切板功能的实现,涉及到了微信小程序的API调用、事件绑定、数据传递等基础知识。对于想要提升自己小程序开发能力的开发者来说,掌握如何在小程序中实现这样的功能,是一项非常...
剪切板是操作系统提供的一种临时数据存储区域,可以存放文本、图像等各种类型的数据。在Windows系统中,我们可以使用API函数如OpenClipboard、EmptyClipboard、SetClipboardData等操作剪切板内容。当用户复制或剪切...
本主题将深入探讨如何在Unity中调用Android和iOS的剪贴板功能,这对于游戏内分享文本信息、保存用户数据或者在不同应用间传递信息等场景非常有用。 首先,我们来看Android平台。Android系统提供了ClipboardManager...
在Activity之间数据传递中还有一种比较实用的方式 就是全局对象 实用J2EE的读者来说都知道Java Web的四个作用域 这四个作用域从小到大分别是Page Request Session和Application 其中Application域在应用程序的任何...
综上所述,Android的剪贴板功能为开发者提供了方便的数据共享途径,通过合理的使用和管理,可以极大地提升用户体验。在`clipboard_demo`这样的示例项目中,你可能会看到如何实现这些功能的完整代码和交互流程。
在Activity之间传递数据还可以利用一些技巧,不管windows还是Linux操作系统,都会支持一种叫剪切板的技术,也就是某一个程序将一些数据复制到剪切板上,然后其他的任何程序都可以从剪切板中获取数据,在Android系统...
Android4.0入门之参数传递4种方式: 1.通过Intent方式传参 2.通过系统剪切板传参、需要对象转化成Base64的字符串进行传递 3.通过Application全局对象传值 4.通过Activity中的静态变量传参
Android入门介绍视频,1.1 android系统介绍,1.2 android系统框架的介绍,1.3 如何搭建android开发环境,1.4 android生命周期的介绍,1.5 android使用全局变量传递数据,1.6 android使用剪切板传递数据,1.7 意图传递数据...
1.6 android使用剪切板传递数据 1.7 意图传递数据的第一种方式 1.8 android使用静态变量传递数据 1.9 意图返回结果 二、Android常用布局介绍 2.1 android常用布局属性的介绍 2.2 android线性布局的介绍 2.3 android...
总结起来,Android剪贴板提供了灵活的数据交换机制,无论是简单的文本还是复杂的多媒体数据,都可以通过剪贴板轻松地在应用间传递。开发者可以通过`ClipboardManager`及其相关类来实现这一功能,从而提升用户在不同...