aidl service example
来源:互联网 发布:公云域名 靠谱吗 编辑:程序博客网 时间:2024/05/21 21:48
service file:
package com.ya.cc;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.RemoteException;
import android.util.Log;
import java.lang.Runnable;
import com.ya.cc.IServiceInter;
public final class myService extends Service
{
private int count;
private boolean threadDisable =false;
private IServiceInter.Stub serviceBinder = new IServiceInter.Stub()
{
public int getCount()
{
return count;
}
public int start_int(int num)
{
Log.v("service", "start success");
return num;
}
public void start_string(String ss)
{
Log.v("service","receive string: "+ss);
}
};
@Override
public IBinder onBind(Intent intent)
{
return serviceBinder;
}
@Override
public void onCreate()
{
super.onCreate();
new Thread(new Runnable()
{
//@Override
public void run()
{
while(!threadDisable)
{
try
{
Thread.sleep(1000);
}
catch(InterruptedException e)
{}
count++;
Log.v("service","count: "+count);
}
}
}).start();
}
@Override
public void onDestroy()
{
super.onDestroy();
this.threadDisable = true;
Log.v("service","on destroy");
}
}
/×××××××××××××× aidl file ×××××××××××××××××××××××××××××××××××××××××××××××××××/
package com.ya.cc;
interface IServiceInter
{
int getCount();
int start_int(int num);
void start_string(String ss);
}
/××××××××××××××× client file ×××××××××××××××××××××××××××××××××××××××××××××××/
package com.ya.cc;
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.util.Log;
public class activity01 extends Activity {
private IServiceInter conuntService;
private ServiceConnection serviceConnection = new ServiceConnection()
{
//@Override
public void onServiceConnected(ComponentName name, IBinder service)
{
conuntService = (IServiceInter.Stub.asInterface(service));
try {
Log.v("service", "on serivce connected, count is "
+ conuntService.getCount());
} catch (Exception e) {
throw new RuntimeException(e);
}
try
{
Log.v("service","get num "+conuntService.start_int(10000));
}
catch(Exception e)
{
}
try
{
conuntService.start_string("string args use");
}
catch(Exception e)
{
}
}
//@Override
public void onServiceDisconnected(ComponentName name)
{
conuntService = null;
}
};
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Log.v("service","start service");
this.bindService(new Intent("com.ya.cc.myService"), this.serviceConnection, BIND_AUTO_CREATE);
}
@Override
protected void onDestroy()
{
super.onDestroy();
this.unbindService(serviceConnection);
}
}
- aidl service example
- Service AIDL
- service aidl
- service、aidl
- AIDL Service
- Service--AIDL
- Service, AIDL
- Service Intent must be explicit: Intent { act=com.example.evalee.aidl }
- Service Broker Simple Example
- 通过AIDL调用Service
- 通过AIDL调用Service
- 使用AIDL写Service
- Android Service 之 AIDL
- AIDL service 和Messager
- android aidl service
- Android Service AIDL
- Android AIDL创建Service
- Service与AIDL详解
- (2010-06-23)使用SQLServer中COALESCE()函数的两种方法
- myeclipse6.5上基于JAX-WS开发Webservice(中文示例)
- 如何正确规划自己的人生
- Linux下 fcntl 函数用法说明
- 如何通过消息传递字符串信息
- aidl service example
- 文件 大小 格式化 size format
- fzu 1926 填空 【kmp字符串匹配】
- 命令行设置系统环境变量
- 对模板新的理解 ----- 模板和虚函数结合使用的新发现
- jsp 和 servlet 区别
- 常用命令
- 求对称数
- 说说游戏服务器