service和activity之间的数据交互 (从activity传数据给service,又从service传数据给activity),这样的使用在安卓开发中是比较有深度的使用方式。下面我们就来介绍一下它的使用。
整体思路:在xml文件中放置一个TextView控件,三个Button控件,定义一个MyService类,继承Service,在onBind方法中返回LocalBinder对象,定义getRandom方法,返回一个随机数,定义一个LocalBinder类,继承Binder,在这个类中定义getService方法返回service对象,重写onTransact方法接收从activity中传递的数据并向activity中传递数据。在activity中,定义三个Button的点击事件,在第一个点击事件中绑定Service,在第二个点击事件中调用service的产生随机数的方法,并将获取的结果绑定到TextView控件上,在第三个点击事件中向service传递数据并获取从service中传递的数据。这样就完成了service和activity之间的数据交互。
activity_main.xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="51dp"
android:text="@string/hello_worl

本文探讨了在安卓应用开发中Service与Activity之间的数据交互,详细讲解了如何从Activity向Service传递数据,再从Service回传数据。通过创建XML布局文件,设置TextView和Button,定义MyService类并实现LocalBinder,以及在Activity中处理按钮点击事件来完成数据的双向传递。此方法为安卓深度开发中的重要实践。

353

被折叠的 条评论
为什么被折叠?



