1.RemoteViewshtml
官方介紹:A class that describes a view hierarchy that can be displayed in another process. The hierarchy is inflated from a layout resource file, and this class provides some basic operations for modifying the content of the inflated hierarchy. 翻譯:一個描述視圖的類,該視圖能夠在另外一個進程中顯示。構造時須要制定一個layout資源文件,該類提供了一些基本的操做方法來修改所描述的視圖內容。java
a.做用:爲跨進程生成控件和修改控件屬性提供一系列方法python
注意:RemoteViews只是實現了Parcelable 接口,嚴格講它並非一個View,只是一個操做類 android
b.使用性能優化
public RemoteViews(String packageName, int layoutId) {
this(getApplicationInfo(packageName, UserHandle.myUserId()), layoutId);
}
複製代碼
setTextViewText(int viewId, CharSequence text)
:設置TextView顯示的文字setImageViewResource(int viewId, int srcId)
:設置ImageView顯示的圖片setOnClickPendingIntent(int viewId, PendingIntent pendingIntent)
:設置View的監聽事件c.應用場景:具體步驟見5.1RemoteViews的應用ide
NotificationManager#notify()
AppWidgetProvider
d.優缺點:函數
FrameLayout、LinearLayout、RelativeLayout、GridLayout、AnalogClock、Button、Chronometer、ImageButton、ImageView、ProgressBar、TextView、ViewFlipper、ListView、GridView、StackView、AdapterViewFlipper、ViewStub工具
推薦閱讀:源碼分析見Android UI之跨進程組件RemoteViews源碼分析
2.PendingIntent佈局
a.做用:是待定Intent,讓意圖在合適的時間再執行,而不是當即執行
b.經常使用構造:
public static PendingIntent getActivity(Context context, int requestCode, Intent intent, int flags)
:打開頁面public static PendingIntent getBroadcast(Context context, int requestCode, Intent intent, int flags)
:發送廣播public static PendingIntent getService(Context context, int requestCode, Intent intent, int flags)
:開啓服務c.參數描述:
context
:上下文requestCode
:PendingIntent發送方的請求碼,通常設爲0intent
:意圖,當PendingIntent發生時,效果與startActivity()、sendBroadcaset()、startService()同樣flags
:常見的類型以下
FLAG_ONE_SHOT
:描述的PendingIntent只能使用一次,以後會被cancelFLAG_NO_CREATE
:若描述的PendingIntent不存在,直接返回null而不是建立FLAG_CANCEL_CURRENT
:若描述的PendingIntent已存在,則都會被cancel,以後再建立一個新的FLAG_UPDATE_CURRENT
:若描述的PendingIntent已存在,就都會被updated.匹配規則:知足內部Intent相同且requestCode也相同,則兩個PendingIntent是相同的
3.JNI & NDK & ADB & AAPT
a.JNI
b.NDK
c.ADB
d.AAPT
4.一點小感悟
近日最大的感覺就是——年味不要太濃!年前年後那兩週一直都處於「人不齊」狀態、初八開工以來收紅包收到手軟、處處品嚐同事從家鄉帶來的年貨、出去聚餐也有了「正當」理由、元宵節的湯圓好好吃...進來感覺下開工日的盛況~騰訊開工刷紅包堪比「春運",沙發板凳薑茶暖寶寶全上場
這周對我年前寫的代碼進行了review,來了十幾個大佬,雖然提早作了準備可是仍是緊張,短短一個半小時真的學到不少,除了技術上的收穫,也給我從此再準備相似會議提供一些啓發,例如,在講代碼前要先交代好背景,不是全部人都清楚具體需求,減小解釋成本;演示大綱頗有必要,但也要隨時準備被提問各類問題、打亂節奏;最好走個完整流程來展現代碼邏輯,只看代碼的改動部分很難被理解...總之第一次作review仍是挺不錯的體驗,很是感謝小哥哥們的耐心和建議~
隨着學生時代最後一個假期的結束,爲期兩個月的短暫的實習生活也快結束了,還要回校準備使人頭大的論文,預計最後還有一篇實習週記和一篇《Android Gradle權威指南》的讀書筆記,待七月畢業再回來就是有名分的鵝啦!