第七天 Android學習總結 廣播接收者

2021-07-26 05:37:57 字數 1997 閱讀 3108

一.廣播接受者broadcasreceiver的使用

android系統內部相當於乙個電台,裡面定義了很多的廣播事件(頻道),如外撥**,簡訊到來,sd卡狀態,電池電量變化等.

系統自帶廣播:

我們要接收到廣播資訊,需要:

1.建立乙個繼承broadcastreceiver的廣播類(專門用來接收廣播的元件),

2.配置androidmanifest.xml檔案,主要是action★★

3.許可權問題,

如監聽撥打**,需要設定許可權android.permission.processoutgoingcalls 允許監聽撥打**,修改**的許可權....這個沒加很難找,資訊得在全部資訊那裡找

大多數廣播註冊不需要data屬性(scheme約束).sdcard(file)和包(package)的安裝需要

當action被觸發時,程式會執行廣播類中的onreceiver方法,進行處理

自定義廣播:

首先要有傳送源頭,

intent intent = new intent();

intent.setaction("pers.wzs.broadcast.***x");

intent.putextras("info","叮叮叮噹扣扣響起會是誰呢");

sendbroadcast(intent);無序廣播         

sendorderedbroadcast(intent, null,null, null, 1, "初始資料", "額外資料");  有序廣播

初始資料在onreceiver方法中使用getresultdata();獲取. 

額外資料也就是putextras資料使用intent.getstringextras("key");獲取

第三個引數設定乙個廣播接受者,作為最後乙個廣播,不需要配置

接收廣播

跟接收系統廣播差不多,建乙個類繼承廣播類,註冊,設定action.

如果是有序廣播的話,在intent-filter中新增乙個屬性 android:priority="100",優先順序,越大越優先接收廣播 可以使用abortbroadcast();終止廣播

頻率高的廣播事件,在清單檔案註冊是無效的,如鎖屏開屏, 應該使用動態註冊.

在activity中動態註冊廣播時,需要在activity的ondestroy中取消註冊

例項化出廣播接收者物件(繼承廣播的那個類)

intentfilter filter = new intentfilter();

filter.addaction("action***xx");

this.registerreceiver(***receiver物件,filter);//註冊廣播

在service中動態註冊廣播......待補充

注意事項:廣播中不能直接開啟activity,需要為intent物件設定乙個flag,如intent.setflag(i(intent.flag_new_task);,才能啟動activity.(相當於為activity提供乙個任務棧)

二.樣式和主題

style and theme

一般styles.xml檔案中新增,例子如下:

引用時:

style="@style/button_style"

三.android國際化 i18n

values-en 英文

values-zh 中文

values 預設,其他找不到就找這個 一般只需要把string.xml在其他values-xx也各自配置乙份不同語言的即可

四.對話方塊dialog

1.普通對話方塊

2.單選對話方塊

3.多選對話方塊

4.進度條對話方塊

兩種上下文 

this and mainactivity.this 內部類需要用第二種

五.android動畫

1.屬性動畫property animation

2.補間動畫view(tweened) animation

3.幀動畫drawable(frame) animation

第七天總結

第一就是serviece 層的東西會被兩個前端同時呼叫。所以要做特定的處理放在controller層 goods.setsellerid 這有個簡單的翻譯問題 可以做乙個陣列。讓數字對應下標,取值就是翻譯 顯示分類。這種是一種很優的方案 然後真正的翻譯讓前段js來做 就是用陣列的下標存id 然年值就...

第七天學習

練習題 1 以下類定義中哪些是類屬性,哪些是例項屬性?class c num 0 def init self self.x 4 self.y 5 c.count 62 怎麼定義私有 法?3 嘗試執行以下 並解釋錯誤原因 4 按照以下要求定義乙個遊樂園門票的類,並嘗試計算2個 1個小孩平日票價。要求 ...

第七天總結0329

第七天總結 1 抽象類 a.通過乙個 abstract 關鍵字來修飾的類 b.主函式,一般函式,建構函式,抽象函式的區分,抽象類是由抽象方法 函式 引出來的。抽象類是因為抽象方法的由來而由來。抽象類不能被例項化 abstract class absdemo c.抽象類不能被 new物件,也就是抽象類...