UI高级_Service获取随机数
Service
package com.example.week3lianxi.service;
import java.util.Random;
import android.app.Service;
import android.content.Intent;
import android.os.Binder;
import android.os.IBinder;
public class MyBindService extends Service {
public class MyBind extends Binder{
public String getRandom() {
//获取随机对象
Random random = new Random();
//返回随机数
int s = random.nextInt(9);
return ""+s;
}
public String sum(String one,String two) {
Integer x = Integer.valueOf(one);
Integer y = Integer.valueOf(two);
int sum = x+y;
return ""+sum;
}
}
//创建内部类对象
private MyBind bind = new MyBind();
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return bind;
}
//注册
String tag = "MyBindService";
}
Fragment
package com.example.week3lianxi;
import android.app.Service;
import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.IBinder;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.example.week3lianxi.service.MyBindService;
import com.example.week3lianxi.service.MyBindService.MyBind;
public class Frag_02 extends Fragment {
private View view;
private MyBindService.MyBind bind;
//创建对象
ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceDisconnected(ComponentName name) {
// TODO Auto-generated method stub
}
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
bind = (MyBind) service;
}
};
private Button sui;
private EditText first;
private EditText second;
private Intent intent;
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,Bundle savedInstanceState) {
view = inflater.inflate(R.layout.frag_02, container, false);
intent = new Intent(getActivity(),MyBindService.class);
getActivity().bindService(intent, connection, Service.BIND_AUTO_CREATE);
sui = (Button) view.findViewById(R.id.sui);
sui.setOnClickListener(new OnClickListener() {
private EditText second2;
@Override
public void onClick(View v) {
//获取随机数
String random = bind.getRandom();
first = (EditText) view.findViewById(R.id.first);
second = (EditText) view.findViewById(R.id.second);
String firstText = first.getText().toString();
if (firstText.equals("")) {
first.setText(random);
}else{
second.setText(random);
}
}
});
view.findViewById(R.id.sum).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String s1 = first.getText().toString();
String s2 = second.getText().toString();
String sum = bind.sum(s1, s2);
Toast.makeText(getActivity(), sum+"", 0).show();
}
});
return view;
}
@Override
public void onDestroy() {
getActivity().unbindService(connection);
}
}