国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android入門之廣播

2019-11-09 17:36:32
字體:
來源:轉載
供稿:網友

廣播是Android的四大組件之一,類似于監聽不過是全局的。

我這是模仿Android系統廣播的做法做一個無序的廣播

所謂廣播就是由接受者和發送至者組成

為了區分動態廣播與靜態廣播我這里會分別建立以便區分

我這里先做一個發送者

布局樣式:

        android:layout_height="wrap_content"        android:hint="請輸入廣播內容"        android:id="@+id/et_main_content"        />    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="發送"        android:onClick="send"        />  

java代碼:

import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.EditText;public class MainActivity extends AppCompatActivity {    PRivate EditText et_main_content;    private Intent intent;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_main_content = (EditText) findViewById(R.id.et_main_content);        intent = new Intent();        //設置廣播的名字(設置Action)        intent.setAction("廣播名且具有唯一性");    }   
       //按鈕的 onClick事件
           public void send(View view){
        String content=et_main_content.getText().toString();        //攜帶數據        intent.putExtra("data",content);        //發送廣播(無序廣播)          sendBroadcast(intent);    }

靜態接受者:

新建一個項目,在minActivity同級目錄新建一個類繼承BroadcastReceiver

我這里就打印一下了(值已經拿到)

import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;/** * @author Zking-Snail * @time 2017/2/7 9:54 * @Version ${REV} */public class MyReceived01 extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        if("廣播名".equals(intent.getAction())){            String data=intent.getStringExtra("data");            Log.i("test","靜態接受者收到廣播了:"+data);        }    }}

還有就是靜態廣播的話接受者要在清單文件里添加這個

  <EditText        android:layout_width="match_parent"        <!--配置廣播接受者:        .在清單文件中配置(靜態廣播)        -->        <receiver android:name=".類名">            <intent-filter>                <action android:name="廣播名"></action>            </intent-filter>        </receiver>

動態接受者:

與靜態的相識新建一個項目,在minActivity同級目錄新建一個類繼承BroadcastReceiver

import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.util.Log;/** * @author Zking-Snail * @time 2017/2/7 9:54 * @Version ${REV} */public class MyReceived01 extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        if("廣播名".equals(intent.getAction())){            String data=intent.getStringExtra("data");            Log.i("test","動態接受者收到廣播了:"+data);        }    }}不同的就是在動態廣播的MainActivity里要加點東西

import android.content.IntentFilter;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity {    private MyReceived02 myReceived02;    private IntentFilter intentFilter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        myReceived02 = new MyReceived02();        intentFilter = new IntentFilter();        intentFilter.addAction("com.zking.g150831_android20_sender.955");    }    @Override    protected void onResume() {        super.onResume();        //動態注冊廣播        registerReceiver(myReceived02,intentFilter);    }    @Override    protected void onDestroy() {        super.onDestroy();        //注銷動態廣播(一定要注銷不然報錯)        unregisterReceiver(myReceived02);    }}

我這里就只是模仿安卓系統廣播的做法而已,可能不夠全面

不喜勿噴,謝謝


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长沙市| 新疆| 孝感市| 化德县| 镇巴县| 喀什市| 象山县| 红河县| 清丰县| 缙云县| 都兰县| 六安市| 施甸县| 民勤县| 凌源市| 平阴县| 邓州市| 牟定县| 改则县| 长汀县| 昌吉市| 子洲县| 安陆市| 基隆市| 黑山县| 江门市| 北流市| 共和县| 巴林左旗| 郯城县| 鹿泉市| 建湖县| 巴彦县| 西乌珠穆沁旗| 西畴县| 霍山县| 新兴县| 台中市| 台安县| 定襄县| 筠连县|