close

一天一技術, 慢慢進步

很多都是被問明明會做, 但要我講出個什麼我卻講不出來

這次整理一些題目,以便以後隨時翻閱

---------

1. Android 4大元件

Activity, Service , Broadcast, ContentProvider 

Broadcast:  廣播主要用來接收來自系統事件的物件,也稱為全域物件. 可用來接收來電狀態, 螢幕喚醒, 電量低落等等.

ContentProvider : 多個APP資訊共享. 指共享資料.

---------------

2. Android存資料的方式

Internal storage : Device private data

DB

External storage : SD card, public data

SharePreference :

Net:  儲存資料到網路主機上

------------------

3.   Activity A call Activity B 生命週期

A.pause > B Create > B Start> B Resume > A Stoped

-----------------

4. Activity 啟動的4種型態

Stanedard : 固定加一個

SingTop : 如果目前該Activity已在前面, 就會直接拿當前Activity 並接 OnNewIntent , 如果不是則創建新的

          範例: 當在Activity 點擊Notification 呼叫Activity時, 應該彈回原本Activity 即可

SingTask: 該Activity 只有一個, 不論是否在最前面, 都重新使用, 並將它上方的Activity移除.

SingleInstance: 不論從哪個APP都只有一個Single . Ex 瀏覽器

---------------

5. Service 的Start service, bind Service差別

Start service:  需要OnStop, 否則會一直在後端運行

Bind service:  Bind 在Activity main thread上, Acitvity 離開就unBind

---------------

6. AIDL: 跨APP 共用Service.

---------------

7. 舉幾個你常用的Design pattern

解譯器(Interpreter Pattern): 定義一個文法, ex A123 B 456 等等 當遇到A則相加當遇到B則相乘, 容易擴充, 但文法複雜不適用

Factory(工廠): 建立一個abstract Hero { getHP()}; 其他class implement Hero, 並針對getHp寫定規則

Observe(觀察者模式): MVVM常用, 當A更改資料時, B被通知並刷新.

---------------

8. 跨APP溝通

AIDL: 快速,穩定, 主要的溝通渠道

Broadcast: 發訊息給所有有註冊的人, 慢 , 通常是指定功能而不是指定APP

Contenr Provider: 共享資料為主. 

arrow
arrow
    全站熱搜

    蔥哥 發表在 痞客邦 留言(0) 人氣()