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