關(guān)于Android學(xué)習(xí)要問的一些問題

1.什么是Android?

創(chuàng)新互聯(lián)公司專注于武昌企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站開發(fā)。武昌網(wǎng)站建設(shè)公司,為武昌等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

Android是一個(gè)以Linux為基礎(chǔ)的開放源代碼移動(dòng)設(shè)備操作系統(tǒng),

由Google領(lǐng)導(dǎo)和開發(fā),目前世界上市場占有率最高,

它的創(chuàng)始人是Andy Rubin。

2.請說一下Android的系統(tǒng)架構(gòu)(Android Architecture Layers)。

  • Android的系統(tǒng)架構(gòu)有四層:Applications、FrameWork、Libraries、Linux Kernel。

  • "Applications層"就是平時(shí)我們用手機(jī)時(shí)看到的那些已經(jīng)裝在手機(jī)上的應(yīng)用,比如聯(lián)系人、短信、日歷這些。

  • "FrameWork層"用于提供開發(fā)應(yīng)用時(shí)所需要用到的API,包含Activity Manager、Content Providers、Resource Manager等等服務(wù)。

  • "Libraries層"包含兩個(gè)方面,分別是Native Libraries 和 Android Runtime。Native Libraries通過一些C/C++庫為Android系統(tǒng)提供SQLite、OpelGL 3D繪圖、Webkit瀏覽器內(nèi)核等等主要特性的支持,供Android系統(tǒng)的各個(gè)組件使用,這樣開發(fā)者就可以在FrameWork層使用這些特性;Android Runtime提供一些核心庫(Core Libraries),這樣開發(fā)者就可以用Java語言來編寫Android應(yīng)用。每一個(gè)Android應(yīng)用程序是Dalvik虛擬機(jī)中的實(shí)例,運(yùn)行在他們自己獨(dú)立的進(jìn)程中。

  • "Linux Kernel層"用于為Android設(shè)備的各種硬件提供底層驅(qū)動(dòng),包含Display Driver、Camera Driver、USB Driver、Power Management等等。

關(guān)于Android的系統(tǒng)架構(gòu),可以參考兩張圖:

關(guān)于Android學(xué)習(xí)要問的一些問題

關(guān)于Android學(xué)習(xí)要問的一些問題

3.什么是Activity?請說一下Activity的基本用法。

Activity是一種包含用戶界面的組件,主要用于和用戶進(jìn)行交互,

當(dāng)Android應(yīng)用運(yùn)行的時(shí)候,它的Activity一般會充滿把手機(jī)屏幕的空間都占滿,

不過有的Activity也會以浮窗或者嵌入到其他Activity的形式呈現(xiàn)。

說起Activity的基本用法,我的印象就是以下內(nèi)容:

  • 手動(dòng)創(chuàng)建Activity:新建Android Project - 在向?qū)е凶屜到y(tǒng)不要幫忙創(chuàng)建Activity - 在src目錄的包中新建一個(gè)繼承Activity類的子類 - 重寫onCreate方法 - 在res/layout目錄中創(chuàng)建自己的視圖文件activity_main.xml - 在Activity中setContentView(R.id.???) - 最后在AndroidManifest.xml文件中注冊這個(gè)Activity -  運(yùn)行應(yīng)用即可

  • 綁定自定義視圖:調(diào)用setContentView(),傳入一個(gè)布局文件的id作為參數(shù),即可給當(dāng)前的Activity加載一個(gè)布局

  • 在當(dāng)前Activity中啟動(dòng)另一個(gè)Activity:使用 startActivity(new Intent(當(dāng)前Activity.this,目標(biāo)Activity.class)); 啟動(dòng)另一個(gè)Activity

4.請說一下Activity的生命周期。

參考連接:官方Activity的描述

Android系統(tǒng)用"棧"來管理應(yīng)用的Activity,棧是后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),

當(dāng)啟動(dòng)一個(gè)新的Activity它就會變成當(dāng)前所要呈現(xiàn)的Activity(running Activity)而入到棧頂,

前一個(gè)Activity就會在它的下層,當(dāng)例如按下Back鍵這個(gè)新的Activity出棧后,

前一個(gè)Activity又會變回running Activity回到棧頂。

一個(gè)Activity在它的生命周期中最多會有四種狀態(tài):運(yùn)行(running)、暫停(paused)、停止(stopped)、被干掉(銷毀,destroyed)。

  1. 正常顯示出來的、用戶看到的Activity就是running,也就是在棧頂?shù)腁ctivity;

  2. 如果突然來了個(gè)短信,以小彈窗的形式把running的Activity遮住了,失去了焦點(diǎn),這時(shí)那個(gè)Activity就會變?yōu)閜aused;

  3. 如果在running的Activity點(diǎn)擊一個(gè)按鈕后,啟動(dòng)了一個(gè)新的Activity,徹底覆蓋了在棧頂running的這個(gè)Activity,它就會變?yōu)閟topped;

  4. 如果Activity處于stopped或paused狀態(tài),而系統(tǒng)又很需要內(nèi)存,系統(tǒng)就有可能根據(jù)需要終止這樣的Activity,就會被干掉。

備注:最后一個(gè)狀態(tài)因?yàn)楣俜轿臋n沒有一個(gè)很明確的字眼描述,只是說是這樣的情況,所以我自己理解為被干掉吧。

關(guān)于Activity的生命周期有七個(gè)方法貫穿其中:

 public class Activity extends ApplicationContext {
     protected void onCreate(Bundle savedInstanceState);

     protected void onStart();

     protected void onRestart();

     protected void onResume();

     protected void onPause();

     protected void onStop();

     protected void onDestroy();
 }

在Activity顯示的過程依次會調(diào)用onCreate() - onStart() - onResume(),

銷毀的過程依次會調(diào)用 onPause() - onStop()- onDestroy()。

示意圖如下:

關(guān)于Android學(xué)習(xí)要問的一些問題

5.說一下Activity的生命周期七個(gè)方法的作用。

6.說一下Activity的啟動(dòng)模式。



網(wǎng)站欄目:關(guān)于Android學(xué)習(xí)要問的一些問題
網(wǎng)址分享:http://bm7419.com/article16/geghgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、靜態(tài)網(wǎng)站外貿(mào)建站、定制開發(fā)、Google、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名