一.廣播接受者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物件,也就是抽象類...