面試題三

1.簡要描述android開發(fā)的四大應(yīng)用程序組件

  • Activity:Activity是android程序和用戶交互的窗口缴阎,是android構(gòu)造塊中基本的一種,它需要為保持個界面的狀態(tài),做很多持久化的事锨阿,妥善管理生命周期及一些跳轉(zhuǎn)悍抑。
  • service:后臺服務(wù)于Activity吴叶,封裝有一個完整的功能邏輯實現(xiàn),接受上層指令朵纷,完成相關(guān)事務(wù)炭臭。
  • Content Provider:android提供的第三方應(yīng)用程序的訪問方案,可以派生ContentProvider類袍辞,對外提供數(shù)據(jù)鞋仍。
  • BroadCast Receiver:接收一種或多種intent做觸發(fā)事件,接收相關(guān)消息搅吁,做一些簡單的處理威创,轉(zhuǎn)換成一條Notification,統(tǒng)一了android的事件廣播模型谎懦。

2.AndroidManifest.xml文件中主要包括哪些信息肚豺?

  • 用戶權(quán)限
  • 包名,版本號
  • 應(yīng)用程序Application

3.描述一下Android的數(shù)字簽名

  • 目的:為你的程序打上一種標識界拦,來作為自己的標識吸申,當別人看到你的簽名時,就會知道這是與你相關(guān)的。
  • 好處:
    • 有利于程序升級:當新版程序和舊版程序的數(shù)字證書相同時截碴,Android系統(tǒng)才會認為這兩個程序是同一個程序的不同版本
    • 有利于程序的模塊化開發(fā)和設(shè)計:Android系統(tǒng)允許擁有同一個數(shù)字簽名的程序運行在一個進程中梳侨,Android程序會將他們視為同一個程序。所以開發(fā)者可以將自己的程序分模塊開發(fā)日丹,而用戶只需要在需要的時候下載適當?shù)哪K走哺。
  • 可以通過權(quán)限(permission)的方式在多個程序間共享數(shù)據(jù)和代碼:應(yīng)用程序可以和其他的程序共享概功能或者數(shù)據(jù)給那那些與自己擁有相同數(shù)字證書的程序

4.談一下你對Android權(quán)限的理解

在Android 6.0版本之前,權(quán)限都是一條龍服務(wù)的哲虾,只要用戶安裝完丙躏,AndroidManifest清單上申請的權(quán)限都會被系統(tǒng)默認授權(quán),并且授權(quán)后也撤銷不了束凑。這樣的弊端在哪里呢晒旅?有些權(quán)限可能用戶覺得不需要,比如他不想有通知的權(quán)限汪诉,不想受到通知的干擾敢朱,那么他就不能屏蔽通知,就是不需要的權(quán)限摩瞎,他去不掉拴签,自主權(quán)不在他那邊。還有一些情況是旗们,一些惡意程序蚓哩,會利用這個權(quán)限默認授權(quán),進行惡意獲取用戶數(shù)據(jù)和攻擊上渴。所以Android 6.0版本岸梨,一方面讓用戶更加容易的控制自己的隱私,一方面需要重新適配應(yīng)用權(quán)限稠氮。只有在用戶需要使用權(quán)限的時候曹阔,才去授權(quán)請求,這樣做的目的是提高用戶體驗

  • 檢查并申請權(quán)限
    我們需要在用到權(quán)限的地方隔披,每次都檢查是否APP已經(jīng)擁有權(quán)限赃份,
    比如我們有一個下載功能,需要寫SD卡的權(quán)限奢米,
    我們在寫入之前檢查是否有WRITE_EXTERNAL_STORAGE權(quán)限抓韩,沒有則申請權(quán)限

    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)
            != PackageManager.PERMISSION_GRANTED) {
        //申請WRITE_EXTERNAL_STORAGE權(quán)限
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
                WRITE_EXTERNAL_STORAGE_REQUEST_CODE);
    }
    
  • 用戶選擇允許或需要后,會回調(diào)onRequestPermissionsResult方法, 該方法類似于onActivityResult
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    doNext(requestCode,grantResults);
    }

  • 我們接著需要根據(jù)requestCode和grantResults(授權(quán)結(jié)果)做相應(yīng)的后續(xù)處理
    private void doNext(int requestCode, int[] grantResults) {
    if (requestCode == WRITE_EXTERNAL_STORAGE_REQUEST_CODE) {
    if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    // Permission Granted
    } else {
    // Permission Denied
    }
    }
    }

