基本信息
源码名称:android Aidl 例子源码下载
源码大小:1.39M
文件格式:.rar
开发语言:Java
更新时间:2015-12-18
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 3 元 
   源码介绍
数据传递的aidl


package com.example.testaidl;

import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.ComponentName;
import android.content.Context;
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 android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.os.Build;

public class MainActivity extends Activity implements OnClickListener {

	private Button btn_start,btn_stop;
	private TextView tv_sting;
	private ceshiAIDL aidl=null;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn_start = (Button)findViewById(R.id.btn_01);
        btn_stop = (Button)findViewById(R.id.btn_02);
        btn_stop.setEnabled(false);
        tv_sting = (TextView)findViewById(R.id.tv_01);
        btn_start.setOnClickListener(this);
        btn_stop.setOnClickListener(this);
    }

    private ServiceConnection serviceConnection = new ServiceConnection() {

		@Override
		public void onServiceConnected(ComponentName arg0, IBinder service) {
			Log.i(this.getClass().getName(), "连接服务成功!!");
			aidl = ceshiAIDL.Stub.asInterface(service);
			btn_stop.setEnabled(true);
		}

		@Override
		public void onServiceDisconnected(ComponentName arg0) {
			Log.i(this.getClass().getName(), "断开服务成功!!");
		}
    };

    
	@Override
	public void onClick(View v) {
         switch (v.getId()) {
		case R.id.btn_01:
			// 绑定AIDL服务 
			bindService(new Intent("com.example.testaidl.ceshiAIDL"), serviceConnection, Context.BIND_AUTO_CREATE);
			break;
         case R.id.btn_02:
			try {
				// 调用服务端的getValue方法
				tv_sting.setText(aidl.getValue());
			} catch (RemoteException e) {
				e.printStackTrace();
			}
			break;
		default:
			break;
		}		
	}
}