基本信息
源码名称:android 观察者模式 示例(ObservableDemo)
源码大小:18.69M
文件格式:.rar
开发语言:Java
更新时间:2021-03-25
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

android Observab使用,一个简单使用教程

package com.joey.observabledemo;

import android.content.ComponentName;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

import java.util.Observable;
import java.util.Observer;

public class MainActivity extends AppCompatActivity implements Observer{
    private ContentService mService;
    private MyServiceConn conn;
    private TextView tv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv = (TextView) findViewById(R.id.content);
        conn = new MyServiceConn();
        bindService(new Intent(this,ContentService.class),conn,BIND_AUTO_CREATE);
    }

    public void btnClick(View view) {
        switch (view.getId()){
            case R.id.button1:
                startActivity(new Intent(MainActivity.this,SecondActivity.class));
                break;
            default:
                break;
        }
    }

    public class MyServiceConn implements ServiceConnection{

        @Override
        public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
            mService = ((ContentService.LocalBinder) iBinder).getService();
            //将当前Activity添加为观察者
            mService.addObservable(MainActivity.this);
        }

        @Override
        public void onServiceDisconnected(ComponentName componentName) {
            mService = null;
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        unbindService(conn);
    }

    @Override
    public void update(Observable observable, Object o) {
        Person person = (Person) o;
        tv.setText(person.toString());
    }
}