Androidノート-ブロードキャストとサービス2
6938 ワード
サービスの2つの起動方式(把握)
指導者を探して証明書を発行する
Intent intent = new Intent(this, BanZhengService.class);
bindService(intent, conn, BIND_AUTO_CREATE);
class MyServiceconn implements ServiceConnection{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
zjr = (PublicBusiness) service;
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
} conn = new MyServiceconn();
class ZhongJianRen extends Binder implements PublicBusiness{
public void QianXian(){
// banZheng
BanZheng();
}
public void daMaJiang(){
}
}2つの起動方法を混合して使用する(把握する)
サービスを使用してブロードキャスト受信者を登録する(把握)
//
receiver = new ScreenOnOffReceiver();
// IntentFilter
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
//
registerReceiver(receiver, filter);
unregisterReceiver(receiver);
≪ローカル・サービス|Local Services|emdw≫:サービスと起動コンポーネントが同じプロセスにあります。
リモート・サービス:サービスと起動コンポーネントが同じプロセスではありません
AIDL(把握)
アリペイリモートサービス
支払いが必要なアプリケーション
5つのフロントプロセス(把握)
2つの可視プロセス(把握)
ダイアログ
OKキャンセルダイアログボックス(把握)
AlertDialog.Builder builder = new Builder(this);
builder.setTitle(" ");
builder.setMessage(" , ");
builder.setPositiveButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " , ", 0).show();
}
});
builder.setNegativeButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Toast.makeText(MainActivity.this, " , ", 0).show();
}
});
AlertDialog ad = builder.create();
ad.show();
ラジオダイアログ(熟知)
AlertDialog.Builder builder = new Builder(this);
builder.setTitle(" ");
final String[] items = new String[]{
" ", " ", " "
};
//-1
//
builder.setSingleChoiceItems(items, -1, new OnClickListener() {
//which
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, " " + items[which], 0).show();
//
dialog.dismiss();
}
});
builder.show();
[複数選択](Multiple Selection)ダイアログボックス(詳細)
AlertDialog.Builder builder = new Builder(this);
builder.setTitle(" ");
final String[] items = new String[]{
" ",
" ",
" ",
" "
};
//true
final boolean[] checkedItems = new boolean[]{
true,
false,
false,
false,
};
builder.setMultiChoiceItems(items, checkedItems, new OnMultiChoiceClickListener() {
// , , isChecked true
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
checkedItems[which] = isChecked;
}
});
builder.setPositiveButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
StringBuffer sb = new StringBuffer();
for(int i = 0;i < items.length; i++){
sb.append(checkedItems[i] ? items[i] + " " : "");
}
Toast.makeText(MainActivity.this, sb.toString(), 0).show();
}
});
builder.show();