【代码】Android -- Activity 、Service、BroadcastReceiver 综合使用

来源:互联网 发布:仙剑奇侠传6结局 知乎 编辑:程序博客网 时间:2024/05/12 17:34
动态改变UI界面:


Activity:

public class MainActivity extends Activity implements OnClickListener {    private BroadcastReceiver br = new BroadcastReceiver() {        @Override        public void onReceive(Context context, Intent intent) {            int val = intent.getIntExtra("name", 0);            tv.setText(val + "");        }    };    private Button startbtn, stopbtn;    private TextView tv;    private Intent i;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 动态注册        registerReceiver(br, new IntentFilter("Action1"));        startbtn = (Button) findViewById(R.id.start);        stopbtn = (Button) findViewById(R.id.stop);        tv = (TextView) findViewById(R.id.tv);        startbtn.setOnClickListener(this);        stopbtn.setOnClickListener(this);        i = new Intent(MainActivity.this, MyService.class);    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.start:            startService(i);            break;        case R.id.stop:            stopService(i);            break;        }    }    @Override    protected void onDestroy() {        super.onDestroy();        unregisterReceiver(br);// 取消注册    }}


Service:


public class MyService extends Service {    private Timer timer;    private TimerTask task;    private int j = 0;    @Override    public IBinder onBind(Intent intent) {        // TODO Auto-generated method stub        return null;    }    @Override    public void onCreate() {        // TODO Auto-generated method stub        super.onCreate();    }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        startTimer();        return super.onStartCommand(intent, flags, startId);    }    @Override    public void onDestroy() {        stopTimer();        super.onDestroy();    }    public void startTimer() {        timer = new Timer();        task = new TimerTask() {            @Override            public void run() {                j++;                Intent i = new Intent();                i.setAction("Action1");                i.putExtra("name", j);                sendBroadcast(i);            }        };        timer.schedule(task, 1000, 1000);    }    public void stopTimer() {        timer.cancel();    }}


服务一定要记得在配置文件中注册,广播动态注册


运行结果:

http://s6.sinaimg.cn/mw690/d627f7dctx6CvPB31Zj75&690

http://s3.sinaimg.cn/mw690/d627f7dctx6CvPBEZbQ42&690


本文介绍了Android -- Activity 、Service、BroadcastReceiver 的综合使用,希望本文对读者有所帮助,感谢阅读本文。更多安卓技术问题欢迎加群探讨:278744577,验证码:csl,不写验证不予通过哟~
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 胃口吃辣的难受怎么办 空腹吃辣椒胃疼怎么办 吃东西辣的胃口疼怎么办 吃辣的东西胃烧怎么办 吃母乳的宝宝不爱喝水怎么办 三个月宝宝不肯吃奶粉怎么办 三个月宝宝不肯喝奶粉怎么办 三个月的宝宝不肯喝奶粉怎么办 三个月的宝宝不肯吃奶粉怎么办 饿了还是没食欲怎么办 3岁半幼儿便秘怎么办 小孩字写得难看怎么办 小孩的字写的丑怎么办 小孩字写的太差怎么办 小孩很多字不会写怎么办 食欲不好吃不多怎么办 中班小孩子子不肯写字怎么办 1岁宝便秘该怎么办 两周的宝宝便秘怎么办 3岁宝宝不肯吃药怎么办 1岁婴儿不肯吃药怎么办 9月婴儿不肯吃药怎么办 半岁宝宝不吃药怎么办 1岁宝宝不爱吃药怎么办 2岁吃多了呕吐怎么办啊 小孩吃撑了吐怎么办 三岁宝宝吃太多怎么办 小孩吃撑发烧了怎么办 婆婆不帮忙带孩子怎么办 孩子在中班幼儿园不爱写字怎么办 小孩不愿意上学不愿意写字怎么办 宝妈太内向不喜欢带孩子出门怎么办 宝宝吃饭不带围兜怎么办 宝宝吃饭不喜欢带围兜怎么办 宝宝吃饭不爱带围兜怎么办 孩子不吃肉和菜怎么办 我很恶心我婆婆怎么办 坐月子不喜欢婆婆抱宝宝怎么办 宝宝一写字就哭怎么办 4岁宝宝不爱学习怎么办 4岁宝宝不爱写字怎么办