• 服务bindService()方法启动服务


    public class MainActivity extends Activity {
        private EditText studentno;
        private ServiceConnection conn = new StudentServiceConnection();
        private IStundent iStundent;
        private TextView resultView;
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            resultView = (TextView) this.findViewById(R.id.resultView);
            studentno = (EditText) this.findViewById(R.id.studentno);
            Button button = (Button) this.findViewById(R.id.button);
            button.setOnClickListener(new ButtonClickListener());
            Intent service = new Intent(this, StudentService.class);
            bindService(service, conn, BIND_AUTO_CREATE);
        }
        
        private class StudentServiceConnection implements ServiceConnection{
            public void onServiceConnected(ComponentName name, IBinder service) {
                iStundent = (IStundent)service;
            }
            public void onServiceDisconnected(ComponentName name) {
                iStundent = null;
            }
        }
        
        @Override
        protected void onDestroy() {
            unbindService(conn);
            super.onDestroy();
        }
    
        private final class ButtonClickListener implements View.OnClickListener{
            public void onClick(View v) {
                String no = studentno.getText().toString();
                String name = iStundent.queryStudent(Integer.valueOf(no));
                resultView.setText(name);
            }
        }
    }
    public class StudentService extends Service{
        private String[] names = {"张飞","李小龙","赵薇"};
        private IBinder binder = new StundentBinder();
        
        public String query(int no){
            if(no>0 && no<4){
                return names[no - 1];
            }
            return null;
        }
        
        @Override
        public IBinder onBind(Intent intent) {
            return binder;
        }
        
        private class StundentBinder extends Binder implements IStundent{
            public String queryStudent(int no) {
                return query(no);
            }
        }
    
    }
    public interface IStundent {
        public String queryStudent(int no);
    }

     

  • 相关阅读:
    成为JAVA(高级)工程师
    JVM的内存区域划分以及垃圾回收机制
    XML
    String.valueOf
    JAVA书籍(2)
    JAVA书籍(1)
    深入JAVA线程池
    FileWriter与BufferedWriter
    获取下拉框的文本或值
    删除字符串最后一个字符的几种方法
  • 原文地址:https://www.cnblogs.com/heml/p/3515355.html
Copyright © 2020-2023  润新知