5.請寫出幾種Android數(shù)據(jù)存儲的方式

  • SharedPreference :主要存放一些配置信息
  • SQLite
  • 文件存儲
  • Content Provider
  • 網(wǎng)絡(luò)存儲

6.對android NDk的理解

7.談?wù)剬OM鬓长,ROOT谒拴,RECOVER,BOOTLOADER的理解

  • ROM:只讀內(nèi)存鏡像涉波。用于寫入系統(tǒng)分區(qū)的鏡像文件
  • ROOT:Android源于Linux英上,root是Linux下系統(tǒng)級賬號炭序,擁有系統(tǒng)的全部權(quán)限,為了保護系統(tǒng)安全苍日,Android設(shè)計上是不會開放這個用戶的少态。
    ROOT原理:通過在Android系統(tǒng)安裝某個系統(tǒng)級別的服務(wù),該服務(wù)具有root權(quán)限易遣,然后其它需要root權(quán)限的程序再向這個服務(wù)請求root權(quán)限
  • RECOVER:Recovery模式指的是一種可以對安卓機內(nèi)部的數(shù)據(jù)或系統(tǒng)進行修改的模式,也叫工程模式(類似于windowspe)嫌佑。在這個模式下我們可以刷入新的安卓系統(tǒng)豆茫,或者對已有的系統(tǒng)進行備份或升級,也可以在此恢復(fù)出廠設(shè)置屋摇。
  • BOOTLOADER:相當于電腦里面的bios(基本輸入輸出系統(tǒng))揩魂,手機一開機,控制手機的就是Bootloader炮温。我們通常所說的進入Bootloader火脉,實際上是指進入Bootloader的工程模式,既是刷機模式柒啤,在此模式下可以將moto的sbf文件(底包)刷到機器里面倦挂。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市担巩,隨后出現(xiàn)的幾起案子方援,更是在濱河造成了極大的恐慌,老刑警劉巖涛癌,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件犯戏,死亡現(xiàn)場離奇詭異,居然都是意外死亡拳话,警方通過查閱死者的電腦和手機先匪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弃衍,“玉大人呀非,你說我怎么就攤上這事【刀ⅲ” “怎么了姜钳?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長形耗。 經(jīng)常有香客問我哥桥,道長,這世上最難降的妖魔是什么激涤? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任拟糕,我火速辦了婚禮判呕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘送滞。我一直安慰自己侠草,他們只是感情好,可當我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布犁嗅。 她就那樣靜靜地躺著边涕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪褂微。 梳的紋絲不亂的頭發(fā)上功蜓,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音宠蚂,去河邊找鬼式撼。 笑死,一個胖子當著我的面吹牛求厕,可吹牛的內(nèi)容都是我干的著隆。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼呀癣,長吁一口氣:“原來是場噩夢啊……” “哼美浦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起项栏,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤抵代,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后忘嫉,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荤牍,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年庆冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了康吵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡访递,死狀恐怖晦嵌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拷姿,我是刑警寧澤惭载,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站响巢,受9級特大地震影響描滔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜踪古,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一含长、第九天 我趴在偏房一處隱蔽的房頂上張望券腔。 院中可真熱鬧,春花似錦拘泞、人聲如沸纷纫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辱魁。三九已至,卻和暖如春诗鸭,著一層夾襖步出監(jiān)牢的瞬間染簇,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工只泼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人卵洗。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓请唱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親过蹂。 傳聞我的和親對象是個殘疾皇子十绑,可洞房花燭夜當晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容