目录

 

Monday

1.内容观察者

2.广播1

Tuesday

1.广播2

2.服务


Monday

1.内容观察者

MainActivity:

package cn.rjxy.myobserver;import androidx.appcompat.app.AppCompatActivity;import android.database.ContentObserver;import android.net.Uri;import android.os.Bundle;import android.os.Handler;import android.util.Log;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Uri uri = Uri.parse("content://cn.rjxy.providertest/info");        getContentResolver().registerContentObserver(uri, true, new TestObserver(new Handler()));    }    private class TestObserver extends ContentObserver{        public TestObserver(Handler handler){            super(handler);            Log.d("***", "TestObserver is created");        }        public void onChange(boolean changed){            super.onChange(changed);            Log.d("***", "数据发生变化");        }    }    public void onDestroy(){        super.onDestroy();        getContentResolver().unregisterContentObserver(new TestObserver(new Handler()));    }}

2.广播1

MainActivity:

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;public class MainActivity extends AppCompatActivity {    private TestReceiver receiver;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        receiver = new TestReceiver();//实例化        IntentFilter filter = new IntentFilter("Hello, android.");        filter.setPriority(100);        registerReceiver(receiver, filter);    }    protected void onDestroy(){        super.onDestroy();        unregisterReceiver(receiver);        //unregisterReceiver(reciever2);    }    public void click(View view){        Intent intent = new Intent("Hello, android.");        //sendBroadcast(intent);        sendOrderedBroadcast(intent, null);        intent.setAction("Hello, world.");        //sendBroadcast(intent);        sendOrderedBroadcast(intent, null);    }}

 TestReceiver:

package com.example.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class TestReceiver extends BroadcastReceiver {    public void onReceive(Context context, Intent intent){        Log.d("***", "接收到信息的广播");        Log.d("***", intent.getAction());    }}

Tuesday

1.广播2

新加一个java文件,SecondReceiver

package com.example.myapplication;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;public class SecondReciever extends BroadcastReceiver {    public void onReceive(Context context, Intent intent){        Log.d("###", "接收到信息的广播");        Log.d("###", intent.getAction());//        abortBroadcast();//        Log.d("###","终止广播");    }}

值越大 优先级越高

Android:week 12总结 内容观察者、广播、服务_第1张图片

2.服务

MainActivity:

package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.content.IntentFilter;import android.os.Bundle;import android.view.View;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void click(View view){        switch (view.getId()){            case R.id.start:                Intent intent = new Intent(MainActivity.this, MyService.class);                startService(intent);                break;            case R.id.close:                Intent intent1 = new Intent(MainActivity.this, MyService.class);                stopService(intent1);                break;        }    }}

MyService:

package com.example.myapplication;import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.util.Log;public class MyService extends Service {    public MyService() {    }    @Override    public IBinder onBind(Intent intent) {        // TODO: Return the communication channel to the service.        throw new UnsupportedOperationException("Not yet implemented");    }    @Override    public void onCreate(){        super.onCreate();        Log.d("***", "oncreate");    }    public void onDestroy(){        super.onDestroy();        Log.d("***", "onDestroy");    }    public int onStartCommand(Intent intent, int flag, int startId){        Log.d("***", "onStartCommand");        return super.onStartCommand(intent, flag, startId);    }}

 

更多相关文章

  1. android获取短信内容
  2. android 设置线程优先级 两种方式
  3. TextView 内容居中
  4. Android TextView解析HTML内容
  5. Android手机开发——向SD卡上的文件追加内容
  6. Android TextView内容设置超链接、颜色、字体
  7. Android原生AlertDialog修改标题,内容,按钮颜色,字体大小等
  8. android把字符串内容保存到指定路径
  9. Android中内容提供者ContentProvider实现数据库增删改查

随机推荐

  1. Python爬虫(一):基本概念
  2. Python 学习笔记二
  3. python 报错——Python TypeError: 'modu
  4. python获取外网IP并发邮件
  5. 在Python中,如何在使用WPF的程序中自动控
  6. CentOS下实现Flask + Virtualenv + uWSGI
  7. PySide-QtWebKit: CSS font-family没有效
  8. python学习笔记10(函数一): 函数使用、调用
  9. python爬取csdn的博客内容
  10. 利用python Pandas进行数据预处理