本篇文章为大家展示了Android中怎么实现数据传递,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
公司主营业务:成都做网站、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出霍邱免费做网站回馈大家。
Activity之间的传值
在Activity之间传值,我们是通过Intent来完成的。这部分相信有点基础的兄弟们都会知道我们是利用Intent的Extra部分来存储我们想要传递的data的。举例如下:
Intent i = new Intent(this, YourClass.class); i.putExtra(YOURDATA, data); startActivity(i); Intent i = new Intent(this, YourClass.class); i.putExtra(YOURDATA, data); startActivity(i);
这里需要注意的是putExtra method,它的***个参数必须有package前缀,也就是说我们不能随意指定一个String,而必须带有package prefix,如例子中我们可以定义YOURDATA如下:
public final static String YOURDATA =
"com.javaeye.notfatboy.testArg";ublic final static String YOURDATA =
"com.javaeye.notfatboy.testArg";
而第二个参数可以是int, long, char等等很多种类型,具体见putExtra()
Android判断网络状态方法详解
Android单元测试源码解读
Android Jni代码示例讲解
Android安装卸载程序具体操作方法解析
Android Shell命令相关内容讲解
实际上Intent的使用范围要广泛的多,我们可以在任何使用Intent的地方来通过Extra进行传值,推而广之,我们也可以给Service传值,给Broadcast Receiver传值,而这也说明了另一个问题,即我们可以通过这种方式在不同的进程和线程之间进行传值,因为Activity,Service,Broadcast这些Components可以在不同的进程或者线程之中,这也是Android为我们提供的一个轻量级的进程,线程间通信的方式。
除此之外,Android还为我们提供了一些稍微复杂点的传值机制,就Thread而言,我们可以通过Message Queue来实现Android数据传递。
Messag Queue
Message Queue是个非常有用而且有趣的机制。假设我们有两个Thread,一个是thread A,另一个是thread B。 thread A有一个Message Queue,并且对应一个Handler来处理Message,这是只要thread B获取了该Handler的reference就可以给发送消息给Thread A。举例如下:
public class ThreadB extends Thread { .... public void run(){ ... String str = "Test String"; Message msg = mHandler.obtainMessage(1, str); mHandler.sendMessage(msg); .. } } public class ThreadB extends Thread { .... public void run(){ ... String str = "Test String"; Message msg = mHandler.obtainMessage(1, str); mHandler.sendMessage(msg); .. } }
上述内容就是Android中怎么实现数据传递,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。