20.11.2016 Views

ANDROID APP

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

292 บทที่ 11 เทคนิคขั้นสูงสำาหรับพัฒนาแอพบนแอนดรอยด์<br />

หลังจากที่เซอร์วิสเชื่อมโยงกันแล้ว onServiceConnected ก็จะเรียกฟังก์ชั่นที่ต้องการใช้งาน<br />

และส่งผ่านค่า IBinder ไปยังอินสแตนซ์ IAdditionService ซึ่งแอคทิวิตี้ rpc ก็จะสามารถเรียก<br />

ใช้เมธอด factorial โดยแสดงผลลัพธ์การทำงานเหมือนในรูปที่ 11.3<br />

ชุดคำสั่งที่ 11.11 src/com/cookbook/advance/rpc/rpc.java<br />

package com.cookbook.advance.rpc;<br />

import android.app.Activity;<br />

import android.content.ComponentName;<br />

import android.content.Context;<br />

import android.content.Intent;<br />

import android.content.ServiceConnection;<br />

import android.os.Bundle;<br />

import android.os.IBinder;<br />

import android.os.RemoteException;<br />

import android.view.View;<br />

import android.view.View.OnClickListener;<br />

import android.widget.Button;<br />

import android.widget.EditText;<br />

import android.widget.TextView;<br />

import android.widget.Toast;<br />

public class rpc extends Activity {<br />

IAdditionService service;<br />

myServiceConnection connection;<br />

class myServiceConnection implements ServiceConnection {<br />

public void onServiceConnected(ComponentName name,<br />

IBinder boundService) {<br />

service = IAdditionService.Stub.asInterface((IBinder) boundService);<br />

Toast.makeText(rpc.this, "Service connected", Toast.LENGTH_SHORT)<br />

.show();<br />

}<br />

public void onServiceDisconnected(ComponentName name) {<br />

service = null;<br />

Toast.makeText(rpc.this, "Service disconnected", Toast.LENGTH_SHORT)<br />

.show();<br />

}<br />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!