第一篇:Android期末復(fù)習(xí)題總結(jié)
1、Intent的Component屬性的作用是什么,如何定義此屬性?
component(組件),指定Intent的的目標(biāo)組件的類名稱。通常 Android會根據(jù)Intent 中包含的其它屬性的信息,比如action、data/type、category進(jìn)行查找,最終找到一個與之匹配的目標(biāo)組件。但是,如果 component這個屬性有指定的話,將直接使用它指定的組件,而不再執(zhí)行上述查找過程。指定了這個屬性以后,Intent的其它所有屬性都是可選的。
Component屬性的作用是用來指定Intent的目標(biāo)組件的類名稱。如果Component這個屬性被指定了的話,Intent的其它屬性都是可選項,Android會直接使用Component指定目標(biāo)組件,而不再執(zhí)行其它查找過程。
在使用時,需要先創(chuàng)建一個ComponentName對象,然后將它設(shè)置成Intent對象的Component的屬性。通過setComponent()、setClass()和setClassName()三種方法都可以設(shè)置組件的名稱,通過getComponent()方法則可獲得設(shè)置項。
2、發(fā)送廣播時,可以通過sendCatagoryBroadcast()方法將Intent對象發(fā)送出去().(錯)
3、Android是什么?()一種操作系統(tǒng)
4、下面關(guān)于Android dvm的進(jìn)程和Linux的進(jìn)程,應(yīng)用程序的進(jìn)程說法正確的是()DVM指dalivk的虛擬機(jī)。每一個Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個獨(dú)立的Dalvik虛擬機(jī)實例。而每一個DVM都是在Linux 中的一個進(jìn)程,所以說可以認(rèn)為是同一個概念。
5、Android操作系統(tǒng)最早由哪個公司研發(fā)?()Android公司
6、下列中不屬于手持設(shè)備的是()機(jī)頂盒
7、下列不是手機(jī)操作系統(tǒng)的是()。Windows Vista
8、到目前為止,Android操作系統(tǒng)的最高版本是哪個?()Android L
9、安裝Android SDK時,可以通過()在線安裝或離線安裝。Android sdk manager
10、開發(fā)Android應(yīng)用程序時,一般使用的計算機(jī)語言是()。JAVA
11、E/AndroidRuntime(1099): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: java.lang.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk] 這段話是程序報錯在LogCat中產(chǎn)生的記錄,從中可以分析問題的原因可能在哪里?()CanvasActivitys類沒有在AndroidManifest中正確申明
12、對于直接Intent,Android不需要去做解析,因為目標(biāo)組件已經(jīng)很明確,Android需要解析的是那些間接Intent,通過解析,將 Intent映射給可以處理此Intent的Activity、IntentReceiver或Service(對)Intent 可以傳遞 View對象(錯)
Intent起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦(對)
通過Intent可以刪除程序(對)
13、下面退出Activity錯誤的方法是()。System.exit()
14、當(dāng)啟動一個Activity并且新的Activity執(zhí)行完后需要返回到啟動它的Activity來執(zhí)行的回調(diào)函數(shù)是()。startActivityResult()
15、這是一個資源配置文件,下面描述正確的是?()這個shape文件是畫一條虛線,實線段5dp,間隔3dp
16、Toast toast = new Toast(this);toast.setText(“今天天氣不錯n哈哈”);toast.show();上面代碼的執(zhí)行結(jié)果是什么()。代碼會拋出異常,因為new出的Toast對象不能再使用setText方法來設(shè)置提示框文本
17、setOnTouchEvent 設(shè)置返回值為true 和 false有何區(qū)別?()
返回true表示這個消息已經(jīng)被處理結(jié)束,后續(xù)的handler不再接收到這個消息
18、下列哪個可做EditText編輯框的提示信息()。android:hint
19、使進(jìn)度條變橫向的系統(tǒng)樣式是()
@android:style/Widget.ProgressBar.Horizontal 20、關(guān)于Android 事件機(jī)制與事件監(jiān)聽,下列說法不正確的有()。
i.View類里的event listener是一個帶有回調(diào)方法的接口,當(dāng)UI里的組建是被用戶觸發(fā)時,這些方法會被系統(tǒng)框架所調(diào)用;(對)
ii.來自View.OnClickListener,當(dāng)點(diǎn)擊這個Item(在觸摸模式),或者當(dāng)光標(biāo)聚集在這個Item上時按下“確認(rèn)”鍵,導(dǎo)航鍵,或者軌跡球,它會被調(diào)用;(對)
iii.來自View.OnLongClickListener,當(dāng)長按這個Item(在觸摸模式),或者當(dāng)光標(biāo)聚集在這個Item上時長按“確認(rèn)”鍵,導(dǎo)航鍵,或者軌跡球,它會被調(diào)用;(對)iv.來自View.OnFocusChangeListener,當(dāng)手移到或離開這個Item,它會被調(diào)用(對)v.來自View.OnKeyListener,當(dāng)光標(biāo)移到這個Item,按下和釋放一個按鍵的時候,它會被調(diào)用;(對)
vi.來自View.OnTouchListener,在這個Item的范圍內(nèi)觸摸的時候,它會被調(diào)用;(對)vii.來自View.OnCreateContextMenuListener,當(dāng)上下文菜單被建立時,只需短按一下,它會被調(diào)用。(錯)
21、關(guān)于對話框,下面說法正確的是()。對話框的父類不是View
22、創(chuàng)建一個提示對話框,應(yīng)創(chuàng)建下面哪種對話框?qū)嵗?)。AlertDialog
23、在AlertDialog中,以下哪個方法是用于取消的()。
setNegativeButton
24、在android中使用Menu時可能需要重寫的方法有()。(1)onCreateOptionsMenu()(3)onOptionsItemSelected()
25、鍵盤事件處理方法中,以下哪個方法是用來處理鍵盤按鍵的釋放事件的()。keyReleased(int keyCode)
26、下面Android的存儲方式中,除SharedPreferences外還有哪種方式是不可以將數(shù)據(jù)在不同應(yīng)用間數(shù)據(jù)共享的()。Files
27、當(dāng)使用文件存儲的時候,默認(rèn)創(chuàng)建的文件會放在什么位置()。app28、關(guān)于SharedPreferences和文件存儲數(shù)據(jù)描述正確的是()。使用文件存儲需要創(chuàng)建文件,而SharedPreferences的存儲方式自動創(chuàng)建xml文件
29、使用SharedPreferences進(jìn)行數(shù)據(jù)存儲的時候,下面哪個方法是不參與的()。edit()30、使用SharedPreferences存儲數(shù)據(jù)時,會創(chuàng)建一個什么類型的文件來進(jìn)行數(shù)據(jù)存放()。.xml文件
31、在程序中,使用SD的文件需要使用以下哪些權(quán)限()。android.permission.WRITE_EXTERNAL_STORAGE
32、下面哪種不是Android的存儲方式()。ContentProvider
33、通過SharedPreferences保存的數(shù)據(jù)存儲在什么文件夾下()。shared_prefs
34、對于一個已經(jīng)存在的SharedPreferences對象setting,想向其中存入一個字符串“person”,setting應(yīng)該先調(diào)用什么方法()。edit()
35、下列說法哪個不正確()。
一個Activity的對象a1上彈出了一個模擬對話框形式的Activity的對象a2,按返回鍵后a1執(zhí)行了onStart和onResume方法,a2執(zhí)行了onPause,onStop和onDestroy方法 ;(錯)
擁有android:configChanges=“orientation|keyboardHidden” 標(biāo)簽的Activity在橫豎屏轉(zhuǎn)換時不會再執(zhí)行onCreate方法;(對)
默認(rèn)情況下對一個Activity的對象進(jìn)行橫豎屏切換,該對象的onCreate方法在每次切換時都會執(zhí)行;(對)
一個界面上的EditText中輸入文字后,再按下Home,該界面消失,等再回到該界面文字內(nèi)容仍在,onCreate方法也不會執(zhí)行。(對)
36、下面布局中,哪個布局會把控件放在左上角,當(dāng)添加新的控件的時候,將覆蓋在前一個控件的上層,并且不能設(shè)計控件的位置()。FrameLayout
37、以下有關(guān)RelativeLayout說法正確的是()。這種布局適合橫豎屏切換比較頻繁的應(yīng)用
38、關(guān)于RelativeLayout布局中,下面對屬性描述不相符合的是()。
android:layout_marginLeft=“40px”表示當(dāng)前控件左邊空出40像素的空間 ;
android:layout_below=“@id/aclock”表示當(dāng)前控件放置于引用名為aclock的控件的下方
android:layout_centerInParent=“true” 表示當(dāng)前控件放置于父控件的橫向和縱向的中央位置 ;
android:layout_alignParentTop=“@id/mtop”表示當(dāng)前控件和引用名為mtop的父控件頂端對齊(不符合)
39、關(guān)于RelativeLayout描述正確的是()。該布局為相對布局,其中控件的位置都是相對位置。
40、在RelativeLayout布局中,有一個id為entry的EditText,目前有一個Button想放置在其左邊,應(yīng)為Button指定什么屬性設(shè)置()。
android:layout_toLeftOf=“@id/entry”
41、在一個相對布局中怎樣使一個控件居中()。
android:layout_centerInParent=“true”
42、在表格布局中,android:collapseColumns=“1,2”的含義是:()在屏幕中,不管是否能都顯示完,折疊1、2列
43、絕對布局中,android:layout_x 的含義有()以手機(jī)左上為原點(diǎn),組件顯示到屏幕中的橫向坐標(biāo)值。
44、簡述開發(fā)手機(jī)聯(lián)盟?
開放手機(jī)聯(lián)盟(OHA,Open Handset Alliance,)是美國Google公司與2007年11月5日宣布組建的一個全球性的聯(lián)盟組織,網(wǎng)址為
http://004km.cn。這一聯(lián)盟將會支持Google可能發(fā)布的手機(jī)操作系統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為Android的開放源代碼的移動系統(tǒng)。開放手機(jī)聯(lián)盟包括手機(jī)制造商、手機(jī)芯片廠商和移動運(yùn)營商等幾大類,目前聯(lián)盟成員數(shù)量已經(jīng)達(dá)到了80家。
45、以下哪一個類可以實現(xiàn)廣播接收的功能()。BroadcastReceiver
46、Android系統(tǒng)有哪些特點(diǎn)?
(1)應(yīng)用框架可以重復(fù)使用,其組件也可以更換;(2)Dalvik虛擬機(jī)針對移動設(shè)備進(jìn)行了優(yōu)化;(3)優(yōu)化的圖形能力支持2D/3D圖形(OpenGL ES 1.0);(4)集成了基于開源WebKit引掣的瀏覽器;(5)采用SQLite實現(xiàn)結(jié)構(gòu)化數(shù)據(jù)存儲;(6)多媒體支持多種音頻、視頻格式;(7)GSM Telephony(hardware dependent);(8)支持藍(lán)牙Bluetooth,3G和WiFi;(9)支持照相機(jī)、GPS、指南針和加速度儀等傳感器硬件;(10)豐富的開發(fā)環(huán)境,包括模擬機(jī)、調(diào)試工具、內(nèi)存運(yùn)行檢測,以及為Eclipse IDE所寫的插件。
47、在AndroidManifest.xml中注冊一個廣播,需要使用什么標(biāo)簽()。
48、定義廣播需要重寫父類中的什么方法()。onCreate
49、在程序中,發(fā)送廣播的方法是以下哪一個()。sendBroadcast 50、定義一個廣播,需要繼承哪個類()。BroadcastReceiver
51、簡述Android應(yīng)用程序的組成。
一般來說,Android 程序包含如下主要的組件類:活動(Activity);用于表現(xiàn)功能服務(wù)(Service);相當(dāng)于后臺運(yùn)行的Activity廣播接收器(BroadcastReceiver)—— 用于接收廣播意圖; Intent——用于連接以上各個組件,并在其間傳遞消息;ContentProviders實現(xiàn)不同組件之間的數(shù)據(jù)共享;View提供了可視化界面的展示。
52、Dalvik虛擬機(jī)與Sun公司定義的標(biāo)準(zhǔn)虛擬機(jī)(JVM)有何不同?
(1)Dalvik和JVM的首要差別是Dalvik基于寄存器而JVM基于棧,基于寄存器的虛擬機(jī)對于更大的程序來說,在它們編譯的時候,花費(fèi)的時間更短;(2)Dalvik主要是完成對象生命周期管理,堆棧管理,線程管理,安全和異常管理,以及垃圾回收等等重要功能;(3)Dalvik負(fù)責(zé)進(jìn)程隔離和線程管理,每一個Android應(yīng)用在底層都會對應(yīng)一個獨(dú)立的Dalvik虛擬機(jī)實例,其代碼在虛擬機(jī)的解釋下得以執(zhí)行;(4)不同于JVM運(yùn)行Java字節(jié)碼,Dalvik虛擬機(jī)運(yùn)行的是其專有的文件格式dex,dex文件格式可以減少文件整體尺寸,提高I/O操作的類查找速度;(5)所有的Android應(yīng)用的線程都對應(yīng)一個Linux線程,虛擬機(jī)因而可以更多的依賴操作系統(tǒng)的線程調(diào)度和管理機(jī)制。
53、請談一下Android系統(tǒng)的架構(gòu)
Android系統(tǒng)采用了分層架構(gòu),從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和linux核心層。
54、Android開發(fā)環(huán)境搭建需要哪些主要步驟?
? 安裝Java ? 安裝Eclipse ? 安裝Android SDK ? 安裝Eclipse插件ADT
55、Windows環(huán)境下如何檢測已經(jīng)安裝成功Java?
寫一個簡單的java程序來測試JDK是否已安裝成功:
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello world!”);
} }
將以上代碼保存為文檔名為HelloWorld.java的文檔。打開命令提示符窗口,進(jìn)入到HelloWorld.java所在目錄,鍵入下面的命令:
javac HelloWorld.java java HelloWorld
如果屏幕如圖,能夠正確輸出且不提示錯誤,表示JDK開發(fā)環(huán)境配置完成。
56、什么是AVD,有哪些特點(diǎn)?
Android Virtual Device是一個經(jīng)過配置的模擬器,可以模擬顯示屏幕的大小、屏幕分辨率、觸摸屏、軌跡球、鍵盤、GPS、聲音播放、SD卡支持,緩存區(qū)大小等。AVD也存在著缺點(diǎn),不能模擬重力感應(yīng)、麥克風(fēng)等一些硬件設(shè)備,因此有時候也需要實體手機(jī)上運(yùn)行和測試Android應(yīng)用程序。
57、什么是ADT?
Android Development Tools plugin(ADT)是使用Eclipse進(jìn)行Android移動應(yīng)用開發(fā)的一個方便的開發(fā)、仿真測試平臺。
58、在手機(jī)的實機(jī)上進(jìn)行開發(fā)調(diào)試需要在手機(jī)上如何設(shè)置?
在手機(jī)上進(jìn)行開發(fā)調(diào)試需要在手機(jī)上進(jìn)行設(shè)置,選擇設(shè)置—應(yīng)用程序-開發(fā)-USB調(diào)試,之后USB連接開發(fā)計算機(jī)才能進(jìn)行開發(fā)調(diào)試。
59、Activity,intent、Service和BroadCastReceiver之間是什么關(guān)系
60、Intent的Action、Category屬性的作用是什么?
Action屬性主要用來定義Intent要執(zhí)行的抽象動作,它是一個字符串。使用時只需在程序中定義,并在要訪問組件的
在文件AndroidManifest.xml里,
61、Intent的Data、Type屬性的作用是什么?
Intent的Data屬性的作用是向Action屬性提供操作的數(shù)據(jù)。Data屬性接受一個Uri對象,此對象可以決定所要操作數(shù)據(jù)的類型及數(shù)據(jù)的具體值。
可以通過設(shè)置Type屬性來顯式指定特定類型數(shù)據(jù)(MIME)。一般Intent會根據(jù)數(shù)據(jù)本身對其數(shù)據(jù)類型進(jìn)行判定,但是如果使用Intent的Type屬性進(jìn)行設(shè)置,可以實現(xiàn)強(qiáng)制顯式指定的類型而不再進(jìn)行推導(dǎo)。
62、簡述Intent的功能與作用。
Intent是Android中各種組件之間傳送信息的“信使”。中文里Intent有“意圖、目的”的意思,在這里仍兼有這樣的含義,因為在組件之間導(dǎo)航的過程中,我們也需要使用Intent將意圖一并傳遞過去。上一章中,在一個Activity里激發(fā)另一個Activity的例子中就體現(xiàn)了Intent的功能。
使用Intent的好處就是應(yīng)用程序可以啟動只具有某種特征的的組件,而不必指定某個具體的組件。Intent中可以封裝不同組件之間進(jìn)行導(dǎo)航的意圖。這些意圖需要通過Intent的屬性來表現(xiàn)。
63、Intent的實現(xiàn)策略分為幾種類型,請分別敘述。
Intent的實現(xiàn)策略即指Intent尋找組件的方法。這種策略分為兩種:一種是直接Intent,也稱為顯式Intent。另一種是間接Intent,也稱為隱式Intent。直接Intent方式需要通過指定Intent的Component屬性(調(diào)用setComponent(ComponentName)或者setClass(Context,Class)來指定)來實現(xiàn)。這樣應(yīng)用就會對應(yīng)的啟動所指定的具體組件類。在以上對Intent的Component屬性的介紹中就說明過。這種策略主要在源組件知道目標(biāo)組件名稱的情況下使用。間接Intent策略中沒有指定Component屬性的Intent,尋找組件需要通過
64、Android系統(tǒng)提供的Action常量有哪些,如何使用。
Action常量 常量值(字符串)
動作說明
ACTION_CALL android.intent.action.CALL 呼叫指定用戶
ACTION_EDIT android.intent.action.EDIT 對于指定數(shù)據(jù)進(jìn)行編輯 ACTION_VIEW android.intent.action.VIEW 向用戶顯示指定數(shù)據(jù) ACTION_PICK android.intent.action.PICK 從列表中選擇并返回某項目 ACTION_DIAL android.intent.action.DIAL 顯示打電話面板,可以實現(xiàn)緊急呼叫
ACTION_SEND android.intent.action.SEND 向他人發(fā)送數(shù)據(jù)(短信)ACTION_ANSWER android.intent.action.ANSWER 應(yīng)答電話
65、如何在程序清單文件AndroidManifest.xml中配置Activity?
對于應(yīng)用程序中的每一個Activity我們都需要在程序清單文件AndroidManifest.xml中進(jìn)行配置,這樣才能有機(jī)會運(yùn)行。這種配置也是非常簡單的,方法就是在程序清文件的
?(1)name:指明要配置的Activity的實現(xiàn)類
?(2)icon:指明要配置的Activity的圖標(biāo)
?(3)label:指明要配置的Activity的標(biāo)簽
在文件AndroidManifest.xml中我們除了要配置每一個Activity外,還需進(jìn)行子元素
66、介紹與Activity生命周期相關(guān)的回調(diào)方法的功能及使用方法。
與Activity生命周期相關(guān)的回調(diào)方法主要有以下七個:
(1)onCreate():當(dāng)創(chuàng)建一個Activity時,系統(tǒng)會回調(diào)onCreate()方法進(jìn)行初始化設(shè)置,如創(chuàng)建視圖、綁定數(shù)據(jù)至列表。
(2)onStart():當(dāng)一個Activity開始執(zhí)行時此方法被回調(diào),這時的Activity是可見的,會緊跟在onCreate()方法后面執(zhí)行。
(3)onResume():當(dāng)一個Activity真正開始運(yùn)行或重新恢復(fù)時被回調(diào),此時會獲得焦點(diǎn)。
當(dāng)一個Activity運(yùn)行時,如果用戶又激活了另一個Activity,這時第一個Activity將會被暫停。在第一個Activity在沒有被殺死的情況下,以后又有了重新運(yùn)行的機(jī)會,那么就會直接調(diào)用onResume()方法將其恢復(fù)。
(4)onPause():暫停Activity時被回調(diào)。如果在一個Activity運(yùn)行時,用戶又激活了另一個Activity,這時將會調(diào)用第一個Activity的onPause()方法將其暫停。在Activity的狀態(tài)變換過程中onResume()和onPause()方法經(jīng)常被調(diào)用,因此在使用中應(yīng)使用簡單高效的代碼。
(5)onStop():停止Activity時被回調(diào)。
如果在一個Activity運(yùn)行時,用戶又激活了另一個Activity,而且第一個Activity很久都沒有得到再次運(yùn)行機(jī)會,就會調(diào)用onStop()方法將第一個Activity停止。
(6)onReStart():在Activity從停止?fàn)顟B(tài)轉(zhuǎn)換到活動狀態(tài)前,回調(diào)該方法。
當(dāng)一個處于停止?fàn)顟B(tài)的Activity又獲得了用戶輸入焦點(diǎn),就會調(diào)用onRestart()方法,重新開始執(zhí)行這個Activity。
(7)onDestroy():在銷毀Activity前,即進(jìn)入非活動狀態(tài)前,回調(diào)該方法。
67、Activity在其生命周期中會處于哪幾種狀態(tài)?
一個Activity在其生命周期中會在四個重要狀態(tài)間進(jìn)行轉(zhuǎn)換。下面分別說明各狀態(tài):
(1)活動狀態(tài),處于該狀態(tài)時,Activity位于前臺,用戶可見且可獲得焦點(diǎn);
(2)暫停狀態(tài),處于該狀態(tài)時,該Activity仍可見,但失去焦點(diǎn),其它Activity位于前臺;
(3)停止?fàn)顟B(tài),處于該狀態(tài)時,Activity不可見且失去焦點(diǎn);
(4)銷毀狀態(tài),處于該狀態(tài)時,Activity被系統(tǒng)或進(jìn)程結(jié)束。
68、如何將一個Activity設(shè)置成窗口的樣式。
在AndroidManifest.xml中定義Activity的地方添加:
android:theme=”@android:style/Theme.Dialog”或
android:theme=”@android:style/Theme.Translucent”就變成半透明的
69、使用資源包括哪幾種方法?
(1)在代碼里使用資源類;
(2)在代碼里調(diào)用資源類并實例化;(3)從其他資源類里引用。
70、談?wù)刟ndroid中常用的幾種布局。
在Android中,共有五種布局方式,分別是:FrameLayout(框架布局),LinearLayout(線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)。
(1)FrameLayout 框架布局,放入其中的所有元素都被放置在最左上的區(qū)域,而且無法為這些元素指定一個確切的位置,下一個子元素會重疊覆蓋上一個子元素,適合瀏覽單張圖片。(2)LinearLayout 線性布局,是應(yīng)用程序中最常用的布局方式,主要提供控件水平或者垂直排列的模型,每個子組件都是以垂直或水平的方式來定位(默認(rèn)是垂直)。
(3)AbsoluteLayout 絕對定位布局,采用坐標(biāo)軸的方式定位組件,左上角是(0,0)點(diǎn),往右x軸遞增,往下Y軸遞增,組件定位屬性為android:layout_x 和 android:layout_y來確定坐標(biāo)。(4)RelativeLayout 相對布局,根據(jù)另外一個組件或是頂層父組件來確定下一個組件的位置。和CSS里面的類似。
(5)TableLayout 表格布局,類似Html里的Table.使用TableRow來布局,其中TableRow代表一行,TableRow的每一個視圖組件代表一個單元格。
71、android中常用的數(shù)據(jù)存儲方式有哪些?
常用的數(shù)據(jù)存儲方式:SharePreference存儲、File存儲(分為手機(jī)內(nèi)存存儲和SD卡存儲)、SQLite數(shù)據(jù)庫存儲和網(wǎng)絡(luò)存儲。
72、一個Activity就是一個可視化的界面或者看成是控件的容器。(對)
73、Intent有很長的生命周期,是沒有用戶界面的程序,可以保持應(yīng)用在后臺運(yùn)行,而不會因為切換頁面而消失。(錯)74、當(dāng)Antivity的啟動模式設(shè)置為SingleTop表示當(dāng)該Anctivity的實例在棧頂時只會產(chǎn)生一個實例。(對)
75、onPause()方法在activity被暫?;蚴栈豤pu和其他資源時調(diào)用,該方法用于保存活動狀態(tài)的,也是對運(yùn)行時數(shù)據(jù)的現(xiàn)場保護(hù)。(對)
76、onDestroy是activity被結(jié)束掉前最后一個被調(diào)用方法,當(dāng)調(diào)用finish方法或者系統(tǒng)為了節(jié)省空間將它暫時性的結(jié)束掉時候調(diào)用。(對)
77、不是所有的Activity都有自己的生命周期。(錯)78、onPause()是service的生命周期方法()。(錯)
79、如果service已經(jīng)啟動,再次啟動該服務(wù)時將先后調(diào)用onCreate()和onStartCommand()方法。(錯)
80、利用HttpURLConnection的.getInputStream()方法得到的是字符流。()(錯)81、程序中使用http協(xié)議從網(wǎng)上下載文件時,無需設(shè)置訪問網(wǎng)絡(luò)的權(quán)限。()(錯)82、使用startService()方法啟動服務(wù)后,調(diào)用者和服務(wù)間沒有關(guān)聯(lián),即使調(diào)用者退出了,服務(wù)任然進(jìn)行。(對)
83、當(dāng)應(yīng)用程序中某廣播在AndroidMainifest進(jìn)行注冊后,即使該應(yīng)用程序關(guān)閉后,也可以接受操作系統(tǒng)發(fā)出的廣播信息。(對)
84、UIthread 通常就是main thread,Android啟動程序時會替它建立一個MessageQueue。
(對)
85、廣播接收器可以在Activity中單獨(dú)注冊與注銷。(對)86、廣播接收器只能在配置文件中注冊。(錯)87、對下面代碼:
notification.vibrate=new long[]{100,200,100,500},其中notification是通知管理器對象,表示我們對Notification設(shè)置了震動,并且是100ms延遲后,震動200ms,然后停止100ms,再震動500ms。()(對)88、使用Notification時,需要發(fā)送廣播實現(xiàn)notify。()(錯)89、在AndroidManifest.xml中注冊廣播,需要使用標(biāo)簽。()(對)
90、有2種方式注冊BroadcastReceiver的方法,一是靜態(tài)的在AndroidManifest.xml中注冊,二是動態(tài)的在代碼中注冊。()(對)91、如果需要一個通知立即顯示,那么在構(gòu)造Notification對象的時候,需要在構(gòu)造函數(shù)的第三個參數(shù)中傳遞 new Calendar()的值()。(錯)
92、取消注冊BroadcastReceiver,調(diào)用Context.unregisterReceiver()方法()。(對)93、編寫用Intent實現(xiàn)的用戶登錄程序。
要求:在第一個界面上輸入用戶名和密碼,在第二個界面上顯示前一界面中輸入的用戶名和密碼。
94、編寫程序?qū)崿F(xiàn)如下功能:
(1)程序包含2個Activity(2)Activity01包含一個按鈕,點(diǎn)擊按鈕跳轉(zhuǎn)到Activity02;(3)Activity02包含一個按鈕,點(diǎn)擊按鈕跳轉(zhuǎn)到Activity01。95、使用CheckBox控件實現(xiàn)多項選擇。
要求:添加4個選項,名稱分別為:swim、run、dance、walk 96、設(shè)計加減法計算器。
要求:程序包括兩個頁面,第一個頁面主要包括兩個文本編輯框,用于輸入兩個操作數(shù),輸入操作數(shù)后,單擊系統(tǒng)的MENU按鈕,會彈出Menu菜單,Menu菜單包括“相加”、“相減”和“退出” 三個按鈕,當(dāng)點(diǎn)擊“相加”按鈕會對兩個操作數(shù)執(zhí)行加法,當(dāng)點(diǎn)擊“相減”按鈕時,會對兩個操作數(shù)執(zhí)行減法,在另一個頁面會顯示計算結(jié)果。97、制作進(jìn)度條。
要求:點(diǎn)擊“開始”按鈕進(jìn)入進(jìn)度條顯示頁面,然后每點(diǎn)擊一次開始按鈕,第一進(jìn)度條和第二進(jìn)度條都會發(fā)生變化,并將變化的值在頁面上顯示出來。98、設(shè)計用TableLayout布局實現(xiàn)的界面,內(nèi)容自定。要求:界面內(nèi)容有內(nèi)涵,避免使用無意義的文字。99、編寫程序創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表。要求:(1)數(shù)據(jù)庫名為稱:datab;
(2)數(shù)據(jù)表的名稱:satffs,表字段有id(整型),name(字符串型),phone(字符串型),email(字符串型);
(3)另建一文本文件,存放用ADB查看創(chuàng)建的數(shù)據(jù)庫和數(shù)據(jù)表命令過程。
第二篇:Android期末復(fù)習(xí)題總結(jié)
1、Intent的Component屬性的作用是什么,如何定義此屬性? component(組件),指定Intent的的目標(biāo)組件的類名稱。通常 Android會根據(jù)Intent 中包含的其它屬性的信息,比如action、data/type、category進(jìn)行查找,最終找到一個與之匹配的目標(biāo)組件。但是,如果 component這個屬性有指定的話,將直接使用它指定的組件,而不再執(zhí)行上述查找過程。指定了這個屬性以后,Intent的其它所有屬性都是可選的。Component屬性的作用是用來指定Intent的目標(biāo)組件的類名稱。如果Component這個屬性被指定了的話,Intent的其它屬性都是可選項,Android會直接使用Component指定目標(biāo)組件,而不再執(zhí)行其它查找過程。在使用時,需要先創(chuàng)建一個ComponentName對象,然后將它設(shè)置成Intent對象的Component的屬性。通過setComponent()、setClass()和setClassName()三種方法都可以設(shè)置組件的名稱,通過getComponent()方法則可獲得設(shè)置項。
2、發(fā)送廣播時,可以通過sendCatagoryBroadcast()方法將Intent對象發(fā)送出去().(錯)
3、Android是什么?一種操作系統(tǒng)
4、下面關(guān)于Android dvm的進(jìn)程和Linux的進(jìn)程,應(yīng)用程序的進(jìn)程說法正確的是()DVM指dalivk的虛擬機(jī)。每一個Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個獨(dú)立的Dalvik虛擬機(jī)實例。而每一個DVM都是在Linux 中的一個進(jìn)程,所以說可以認(rèn)為是同一個概念。
5、Android操作系統(tǒng)最早由哪個公司研發(fā)?()Android公司
6、下列中不屬于手持設(shè)備的是()機(jī)頂盒
7、下列不是手機(jī)操作系統(tǒng)的是()。Windows Vista
8、到目前為止,Android操作系統(tǒng)的最高版本是哪個?()Android L
9、安裝Android SDK時,可以通過()在線安裝或離線安裝。Android sdk manager
10、開發(fā)Android應(yīng)用程序時,一般使用的計算機(jī)語言是()。JAVA 11,E/AndroidRuntime(1099): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.CanvasActivitys}: java.lang.ClassNotFoundException: com.test.CanvasActivitys in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk] 這段話是程序報錯在LogCat中產(chǎn)生的記錄,從中可以分析問題的原因可能在哪里?()Canva類沒有在AndroidManifest中正確申明sActivitys
12、對于直接Intent,Android不需要去做解析,因為目標(biāo)組件已經(jīng)很明確,Android需要解析的是那些間接Intent,通過解析,將 Intent映射給可以處理此Intent的Activity、IntentReceiver或Service(對)Intent 可以傳遞 View對象(錯)Intent起著一個媒體中介的作用,專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦(對)通過Intent可以刪除程序(對)
13、下面退出Activity錯誤的方法是()。System.exit()
14、當(dāng)啟動一個Activity并且新的Activity執(zhí)行完后需要返回到啟動它的Activity來執(zhí)行的回調(diào)函數(shù)是()。startActivityResult()
15、這是一個資源配置文件,下面描述正確的是?()這個shape文件是畫一條虛線,實線段5dp,間隔3dp
16、Toast toast = new Toast(this);toast.setText(“今天天氣不錯n哈哈”);toast.show();上面代碼的執(zhí)行結(jié)果是什么()。代碼會拋出異常,因為new出的Toast對象不能再使用setText方法來設(shè)置提示框文本
17、setOnTouchEvent 設(shè)置返回值為true 和 false有何區(qū)別?()返回true表示這個消息已經(jīng)被處理結(jié)束,后續(xù)的handler不再接收到這個消息
18、下列哪個可做EditText編輯框的提示信息()。android:hint
19、使進(jìn)度條變橫向的系統(tǒng)樣式是()@android:style/Widget.ProgressBar.Horizontal 20、關(guān)于Android 事件機(jī)制與事件監(jiān)聽,下列說法不正確的有()。i.View類里的event listener是一個帶有回調(diào)方法的接口,當(dāng)UI里的組建是被用戶觸發(fā)時,這些方法會被系統(tǒng)框架所調(diào)用;(對)ii.來自View.OnClickListener,當(dāng)點(diǎn)擊這個Item(在觸摸模式),或者當(dāng)光標(biāo)聚集在這個Item上時按下“確認(rèn)”鍵,導(dǎo)航鍵,或者軌跡球,它會被調(diào)用;(對)iii.來自View.OnLongClickListener,當(dāng)長按這個Item(在觸摸模式),或者當(dāng)光標(biāo)聚集在這個Item上時長按“確認(rèn)”鍵,導(dǎo)航鍵,或者軌跡球,它會被調(diào)用;(對)iv.來自View.OnFocusChangeListener,當(dāng)手移到或離開這個Item,它會被調(diào)用(對)v.來自View.OnKeyListener,當(dāng)光標(biāo)移到這個Item,按下和釋放一個按鍵的時候,它會被調(diào)用;(對)vi.來自View.OnTouchListener,在這個Item的范圍內(nèi)觸摸的時候,它會被調(diào)用;(對)vii.來自View.OnCreateContextMenuListener,當(dāng)上下文菜單被建立時,只需短按一下,它會被調(diào)用。(錯)
21、關(guān)于對話框,下面說法正確的是()。對話框的父類不是View
22、創(chuàng)建一個提示對話框,應(yīng)創(chuàng)建下面哪種對話框?qū)嵗?)。AlertDialog
23、在AlertDialog中,以下哪個方法是用于取消的()。setNegativeButton
24、在android中使用Menu時可能需要重寫的方法有()。(1)onCreateOptionsMenu()(3)onOptionsItemSelected()
25、鍵盤事件處理方法中,以下哪個方法是用來處理鍵盤按鍵的釋放事件的()。keyReleased(int keyCode)
26、下面Android的存儲方式中,除SharedPreferences外還有哪種方式是不可以將數(shù)據(jù)在不同應(yīng)用間數(shù)據(jù)共享的()。Files
27、當(dāng)使用文件存儲的時候,默認(rèn)創(chuàng)建的文件會放在什么位置()。app
28、關(guān)于SharedPreferences和文件存儲數(shù)據(jù)描述正確的是()。使用文件存儲需要創(chuàng)建文件,而SharedPreferences的存儲方式自動創(chuàng)建xml文件
29、使用SharedPreferences進(jìn)行數(shù)據(jù)存儲的時候,下面哪個方法是不參與的()。edit()30、使用SharedPreferences存儲數(shù)據(jù)時,會創(chuàng)建一個什么類型的文件來進(jìn)行數(shù)據(jù)存放()。.xml文件
31、在程序中,使用SD的文件需要使用以下哪些權(quán)限()。android.permission.WRITE_EXTERNAL_STORAGE
32、下面哪種不是Android的存儲方式()。ContentProvider
33、通過SharedPreferences保存的數(shù)據(jù)存儲在什么文件夾下()。shared_prefs
34、對于一個已經(jīng)存在的SharedPreferences對象setting,想向其中存入一個字符串“person”,setting應(yīng)該先調(diào)用什么方法()。edit()
35、下列說法哪個不正確()。一個Activity的對象a1上彈出了一個模擬對話框形式的Activity的對象a2,按返回鍵后a1執(zhí)行了onStart和onResume方法,a2執(zhí)行了onPause,onStop和onDestroy方法 ;(錯)擁有android:configChanges=“orientation|keyboardHidden” 標(biāo)簽的Activity在橫豎屏轉(zhuǎn)換時不會再執(zhí)行onCreate方法;(對)默認(rèn)情況下對一個Activity的對象進(jìn)行橫豎屏切換,該對象的onCreate方法在每次切換時都會執(zhí)行;(對)一個界面上的EditText中輸入文字后,再按下Home,該界面消失,等再回到該界面文字內(nèi)容仍在,onCreate方法也不會執(zhí)行。(對)
36、下面布局中,哪個布局會把控件放在左上角,當(dāng)添加新的控件的時候,將覆蓋在前一個控件的上層,并且不能設(shè)計控件的位置()。FrameLayout
37、以下有關(guān)RelativeLayout說法正確的是()。這種布局適合橫豎屏切換比較頻繁的應(yīng)用
38、關(guān)于RelativeLayout布局中,下面對屬性描述不相符合的是()。android:layout_marginLeft=“40px”表示當(dāng)前控件左邊空出40像素的空間 ; android:layout_below=“@id/aclock”表示當(dāng)前控件放置于引用名為aclock的控件的下方 android:layout_centerInParent=“true” 表示當(dāng)前控件放置于父控件的橫向和縱向的中央位置 ; android:layout_alignParentTop=“@id/mtop”表示當(dāng)前控件和引用名為mtop的父控件頂端對齊(不符合)
39、關(guān)于RelativeLayout描述正確的是()。該布局為相對布局,其中控件的位置都是相對位置。40、在RelativeLayout布局中,有一個id為entry的EditText,目前有一個Button想放置在其左邊,應(yīng)為Button指定什么屬性設(shè)置()。android:layout_toLeftOf=“@id/entry”
41、在一個相對布局中怎樣使一個控件居中()。android:layout_centerInParent=“true”
42、在表格布局中,android:collapseColumns=“1,2”的含義是:()在屏幕中,不管是否能都顯示完,折疊1、2列
43、絕對布局中,android:layout_x 的含義有()以手機(jī)左上為原點(diǎn),組件顯示到屏幕中的橫向坐標(biāo)值。
44、簡述開發(fā)手機(jī)聯(lián)盟? 開放手機(jī)聯(lián)盟(OHA,Open Handset Alliance,)是美國Google公司與2007年11月5日宣布組建的一個全球性的聯(lián)盟組織,網(wǎng)址為 http://004km.cn。這一聯(lián)盟將會支持Google可能發(fā)布的手機(jī)操作系統(tǒng)或者應(yīng)用軟件,共同開發(fā)名為Android的開放源代碼的移動系統(tǒng)。開放手機(jī)聯(lián)盟包括手機(jī)制造商、手機(jī)芯片廠商和移動運(yùn)營商等幾大類,目前聯(lián)盟成員數(shù)量已經(jīng)達(dá)到了80家。
45、以下哪一個類可以實現(xiàn)廣播接收的功能()。BroadcastReceiver
46、Android系統(tǒng)有哪些特點(diǎn)?(1)應(yīng)用框架可以重復(fù)使用,其組件也可以更換;(2)Dalvik虛擬機(jī)針對移動設(shè)備進(jìn)行了優(yōu)化;(3)優(yōu)化的圖形能力支持2D/3D圖形(OpenGL ES 1.0);(4)集成了基于開源WebKit引掣的瀏覽器;(5)采用SQLite實現(xiàn)結(jié)構(gòu)化數(shù)據(jù)存儲;(6)多媒體支持多種音頻、視頻格式;(7)GSM Telephony(hardware dependent);(8)支持藍(lán)牙Bluetooth,3G和WiFi;(9)支持照相機(jī)、GPS、指南針和加速度儀等傳感器硬件;(10)豐富的開發(fā)環(huán)境,包括模擬機(jī)、調(diào)試工具、內(nèi)存運(yùn)行檢測,以及為Eclipse IDE所寫的插件。
47、在AndroidManifest.xml中注冊一個廣播,需要使用什么標(biāo)簽()。
48、定義廣播需要重寫父類中的什么方法()。onCreate
49、在程序中,發(fā)送廣播的方法是以下哪一個()。sendBroadcast 50、定義一個廣播,需要繼承哪個類(BroadcastReceiver)
51、簡述Android應(yīng)用程序的組成。一般來說,Android 程序包含如下主要的組件類:活動(Activity);用于表現(xiàn)功能服務(wù)(Service);相當(dāng)于后臺運(yùn)行的Activity廣播接收器(BroadcastReceiver)—— 用于接收廣播意圖; Intent——用于連接以上各個組件,并在其間傳遞消息;ContentProviders實現(xiàn)不同組件之間的數(shù)據(jù)共享;View提供了可視化界面的展示。
52、Dalvik虛擬機(jī)與Sun公司定義的標(biāo)準(zhǔn)虛擬機(jī)(JVM)有何不同?(1)Dalvik和JVM的首要差別是Dalvik基于寄存器而JVM基于棧,基于寄存器的虛擬機(jī)對于更大的程序來說,在它們編譯的時候,花費(fèi)的時間更短;(2)Dalvik主要是完成對象生命周期管理,堆棧管理,線程管理,安全和異常管理,以及垃圾回收等等重要功能;(3)Dalvik負(fù)責(zé)進(jìn)程隔離和線程管理,每一個Android應(yīng)用在底層都會對應(yīng)一個獨(dú)立的Dalvik虛擬機(jī)實例,其代碼在虛擬機(jī)的解釋下得以執(zhí)行;(4)不同于JVM運(yùn)行Java字節(jié)碼,Dalvik虛擬機(jī)運(yùn)行的是其專有的文件格式dex,dex文件格式可以減少文件整體尺寸,提高I/O操作的類查找速度;(5)所有的Android應(yīng)用的線程都對應(yīng)一個Linux線程,虛擬機(jī)因而可以更多的依賴操作系統(tǒng)的線程調(diào)度和管理機(jī)制。
53、請談一下Android系統(tǒng)的架構(gòu) Android系統(tǒng)采用了分層架構(gòu),從高層到低層分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運(yùn)行庫層和linux核心層。
54、Android開發(fā)環(huán)境搭建需要哪些主要步驟? 安裝Java 安裝Eclipse 安裝Android SDK 安裝Eclipse插件ADT
55、Windows環(huán)境下如何檢測已經(jīng)安裝成功Java? 寫一個簡單的java程序來測試JDK是否已安裝成功: public class HelloWorld{ public static void main(String[] args){ System.out.println(“Hello world!”);} } 將以上代碼保存為文檔名為HelloWorld.java的文檔。打開命令提示符窗口,進(jìn)入到HelloWorld.java所在目錄,鍵入下面的命令: javac HelloWorld.java java HelloWorld 如果屏幕如圖,能夠正確輸出且不提示錯誤,表示JDK開發(fā)環(huán)境配置完成。
56、什么是AVD,有哪些特點(diǎn)? Android Virtual Device是一個經(jīng)過配置的模擬器,可以模擬顯示屏幕的大小、屏幕分辨率、觸摸屏、軌跡球、鍵盤、GPS、聲音播放、SD卡支持,緩存區(qū)大小等。AVD也存在著缺點(diǎn),不能模擬重力感應(yīng)、麥克風(fēng)等一些硬件設(shè)備,因此有時候也需要實體手機(jī)上運(yùn)行和測試Android應(yīng)用程序。
57、什么是ADT? Android Development Tools plugin(ADT)是使用Eclipse進(jìn)行Android移動應(yīng)用開發(fā)的一個方便的開發(fā)、仿真測試平臺。
58、在手機(jī)的實機(jī)上進(jìn)行開發(fā)調(diào)試需要在手機(jī)上如何設(shè)置? 在手機(jī)上進(jìn)行開發(fā)調(diào)試需要在手機(jī)上進(jìn)行設(shè)置,選擇設(shè)置—應(yīng)用程序-開發(fā)-USB調(diào)試,之后USB連接開發(fā)計算機(jī)才能進(jìn)行開發(fā)調(diào)試。
59、Activity,intent、Service和BroadCastReceiver之間是什么關(guān)系 60、Intent的Action、Category屬性的作用是什么? Action屬性主要用來定義Intent要執(zhí)行的抽象動作,它是一個字符串。使用時只需在程序中定義,并在要訪問組件的 Android四大組件: Activity—表現(xiàn)屏幕界面 Service—后臺服務(wù) BroadcastReceiver—實現(xiàn)廣播機(jī)制 ContentProvider—實現(xiàn)數(shù)據(jù)存儲 Intent類:用來啟動程序并傳遞信息的類 用于Activity、Receiver、Service之間進(jìn)行交互的類,通過無參構(gòu)造方法創(chuàng)建對象,增加其action、category、data、extra等屬性進(jìn)行信息傳遞,并通過Activity中的startActivity(Intent intent)進(jìn)行界面的跳轉(zhuǎn);通過Context中的StartService(Intent intent)進(jìn)行服務(wù)跳轉(zhuǎn);通過Context中的registerReceive(Intent intent)對廣播進(jìn)行注冊,并通過sendBroadcast()進(jìn)行無序消息發(fā)送,或可以通過SendOrderedBroadcast()進(jìn)行有序的消息發(fā)送。Handler類: 用來發(fā)送和處理消息,并配合主線程完成UI的更新;消息Message/Runnable傳遞通過MessageQueue(消息隊列,先進(jìn)先出)進(jìn)行傳遞,并通過Lopper進(jìn)行接收,傳遞的消息可以為Message對象,也可以是Runnable對象;接收方法通過HandleMessage(Message msg)進(jìn)行獲取。SharedPreferences類: 一般用于第一次登錄時的設(shè)置,或者是各個界面的一些小型格式設(shè)置,如字體等。是本地的小型共享數(shù)據(jù)庫,可以通過Context的靜態(tài)方法getSharedPreferences獲得其對象,對象內(nèi)的值均為鍵值對進(jìn)行儲存。通過SharedPreferences對象調(diào)用editor()獲取SharedPreferences.Editor對象,向共享數(shù)據(jù)庫中增加數(shù)據(jù),putString(),并提交數(shù)據(jù),commit();通過SharedPreferences對象獲取共享數(shù)據(jù)庫中的數(shù)據(jù),getString()。 ViewPager:實現(xiàn)界面滑動的類; 通過設(shè)置OnPagerChangedListener設(shè)置ViewPager的監(jiān)聽事件; 實現(xiàn)流程: ①布局文件中設(shè)置ViewPager控件; ②代碼中進(jìn)行綁定控件; ③通過繼承PagerAdapter抽象類進(jìn)行設(shè)置適配器,并傳遞數(shù)據(jù)源; ④適配器中實現(xiàn)兩個抽象方法,兩個重寫方法:getCount()—獲取滑動界面的數(shù)量,isViewFromObject()—判斷視圖是否是來自于Object文件中;重寫兩個方法,分別為destoryItem—銷毀指定位置的視圖;InstantiateItem(),設(shè)置指定位置的視圖; Timer與TimerTask類: Timer為計時器的類,通過無參構(gòu)造方法可以獲取對象,通過Timer.schedule(TimerTask task,long time)進(jìn)行設(shè)置多久后執(zhí)行某任務(wù),當(dāng)任務(wù)執(zhí)行完后,取消計時的功能,Timer.cancle();TimerTask類為抽象類,實例化時,必須重寫run方法;執(zhí)行的內(nèi)容,均在run方法中進(jìn)行設(shè)置,并且執(zhí)行時,已在子線程中進(jìn)行執(zhí)行。自定義View:用到的類有Paint、Canvas、Spec、SpecF、Path、View.MeasureSpec、Timer、TimerTask; 抽象類,通過子類繼承,獲取對象;在布局文件中綁定后,通過代碼,設(shè)置自定義View的屬性;自定義View中,通過重寫OnMeasure方法,對布局文件中的尺寸進(jìn)行測量,并由View中的setMeasureDimenson()方法,進(jìn)行數(shù)據(jù)的保存;通過重寫Ondraw方法,進(jìn)行繪圖;當(dāng)需要繪制動態(tài)圖形時,使用計時器Timer的schedule(TimerTask,long time,delay time2)方法,在time時間后,每隔time2時間,重寫執(zhí)行run方法中的內(nèi)容;將耗時的操作設(shè)置在run方法中,并通過View中的invalidate()方法刷新主線程中的繪的圖形,通過postInvalidate()刷新子線程中的圖形。數(shù)據(jù)庫: 常用的數(shù)據(jù)庫有Oracle,需要安裝和配置的大型收費(fèi)數(shù)據(jù)庫;MySQL是中型數(shù)據(jù)庫,同樣需要安裝配置,但不需要收費(fèi);Sqlite是小型免費(fèi)的嵌入式數(shù)據(jù)庫,占用內(nèi)存低,最新版本為3.0。Sqlite數(shù)據(jù)庫需要通過SqliteDatabaseOpenHelper進(jìn)行創(chuàng)建數(shù)據(jù)庫,并通過SqliteDatabase進(jìn)行數(shù)據(jù)庫的操作。輔助類是抽象類,通過繼承,重寫兩個方法,并在子類的構(gòu)造方法中通過OpenHelper的構(gòu)造方法(Context context,String SqlName,SqliteDatabase.CursorFactory factory,int version)進(jìn)行數(shù)據(jù)庫的創(chuàng)建,在onCreate方法中,進(jìn)行數(shù)據(jù)庫表的創(chuàng)建,在onUpdate中進(jìn)行數(shù)據(jù)庫的版本更新。在數(shù)據(jù)庫的操作類中,執(zhí)行exect方法,通過sql語句對數(shù)據(jù)庫進(jìn)行操作。Create table student(_id integer primary key auto increament ,name text);insert into student(_id,name)values(1,zx);delete from student where _id=1;update student set _id=2 where name=zx;select *from student;ListView、GridView適配器的優(yōu)化: 將布局文件中的控件進(jìn)行封裝,當(dāng)視圖加載時,判斷可變視圖是否存在,當(dāng)不存在時,通過布局文件獲取視圖,并新建封裝類,將地址通過setTag()進(jìn)行發(fā)送;當(dāng)視圖存在時,重復(fù)利用地址—getTag()。反射: 存儲數(shù)據(jù)的方式: 共享數(shù)據(jù)庫、數(shù)據(jù)庫、文件、網(wǎng)絡(luò)、內(nèi)容提供者 廣播: 廣播傳播時,需要接收者、發(fā)送者、廣播頻道;根據(jù)發(fā)送者的發(fā)送方式不同,分為有序廣播、無序廣播;有序廣播為接收者有接收順序,根據(jù)設(shè)置的優(yōu)先級不同,確定先后順序,接收者同時也是發(fā)送者,向后面的廣播發(fā)送消息,發(fā)送過程中,可以添加信息,也可以停止廣播的傳輸;無序廣播,接收者之間無聯(lián)系,均從發(fā)送者處接收信息;廣播在傳輸過程中,不能被添加信息,也不可能被停止。廣播在發(fā)送前,需要對接收者進(jìn)行注冊,注冊方式有兩種,動態(tài)注冊、靜態(tài)注冊。動態(tài)注冊,是在代碼中進(jìn)行,通過Context對象調(diào)用靜態(tài)方法進(jìn)行注冊,所有的廣播均可以用動態(tài)注冊,其生命周期依賴于應(yīng)用,相對于靜態(tài)注冊,比較節(jié)省內(nèi)存;靜態(tài)方法在清單文件中進(jìn)行注冊,部分系統(tǒng)廣播不能通過靜態(tài)注冊進(jìn)行,其生命周期依賴于系統(tǒng),當(dāng)系統(tǒng)啟動,即運(yùn)行接收廣播,較耗內(nèi)存。廣播接收者需要繼承BroadcastReceiver,并實現(xiàn)抽象方法onReceive(),通過回調(diào)接口,進(jìn)行數(shù)據(jù)的傳輸。注意:廣播發(fā)送前,必須進(jìn)行接收者的注冊,并且,當(dāng)顯示跳轉(zhuǎn)時,不需要意圖過濾器。安卓布局:九種布局 線性布局,水平或垂直方向兩種格式,主要特點(diǎn)為權(quán)重,即規(guī)定各控件在視圖中的占有的比例; 相對布局,相對于父控件或兄弟控件的布局,各控件需指定相對位置; 絕對布局,指定各控件在視圖中的絕對位置,幾乎不再使用; 表格布局,子布局放在行中,列由控件表示(TableRow); 幀布局:覆蓋前面布局的布局,一般用于暫停按鈕等; 風(fēng)格布局:可以跨行、跨列的布局,占滿換行; 左右側(cè)滑:可以實現(xiàn)左右側(cè)滑,通過設(shè)置主菜單和二級菜單設(shè)置左右兩個菜單; 下拉刷新:設(shè)置下拉刷新、上拉加載的功能; 抽屜布局; 安卓版本及對應(yīng)的API: 1.6—4;2—7;3—11;4—15;4.3—18;5—20;5.1—21;6—23;7—25; 安卓四層架構(gòu): 應(yīng)用層:Java語言開發(fā),主要從事App開發(fā); 運(yùn)行庫層:Java語言與C語言,View視圖、管理類等的開發(fā); 架構(gòu)層:C語言與Linux語言,各種框架、瀏覽器等; 內(nèi)核層:Linux、C語言,開發(fā)各種驅(qū)動; 安卓四大組件: Activity:界面,實現(xiàn)程序與用戶之間的交換,有自己的生命周期,七個生命周期;4種啟動模式 Service: BroadcastReceive:三要素,發(fā)送者、接收者、發(fā)送頻道(Intent);類型:有序(接收有序,有數(shù)據(jù)傳送,可以攔截數(shù)據(jù))、無序廣播(相對);注冊方式:靜態(tài)注冊,持久監(jiān)聽,占用內(nèi)存比較高生命周期跟隨系統(tǒng),動態(tài)注冊(代碼中),所有廣播都可以動態(tài)注冊,部分系統(tǒng)廣播不能動態(tài)注冊,臨時監(jiān)聽,占用內(nèi)存較少,生命周期隨應(yīng)用進(jìn)行; ContentProvide:不能存放數(shù)據(jù),五種存放數(shù)據(jù)方式之一,特點(diǎn)為:①為數(shù)據(jù)的獲取等操作添加一個統(tǒng)一的接口②可以實現(xiàn)跨應(yīng)用訪問數(shù)據(jù);③可以實現(xiàn)Android中通訊錄、消息、音頻、視頻等的訪問或操作;通過ContentReceive進(jìn)行數(shù)據(jù)的訪問,可以對數(shù)據(jù)進(jìn)行增刪改查操作。 動畫: IO流: 序列化: AlertDialog: Set實現(xiàn)類: 手機(jī)電量檢測: 自定義SurfaceView: 自定義View:三個構(gòu)造方法的區(qū)別 Message:Handler.obtain/new/Message.obtain HttpUriConnection訪問網(wǎng)絡(luò) gride 異步任務(wù) 動畫 抽象類和接口 反射 克隆 序列化 側(cè)滑的實現(xiàn) 數(shù)據(jù)庫 Socket: Gson解析 異步任務(wù)和子線程區(qū)別 WebView 版本更新 照片的圓角化 Collection與Collections Sql語句 MVP框架與MVC: TCP與UDP的區(qū)別: 一鍵分享的流程: Http協(xié)議的理解: 不使用框架訪問網(wǎng)絡(luò): List集合與set集合: 自定義View的流程: 線性布局的特點(diǎn): ViewPager的原理: 服務(wù)的啟動方式: Activity的啟動方式: Xml數(shù)據(jù)解析: 這是期末復(fù)習(xí)題: 八年級上學(xué)期歷史期末試卷 (時間:60分鐘分值:60分) 一、單項選擇題(本大題共17小題,1—10題每題1分,11—17題每題2分,共計24分)1. 每年6月26日是世界禁毒日,我們應(yīng)珍愛生命,遠(yuǎn)離毒品。 我國近代的一次禁毒事件是 () A.虎門銷煙B.第一次鴉片戰(zhàn)爭C.第二次鴉片戰(zhàn)爭D.公車上 書 2.作為洋務(wù)派的代表,受命于危難之際收復(fù)新疆。清政府在他的建議下于1884 年設(shè)新疆行省。他是 () A.林則徐B.李鴻章C.張之洞D.左宗棠 3.當(dāng)我們觀看“焦點(diǎn)訪談”的時候,能夠聯(lián)想到中國大眾傳媒的先驅(qū)是 () A.《新青年》B.《新民晚報》C.《申報》D.《新華日報》 4.黃埔軍校與以往軍校的主要不同點(diǎn)是 () A.共產(chǎn)黨人任教官B.重視軍事教育 C.注重培養(yǎng)學(xué)生的愛國思想和革命精神D.培養(yǎng)了大批軍事人才 5.2007年8月1日,是中國人民解放軍建軍80周年紀(jì)念日。主要是因為80年 前的這天發(fā)生了 () A.九一八事變B.南昌起義C.西安事變D.七七事變 6.土地革命時期,毛澤東指出:“星星之火,可以燎原”:這里的“星星之火”是() A.井岡山革命根據(jù)地 B.陜甘革命根據(jù)地 C.左右江革命根據(jù)地D.中央革 命根據(jù)地 7. 1936年12月13日(西北文化日報》登載了一則重要新聞,標(biāo)題為:“爭取 中華民族生存,張楊昨發(fā)動對蔣兵諫”。該新聞報道的內(nèi)容應(yīng)該是 () A.九一八事變B.西安事變C.盧溝橋事變D.臺兒莊戰(zhàn)役 8.為爭取抗戰(zhàn)勝利和實現(xiàn)中國光明前途準(zhǔn)備了條件的會議是: () A.遵義會議B.中共三大C.中共七大D.中共七屆二中全 會 9.解放后為了紀(jì)念淮海戰(zhàn)役,國務(wù)院決定興建淮海戰(zhàn)役紀(jì)念館,你認(rèn)為紀(jì)念館 建在何地合適() A.南京B.連云港C.濟(jì)南D.徐州 10.學(xué)習(xí)人民解放戰(zhàn)爭的歷史,老師要求同學(xué)們推薦四部電影中,有錯誤的是 () A.《大決戰(zhàn)》B.《挺進(jìn)大別山 》 C.《血戰(zhàn)臺兒莊》 D.《渡江偵查記》 11.“圓明園,我為你哭泣!”同學(xué)們學(xué)習(xí)了“火燒圓明園”這段歷史后,內(nèi)心充滿了 悲憤和痛惜。第二次鴉片戰(zhàn)爭中,搶劫、燒毀了這座世界著名皇家園林的殖民強(qiáng) 盜是() A.英德聯(lián)軍B.德法聯(lián)軍C.英法聯(lián)軍D.美俄聯(lián)軍 12.下列人物與事件有直接聯(lián)系的一組是 () A.左宗棠——江南制造總局B.孫中山——指揮武昌起義 C.嚴(yán) 復(fù)——發(fā)起公車上書D.張 謇——創(chuàng)辦大生紗廠 13.魯迅在《狂人日記》中寫到“我翻開歷史一查……每一頁上都寫著?仁義道 德?……仔細(xì)看了半夜……滿本都寫著兩個字?吃人?”,請你說出它最準(zhǔn)確地反映了 新文化運(yùn)動的哪項內(nèi)容() A.提倡新道德,反對舊道德B.提倡科學(xué),反對愚昧 C.提倡新文學(xué),反對舊文學(xué)D.提倡民主,反對專制 14.中國工農(nóng)紅軍取下八角帽,摘下紅五星,穿上國民革命軍軍服,開赴抗日 前線應(yīng)該在: A.九一八事變之后B.西安事變之后 () C.盧溝橋事變之后D.中共七大之后 15.毛澤東曾提筆寫到“山高路遠(yuǎn)坑深,大軍縱橫馳奔。誰敢橫刀立馬,惟我彭大 將軍?!笨谷諔?zhàn)爭期間,在“彭大將軍”的指揮下,中國軍隊主動出擊日軍的規(guī)模最 大的一次戰(zhàn)役是 A.臺兒莊戰(zhàn)役B.百團(tuán)大戰(zhàn)C.平型關(guān)大捷D.渡江戰(zhàn)役() 16.抗日戰(zhàn)爭勝利后,蔣介石三次發(fā)電報邀請毛澤東赴重慶進(jìn)行和平談判。其 真實目的是: ①為發(fā)動內(nèi)戰(zhàn)贏得準(zhǔn)備時間 ②欺騙人民,將發(fā)動戰(zhàn)爭的責(zé)任嫁禍到共產(chǎn)黨身 上() ③積極爭取國內(nèi)和平④希望同共產(chǎn)黨合作,建立和平、民主的新中國 A.①②B.③④C.①③D.②④ 17.1949年美國《生活》雜志刊登了一幅解放軍解放上海后,很多戰(zhàn)士睡在馬 路邊上的照片,照片標(biāo)題為“國民黨統(tǒng)治時代結(jié)束了!”下面敘述中,對這句話的理解最準(zhǔn)確的是() A.上海是最后一座解放的城市B.解放軍的行動贏得了民心,國民黨統(tǒng)治必 然被推翻 C.上海解放標(biāo)志著國民黨統(tǒng)治被推翻D.上海解放標(biāo)志著解放戰(zhàn)爭的勝利 選擇題答案處: 題號 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 答案 二、非選擇題。(36分,共3題,每題12分) 18.(本題12分)主題中國近代化的艱難探索 在老師的指導(dǎo)下,歷史學(xué)習(xí)小組圍繞“中國近代化的艱難探索”這一學(xué)習(xí)主題,通 過搜集、整理、分析材料,進(jìn)行探究活動,請你一起參加。 (1)下圖是同學(xué)們搜集到的部分資料。 A. 民報B.江南制造總局C.新青年(青年雜志)D.康有為 將圖中資料的字母代號填在相應(yīng)的橫線上(4分) ①屬于洋務(wù)運(yùn)動時期的是_____________②屬于戊戌變法時期的是 _____________ ③屬于辛亥革命時期的是__ _______④屬于新文化運(yùn)動時期的是 ___________ (2)通過對資料的分析探究,同學(xué)們繪制了四次運(yùn)動的思想主張變化示意圖,請你幫助他們在空格中填上未完成部分的內(nèi)容。(4分) “ (3)根據(jù)以上分析,從這些思想主張的發(fā)展變化,你可以看出中國近代化探索 過程具有什么特點(diǎn)?(1分) (4)有人認(rèn)為:歷史上每一次思想的形成都會引起重大的社會變革。想一想,舊民主主義革命時期中國人民向西方學(xué)習(xí),為什么屢遭失?。磕隳艿贸鍪裁唇Y(jié) 論?(3分) 19.(本題12分)主題重走長征路 步驟一: 了解長征歷程 材料一:毛澤東《七律?長征》: 紅軍不怕遠(yuǎn)征難,萬水千山只等閑。五嶺逶迤騰細(xì)浪,烏蒙磅礴走泥丸。 金沙水拍云崖暖,大渡橋橫鐵索寒。更喜岷山千里雪,三軍過后盡開顏。 (1)根據(jù)材料一中的“紅軍不怕遠(yuǎn)征難,萬水千山只等閑”,結(jié)合所學(xué)知識,說 說紅軍長征途中經(jīng)歷了哪些艱難險阻?(至少寫出3個)(3分) (2)回憶所學(xué)知識,請你完成如下紅一方面軍的長征路線圖: ①遵義②大渡河臘子口③。(3分)步驟二:體驗長征勝利 (3)“三軍過后盡開顏”指的是長征中哪個重要的環(huán)節(jié)?(1分)長征勝利有什么 意義?(1分) 步驟三:感悟長征精神 (4)紅軍長征的勝利,為我們留下了寶貴的精神財富。你認(rèn)為紅軍長征體現(xiàn)了什么精神?(至少回答出兩點(diǎn))(2分)想一想,在今后的學(xué)習(xí)生活中,你將怎樣落實長征精神?(2分) 20.(本題12分)主題以史為鑒面向未來 步驟一:讀圖片——回顧屈辱的歷史 圖一(地點(diǎn):沈陽)圖二(地點(diǎn):北平)圖三(地點(diǎn):南京) (1)上述圖片反映了哪幾個重大的歷史事件?(3分) 步驟二:聽歌曲——體會不屈的抗?fàn)?/p> 材料一:風(fēng)在吼,馬在叫,黃河在咆哮,黃河在咆哮。河西山岡萬丈高,河?xùn)|河北高粱熟了,萬山叢中抗日英雄真不少!青紗帳里游擊健兒逞英豪!端起了土槍洋槍,揮動著大刀長矛,保衛(wèi)家鄉(xiāng)!保衛(wèi)黃河!保衛(wèi)華北!保衛(wèi)全中國! 材料二:我們都是神槍手,每一顆子彈消滅一個敵人.我們都是飛行軍,哪怕那山高水又深.在密密的樹林里,到處都安排同志們的宿營地.在高高的山崗上,有我們無數(shù)的好兄弟。 四萬萬同胞齊武裝,不分黨,不分派.大家都來抵抗.我們越打越堅強(qiáng),日本強(qiáng)盜正在走向滅亡.待到最后勝利日,世界的和平見曙光.(2)材料一是孫明同學(xué)收集到的《黃河大合唱》中的歌詞片段。根據(jù)這段歌詞,歸納《黃河大合唱》在當(dāng)時產(chǎn)生的主要影響。(2分) (3)材料二是《游擊隊之歌》,它唱出了人民共同抗敵的情景,請寫出抗戰(zhàn)中中國軍隊英勇抗敵的一個著名戰(zhàn)役。你認(rèn)為抗戰(zhàn)勝利最主要的原因是什么?(2分) 步驟三:看新聞——把握中日關(guān)系現(xiàn)狀 材料三:2007年3月中央電視臺著名節(jié)目主持人白巖松專訪日本?;貒笤谘胍暋稏|方時空》談訪日感受時說,在日本參觀靖國神社的人每年大約有500萬人次,且大部分是青年人,而參觀日本的和平展館每年卻只有50萬人次左右。材料四:2007年是中日邦交正?;?5周年,新聞聯(lián)播報道,12月27日至30日日本新任首相福田康夫訪華,在訪問期間,胡錦濤、吳邦國和溫家寶分別與他舉行了會見和會談,雙方就構(gòu)筑和發(fā)展中日兩國戰(zhàn)略互惠關(guān)系達(dá)成廣泛共識,并規(guī)劃了兩國關(guān)系未來發(fā)展。 (4)根據(jù)材料三,日本有一部分青年人如此熱衷地參觀靖國神社說明了什么問題?這對中日關(guān)系產(chǎn)生了什么影響?(2分) (5)材料四反映了當(dāng)前中日關(guān)系發(fā)展的主流是什么?你認(rèn)為中日關(guān)系要保持長期健康穩(wěn)定發(fā)展,兩國應(yīng)該作出哪些努力?(3分) 八年級期末歷史試題 參考答案: 一、單項選擇題(本大題共17小題,1—10題每題1分,11—17題每題2分,共計24分) 1.A2.D3.C4.C5.B6.A7.B8.C9.D10.C 11.C12.D13.A14.C15.B16.A17.B 二、非選擇題。(36分,共3題,每題12分) 18.(1)BDAC(4分) (2)師夷長技或自強(qiáng)求富;戊戌變法或百日維新;三民主義或民主共和;新文化運(yùn)動 (4分) (3)層層遞進(jìn)、由表及里、逐漸深入(或由學(xué)習(xí)器物學(xué)習(xí)到學(xué)習(xí)制度,再到學(xué)習(xí)思想等。即洋務(wù)運(yùn)動學(xué)習(xí)西方的軍事器物,戊戌變法、辛亥革命學(xué)習(xí)西方的政治制度,新文化運(yùn)動學(xué)習(xí)西方的思想文化。)(1分) (4)中國是一個半殖民地半封建社會的國家;清政府的腐敗無能;資產(chǎn)階級的軟弱性等。(2分)資本主義道路在中國走不通。(1分) 19.(1)敵人的圍追堵截、自然環(huán)境的惡劣、黨內(nèi)左傾錯誤的影響、少數(shù)民族的阻撓、缺少糧食給養(yǎng)或強(qiáng)渡烏江、四渡赤水、巧渡金沙江、飛奪瀘定橋、過雪山草地等。(3分,任一點(diǎn)得1分) (2)瑞金、金沙江、吳起鎮(zhèn)(或陜甘革命根據(jù)地)(3分) (3)會寧會師(或三大主力紅軍會師)。意義:長征的勝利,使中國革命轉(zhuǎn)危為安,表明中國共產(chǎn)黨或中國工農(nóng)紅軍是一支不可戰(zhàn)勝的力量。(2分) (4)崇高的愛國主義精神;艱苦奮斗、團(tuán)結(jié)互助的精神;不怕困難、不怕犧牲的精神;對革命事業(yè)無限忠誠、為正義事業(yè)獻(xiàn)身的精神。(2分,任一點(diǎn)得1分)熱愛祖國,不怕困難,勇于拼博;努力學(xué)習(xí),為正義事業(yè)英勇奮斗。(2分,任一點(diǎn)得1分) 20.(1)九一八事變 ; 盧溝橋事變 ; 南京大屠殺(3分) (2)影響:鼓舞(激發(fā)、調(diào)動)了中國人民抗日熱情(斗志)。(2分) (3)臺兒莊戰(zhàn)役、百團(tuán)大戰(zhàn)等;全民族團(tuán)結(jié)抗戰(zhàn)或抗日民族統(tǒng)一戰(zhàn)線的建立(2分) (4)日本軍國主義陰魂不散,勢力仍存等。影響:傷害了包括中國在內(nèi)曾遭受日本侵略的亞洲各國人民的感情,使中日關(guān)系、日本和亞洲其他鄰國的關(guān)系惡化。(2分) (5)和平友好是主流(1分)日本必須妥善處理歷史問題,應(yīng)正視歷史,誠心悔過,以史為鑒,面向未來;中國應(yīng)勿忘國恥,發(fā)展經(jīng)濟(jì),提高綜合國力;加強(qiáng)兩國的友好交往和經(jīng)濟(jì)合作;堅決反擊日本右翼勢力的行為,隨時警惕日本軍國主義勢力的復(fù)活等。(2分,任一點(diǎn)得1分) Android WebView總結(jié) 1、添加權(quán)限:AndroidManifest.xml中必須使用許可“Android.permission.INTERNET”,否則會出web page not available錯誤。 2、在要Activity中生成一個WebView組件:WebView webView = new WebView(this); 3、設(shè)置WebView基本信息: 如果訪問的頁面中有Javascript,則webview必須設(shè)置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true); 觸摸焦點(diǎn)起作用 requestFocus(); 取消滾動條 this.setScrollBarStyle(SCROLLBARS_OUTSIDE_OVERLAY); 4、設(shè)置WevView要顯示的網(wǎng)頁: 互聯(lián)網(wǎng)用:webView.loadUrl("");本地文件存放在:assets文件中 5、如果希望點(diǎn)擊鏈接由自己處理,而不是新開Android的系統(tǒng)browser中響應(yīng)該鏈接。給WebView添加一個事件監(jiān)聽對象(WebViewClient) 并重寫其中的一些方法 shouldOverrideUrlLoading:對網(wǎng)頁中超鏈接按鈕的響應(yīng)。 當(dāng)按下某個連接時WebViewClient會調(diào)用這個方法,并傳遞參數(shù):按下的url onLoadResource onPageStart onPageFinish onReceiveError onReceivedHttpAuthRequest6、如果用webview點(diǎn)鏈接看了很多頁以后,如果不做任何處理,點(diǎn)擊系統(tǒng)“Back”鍵,整個瀏覽器會調(diào)用finish()而結(jié)束自身,如果希望瀏覽的網(wǎng)頁回退而不是退出瀏覽器,需要在當(dāng)前Activity中處理并消費(fèi)掉該Back事件。 覆蓋Activity類的onKeyDown(int keyCoder,KeyEvent event)方法。 public boolean onKeyDown(int keyCoder,KeyEvent event){ if(webView.canGoBack()&& keyCoder == KeyEvent.KEYCODE_BACK){ webview.goBack();//goBack()表示返回webView的上一頁面 return true; } return false; }第三篇:Android總結(jié)
第四篇:期末復(fù)習(xí)題
第五篇:Android WebView總結(jié)