- 浏览: 120037 次
- 性别:
- 来自: 成都
文章分类
首先继承Service
创建一个aidl文件 ICountService.aidl,这时会在gen目录下生成一个java文件,将java文件打包成jar。
修改manifest.xml
客户端:首先包含刚才的jar包,
package com.tcl.kang.demo; import com.tcl.kang.demo.ICountService; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.RemoteException; public class MyService extends Service { @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); } private ICountService.Stub myBinder = new ICountService.Stub() { @Override public int getCount() throws RemoteException { // TODO Auto-generated method stub return 0; } }; @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stubk return myBinder; } }
创建一个aidl文件 ICountService.aidl,这时会在gen目录下生成一个java文件,将java文件打包成jar。
package com.tcl.kang.demo; interface ICountService { int getCount(); }
修改manifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tcl.kang.demo" android:versionCode="1" android:versionName="1.0"> <application> <service android:name=".MyService"> <intent-filter> <action android:name="com.tcl.kang.demo.MyService" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </service> </application> <uses-sdk android:minSdkVersion="8" /> </manifest>
客户端:首先包含刚才的jar包,
package com.tcl.testservice2; import android.app.Activity; import android.content.ComponentName; import android.content.Intent; import android.content.ServiceConnection; import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; import com.tcl.kang.demo.ICountService; public class TestService2Activity extends Activity { private ICountService countService; private ServiceConnection myConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { countService = (ICountService.Stub.asInterface(service)); try { Log.v("", "kang: count="+countService.getCount()); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub countService = null; } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bindService(new Intent("com.tcl.kang.demo.MyService"),myConnection, BIND_AUTO_CREATE); } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); unbindService(myConnection); } }
发表评论
-
ubuntu16 OpenGrok配置多项目
2019-03-29 14:26 1206以前的博客介绍过OpenGrok配置一个项目,这里介绍下 ... -
android adb shell su设置密码
2019-03-26 14:02 25951.打开su源码在system/extras/su/su. ... -
make日志同时输出到控制台和文件
2019-03-22 10:23 12730 标准输入 stdin = standard in ... -
增加自定义property目录
2019-03-18 10:04 365打开文件system/core/init/property ... -
recovery增加打印到串口和增加复制代码
2019-03-07 09:49 634项目里需要调试recover,网上查了部分资料,增加了 ... -
android adb shell命令启动应用
2019-03-01 13:33 13961.执行adb shell 2.这里以打开设置为例: ... -
android HAL层例子
2019-02-27 11:15 1200上一篇文章已经写了led驱动,这篇文章我们再封装HAL层 ... -
FireFlay开发板点亮LED驱动开发
2019-02-22 11:09 518实现功能,点亮LED,参考了网上部分代码。 1.在目 ... -
RK3288 默认打开adb调试
2019-02-19 14:03 2225在文件:vendor/rockchip/firefly/us ... -
RK3288 修改开机动画和开机图片
2019-02-18 11:25 1829开机动画: 1.创建一个目录frameworks/ba ... -
android系统修改默认语言为中文
2019-02-18 11:19 885修改 build/target/product/full_b ... -
ubuntu OpenGrok的搭建
2019-02-18 11:15 1018下载apache-tomcat-8.5.37和opengro ... -
gradleview错误定位
2019-01-08 14:39 3851、打开cmd,进入项目的gradle所在目录 2、键入gra ... -
安卓系统签名转keystore
2017-11-23 10:53 1230./keytool-importkeypair -k ./de ... -
抓jni日志
2017-11-16 14:29 378建一个sh文件,内容如下,将crash内容复制到crash.t ... -
android使用ffmpeg库
2017-03-15 09:42 6391.建立一个安卓工程,创建jni目录,将上一篇文章中的库和头文 ... -
FFMPEG android 库编译
2017-03-14 13:57 6501.首先下载ffmpeg源码:http://www.ffmpe ... -
Windows搭建OpenGrok
2014-12-08 11:33 16691.下载opengrok-0.11.1.tar.gz 二进制包 ... -
怎么给apk签名
2014-11-08 21:51 674jarsigner -verbose -keystore 证书 ... -
OpenGrok搜索技巧
2014-09-26 15:59 2733+ 表示包含此字符串,- 表示包含此字符串。例如在 Full ...
相关推荐
本篇文章将深入解析"android service 简单实例源代码",帮助你理解如何在Android应用中创建和使用Service。 首先,我们来了解一下Service的基本概念。Service主要分为两种类型:标准Service和IntentService。标准...
Android Service实例的使用是开发者必备的技能,尤其对于那些需要在后台持续运行的任务,如音乐播放、定时任务或者网络通信等场景。 **服务的生命周期** Service的生命周期由系统控制,主要涉及以下方法: 1. `...
本篇文章将深入探讨`Android Service`的实例,帮助开发者更好地理解和运用这一核心功能。 首先,Service的基本概念是:它是一个没有用户界面的后台组件,可以执行长时间的操作,比如播放音乐、处理网络请求或同步...
本实例将深入探讨如何在Android应用中使用Service,包括Service的基本概念、生命周期、启动方式以及与Activity的交互。 Service的基本概念: Service是Android系统中的一个组件,用于在后台执行任务,例如播放音乐...
本实例将深入探讨Android Service的使用、实现及其相关知识点,结合源码分析来提升对Service的理解。 1. **Service基础概念** - Service是在Android系统中用于在后台执行长时间运行操作而没有用户界面的应用组件。...
本篇文章将深入探讨`startService`类型的Android Service,通过一个简单的实例来展示其工作原理和使用方法。 `Service`分为两种主要类型:`Start Service`和`Bound Service`。`Start Service`主要用于执行非交互式...
在这个"android intent service实例"中,我们将深入探讨Intent Service的工作原理、创建过程以及如何在实际应用中使用。 Intent Service的基本概念: 1. 工作队列:Intent Service使用一个工作队列来顺序处理Intent...
本文将通过四个小实例详细介绍Android Service的四种启动方式:启动方式、绑定方式、线程方式以及AIDL(Android Interface Definition Language)方式。 1. 启动方式的Service 启动方式的Service是最常见的,它在...
本教程将深入探讨“android--service实例”,讲解如何创建、启动、绑定以及管理Service。 首先,我们来理解Service的基本概念。在Android应用开发中,Service主要用于处理那些不需要用户界面但需要后台运行的任务,...
7. **多线程与并发**:Android应用需要处理复杂的多线程场景,源码可能包含Handler、AsyncTask、Thread、Service等的使用,以实现后台任务和避免主线程阻塞。 8. **权限管理**:随着Android系统对权限管理的加强,...
本实例将详细介绍如何在Android中实现远程Service调用,主要涉及AIDL(Android Interface Definition Language)以及Parcelable接口的使用。 **1. Android远程Service** 远程Service是Android系统中实现不同应用...
在Android应用开发中,Remote Service是一种允许不同应用进程间通信并执行操作的服务。Remote Service能够使得应用程序组件(如Activity)可以跨进程调用服务中的方法,实现数据共享或执行耗时任务,而不阻塞用户...
本教程将深入探讨Android Service的开发实例,帮助开发者理解如何在Android应用程序中使用Service来实现后台任务。 首先,我们需要了解Service的基本概念。Service是在Android系统中运行的一个组件,它可以长时间...
8. Android组件:Fragment、Intent、Service、BroadcastReceiver等组件的使用方法也是实例的重要部分,它们构成Android应用的核心架构。 9. 第三方库集成:许多第三方库如ButterKnife、Dagger2、Retrofit、RxJava等...
`Service`创建一个`LocalBroadcastManager`实例,发送广播;`Activity`在需要接收数据的地方注册Receiver。 - **使用Binder**:如果`Activity`和`Service`在同一个进程中,可以使用`Binder`。创建一个实现了`...
在Android开发领域,实例是学习和提升技能的关键途径。"Android开发实例大全源码第一部分"提供了1-80个案例的源代码,这是一份宝贵的资源,可以帮助开发者深入理解Android应用开发的各种技术和实践。下面将针对这些...
总之,"Android Service Demo"是一个展示如何利用Service和AIDL进行进程间通信的实例。通过学习和实践这个Demo,开发者可以更好地理解和掌握Android中Service和AIDL的使用,提升应用的扩展性和功能。在开发过程中,...