




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第一天:1,對于如下的一些映射關(guān)系,當(dāng)請求URL為”/xxx/yyy/a.do”時,哪個Servlet會響應(yīng)()Servlet1 映射到 /abc/*Servlet2 映射到 /*Servlet3 映射到 /abcServlet4映射到*.do(10分)A、Servlet1B、Servlet2C、Servlet3D、Servlet4參考答案:B答案說明:url-pattern匹配規(guī)則:完全匹配:以“/”開頭,以字母(非“*”)結(jié)束 如:<url-pattern>/test/list.do&
2、lt;/url-pattern>目錄匹配:以“/”開頭且以“/*”結(jié)尾 如:<url-pattern>/test/*</url-pattern><url-pattern>/*</url-pattern>擴展名匹配:以“*.”開頭,以擴展名結(jié)束 如:<url-pattern>*.do</url-pattern> “/” 用來表明對應(yīng)的Servlet為應(yīng)用默認(rèn)的Servlet。在這種情況下Servlet路徑是請求的URI去掉上下文路徑
3、并且路徑信息為null。2、下列選項中,哪個方法可以準(zhǔn)確的獲取請求頁面的一個文本框的輸入(文本框的名稱為name) ()。(10分)A、request.getParamter(name)B、request.getParamter(“name”)C、request.getParamterValues(name)D、request.getParamterValues(“name”)參考答案:B答案說明:request.getParameter("name") 根據(jù)name獲取value值request.getParameterName
4、s("name") 根據(jù)name獲取一組值,如多選框3、在web.xml中下面哪一個標(biāo)簽標(biāo)示servlet的URL映射()(10分)A、mappingB、servlet-urlC、url-mappingD、servlet-mapping參考答案:D答案說明:<servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>
5、;多選題 共2題滿分:20分4、下列選項中,說法正確的是()。(10分)A、客戶端每次請求都會創(chuàng)建一個request 對和 response對象 并且把這2個對象傳遞到doGet方法和doPost方法中B、在瀏覽器的地址欄輸入地址,點擊回車,這個過程稱為一次請求C、HttpServletResponse,是一個接口,父接口是ServletD、服務(wù)器端根據(jù)客戶端的請求,返回數(shù)據(jù)到瀏覽器中進行顯示,這個過程稱為一次響應(yīng)參考答案:A,B,D答案說明:C錯誤原因:HttpServletResponse,是一個接口,父接口是ServletResponse5、下列選項中,()是http相應(yīng)包含的組成部分。
6、(10分)A、響應(yīng)體B、響應(yīng)頭C、響應(yīng)尾D、響應(yīng)行參考答案:A,B,D答案說明:HttpServletResponse,是一個接口,父接口是ServletResponse,代表響應(yīng)對象。http的響應(yīng)包含三部分組成:第一部分:響應(yīng)行l(wèi)第二部分:響應(yīng)頭l第三部分:響應(yīng)體判斷題 共0題滿分:0分填空題 共1題滿分:10分6、_是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。(10分)參考答案:Servlet答案說明:Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨立于平臺和協(xié)議的特性,可以生成動態(tài)的Web頁面。 它擔(dān)當(dāng)客戶請求(Web瀏覽器或
7、其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機。簡答題 共1題滿分:20分7、請簡述HttpServletRequest實例的getContextPath() 方法,getRequestURL()方法和getParameter("name") 方法的作用。(20分)參考答案:request.ge
8、tContextPath() 獲取根路徑;request.getRequestURL(); 獲取請求的url;request.getParameter("name") 根據(jù)name獲取value值;答案說明:request對象是請求對象。請求一次就創(chuàng)建一個request對象,并且存儲了請求的信息。所以在表單提交中,我們可以通過request對象獲取用戶提交的所有信息。HttpServletRequest類中的常用方法:request.getContextPath()
9、0; 獲取根路徑。 request.getParameter("name") 根據(jù)name獲取value值request.getParameterNames("name") 根據(jù)name獲取一組值,如多選框request.getRequestURL(); 獲取請求的urlrequest.getRequestDispatcher("
10、 路徑 ").forward(request,response) 轉(zhuǎn)發(fā)是一次請求request.getCookie();獲取請求中的cookierequest.getSession(true)獲取session。 默認(rèn)參數(shù)為true表示如果沒有獲取到,則重新創(chuàng)建并返回;false如果沒有獲取到,返回null代碼題 共1題滿分:20分8、寫一個HelloServlet ,實現(xiàn)向頁面輸出內(nèi)容hi czbk。(20分)參考答案:JavaWeb101.txt 下載答案說明:實現(xiàn)Servlet(1)實現(xiàn)Servl
11、et接口如果實現(xiàn)接口,需要把接口里面的方法都實現(xiàn)。(2)繼承GenericServlet, HttpServlet類如果繼承類,不需要把類中的方法都實現(xiàn)。(3)需要web服務(wù)器知道java程序不是一個普通的java程序,而是一個servlet通過配置進行操作,在web項目中,web.xml里面進行配置。1定義一個類繼承httpServlet public class HelloServlet extends HttpServlet /處理get請求 Overrideprotected void doGet(HttpServletRequest req, HttpServletResp
12、onse resp)throws ServletException, IOException PrintWriter writer = resp.getWriter();/向瀏覽器的輸出流writer.println("<html>");writer.println("<body>");writer.println("hi czbk");writer.println("</body>");writer.println("</html>");/處理p
13、ost請求Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException doGet(req, resp); 2重寫2個方法 doGet,doPost 3在在web.xml中配置<servlet><servlet-name>HelloServlet</servlet-name><servlet-class>cn.itcast.servlet.ServletDemo1</ser
14、vlet-class></servlet><servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>第二天:1、關(guān)于ANR描述錯誤的是( )。(10分)A、ANR 全稱是 Application Not RespondingB、出現(xiàn)ANR 異常不會影響用戶使用C、在主線程中執(zhí)行了耗時的操作 會引起ANRD、應(yīng)用超過5秒鐘不響應(yīng)用戶操作會出
15、現(xiàn)anr參考答案:B答案說明:在Android上,如果你的應(yīng)用程序有一段時間響應(yīng)不夠靈敏,系統(tǒng)會向用戶顯示一個對話框,這個對話框稱作應(yīng)用程序無響應(yīng)(ANR:Application Not Responding)對話框。用戶可以選擇讓程序繼續(xù)運行,但是,他們在使用你的應(yīng)用程序時,并不希望每次都要處理這個對話框。因此,在程序里對響應(yīng)性能的設(shè)計很重要,這樣,系統(tǒng)不會顯示ANR給用戶。2、關(guān)于handler消息分發(fā)機制,下列( )方法可以延時發(fā)送消息。(10分)A、sendEmpty(.)B、sendEmptyMessage(.)C、sendMessageDelayed(
16、.)D、sendMessage(.)參考答案:C答案說明:我們利用Handler的sendMessageDelayed(msg, secs*1000),可以要求secs秒后,將信息放置在隊列中,排隊處理,很簡單就能實現(xiàn)。3、關(guān)于Android中消息機制說法正確的是()。(10分)A、Handler只能用來發(fā)送消息B、Handler是用來發(fā)送消息和處理消息的C、MessageQueue是用來收集消息并主動發(fā)送消息D、Looper是主消息的循環(huán)器.Looper是由handler創(chuàng)建的參考答案:B答案說明:Handler顧名思義就是處理者的意思,它主要用于發(fā)送消息和處理消息。一般使用Han
17、delr對象的sendMessage()方法發(fā)送消息,發(fā)出的消息經(jīng)過一系列的輾轉(zhuǎn)處理后,最終會傳遞到Handler對象的handlerMessage()方法中.多選題 共2題滿分:20分4、下列選項中說法正確的是() 。(10分)A、避免ANR,可以把耗時操作放到子線程B、ANR是Application Not Response 應(yīng)用無響應(yīng)C、只有在主線程(UI線程)才可以更新UID、消息機制可以用來處理這種更新UI的情況參考答案:A,B,C,D答案說明:(1)ANR Application Not Response 應(yīng)用無響應(yīng)。主
18、線程(UI線程)。(2)如果在主線程中進行了耗時的操作(比如連接網(wǎng)絡(luò),拷貝大數(shù)據(jù))Thread.sleep();(3)避免ANR,可以把耗時操作放到子線程。(4)在4.0之后谷歌強制要求連接網(wǎng)絡(luò)不能在主線程中進行訪問。09-26 01:49:03.818: W/System.err(1638): android.os.NetworkOnMainThreadException(5)只有在主線程(UI線程)才可以更新UI09-26 01:51:50.050: W/System.err(1708): android.view.ViewRoo
19、tImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.(6)消息機制可以用來處理這種更新UI的情況。5、由于子線程不能更新UI代碼,我們可以使用下列哪種方式()解決這個問題。(10分)A、在子線程中使用setImageView(.)設(shè)置圖片B、調(diào)用runOnUiThread(. )方法中更新uiC
20、、在子線程中用handler發(fā)送message給主線程,然后在主線程中更新uiD、Thread中直接更新ui參考答案:B,C答案說明:runOnUiThread(),顧名思義就是運行在UI線程,也就是主線程。1. 如果僅僅就是更新UI,那么我們可以用runOnUiThread(),當(dāng)中的代碼都會在主線程中執(zhí)行。2. 當(dāng)我們需要傳遞參數(shù)的時候,這時候就需要使用handler來實現(xiàn)判斷題 共0題滿分:0分填空題 共1題滿分:10分6、_ 主要用于存放所有通過Handler發(fā)送的消息。(10分)參考答案:MessageQueue答案說明:1. MessageM
21、essage是在線程之間傳遞的消息,它可以在內(nèi)部攜帶少量的信息what字段,用于在不同線程之間交換數(shù)據(jù)。除此之外還可以使用arg1和arg2字段來攜帶一些整型數(shù)據(jù),使用obj字段攜帶一個Object對象。2. HandlerHandler顧名思義也就是處理者的意思,它主要是用于發(fā)送和處理消息的。發(fā)送消息一般是使用Handler的sendMessage()方法,而發(fā)出的消息經(jīng)過一系列地輾轉(zhuǎn)處理后,最終會傳遞到Handler的handleMessage()方法中。3. MessageQueueMessageQueue是消息隊列的意思,它主要用于存放所有通過Handler發(fā)送的消
22、息。這部分消息會一直存在于消息隊列中,等待被處理。每個線程中只會有一個MessageQueue對象。4. LooperLooper是每個線程中的MessageQueue的管家,調(diào)用Looper的loop()方法后,就會進入到一個無限循環(huán)當(dāng)中,然后每當(dāng)發(fā)現(xiàn)MessageQueue中存在一條消息,就會將它取出,并傳遞到Handler的handleMessage()方法中。每個線程中也只會有一個Looper對象。簡答題 共1題滿分:20分7、簡單介紹一下Handler使用步驟.(20分)參考答案:1 在主線程創(chuàng)建Handler對象 Private
23、Handler handler = new Handler() 2 重寫handlemessage方法 3 拿著主線程創(chuàng)建的Handler發(fā)送一條消息 handler.sendMessage();4 重寫的handlemessage方法就會接收到我們發(fā)送的消息.答案說明:Android4.0以后不能在UI線程訪問網(wǎng)絡(luò),而子線程也不能更新UI界面。為了根據(jù)下載進度實時更新UI界面,就需要用到Handler消息機制來實現(xiàn)線程間的通信,一般我們在主線程創(chuàng)建Handler對象.然
24、后開啟一個子線程去訪問網(wǎng)絡(luò)處理耗時的任務(wù),然后通過主線程創(chuàng)建的Handler發(fā)送消息,消息就被加入到了消息隊列MessageQueue中,系統(tǒng)里有一MainLooper(主消息的循環(huán)器),不斷的監(jiān)視消息隊列,一旦發(fā)現(xiàn)消息隊列里有消息,就把消息給取出來交給Handler,我們重寫Handler的handleMessage()方法,在這個方法里面去更新ui.代碼題 共1題滿分:20分8、編寫一個圖片查看器的案例,訪問指定的url地址,并將獲取到的圖片更新ui界面。(請使用除handler以外的方式)。(20分)答案說明:子線程不能更新ui,所以通過runOnUiThread在主線程中更新ui.Xm
25、l布局文件:<LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"tools:context=".MainActivity" > <Button android:layout_width="wrap_content" an
26、droid:layout_height="wrap_content" android:onClick="click" android:text="查看" /> <ImageView android:id="+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" /></LinearLayout>Java代碼中:public class Mai
27、nActivity extends Activity private ImageView iv;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/ 1找到我們關(guān)心的控件iv = (ImageView) findViewById(R.id.iv);/ 2點擊按鈕進行查看 指定路徑的源碼public void click(View v) new Thread() public voi
28、d run() String path = "try URL url = new URL(path);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(5000);int code = conn.getResponseCode();if (code = 200) InputStream inputStream = conn.getInputStream(); final Bitma
29、p bitmap = BitmapFactory.decodeStream(inputStream); runOnUiThread(new Runnable() public void run() iv.setImageBitmap(cacheBitmap);); catch (Exception e) e.printStackTrace();.start();第三天:1,當(dāng)前Activity被其他Activity覆蓋或者鎖屏,系統(tǒng)會調(diào)用()生命周期方法 ,暫停當(dāng)前Activity的執(zhí)行。(10分)A、onDestroy()B、onStop()C、onPasue()D、以上都會調(diào)用參
30、考答案:C答案說明:1. 啟動Activity:系統(tǒng)會先調(diào)用onCreate()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,Activity進入運行狀態(tài)。2. 當(dāng)前Activity被其他Activity覆蓋或者鎖屏:系統(tǒng)會調(diào)用onPasue()方法,暫停當(dāng)前Activity的執(zhí)行。3. 當(dāng)前Activity由覆蓋恢復(fù)到前臺或者被解鎖屏:系統(tǒng)會調(diào)用onResume()方法,再次進入運行狀態(tài)。4. 當(dāng)前Activity轉(zhuǎn)到新的Activity界面或者Home鍵回到主屏,自居后臺:系統(tǒng)會調(diào)用onPasue()方法,然后調(diào)用onSto
31、p()方法,進入停滯狀態(tài)。5. 用戶退回到此Activity:系統(tǒng)會調(diào)用onRestart()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,再次進入運行狀態(tài)。6. 當(dāng)前Activity處于被覆蓋狀態(tài)或者后臺不可見狀態(tài):有的時候系統(tǒng)內(nèi)存不足,會殺死該Activity,而后用戶退回到該Activity時:再次調(diào)用onCreate(),onStart(),onResume()方法,進入運行狀態(tài)。7. 用戶退出該Activity:系統(tǒng)會調(diào)用onPause()方法,然后onStop()方法,最后onDestroy()方法,結(jié)束該Activity。2
32、、Intent中如果既要設(shè)置類型又要設(shè)置數(shù)據(jù),需要使用()方法。(10分)A、setData(.)B、setType(.)C、setDataAndType(.)D、setTypeAndData(.)參考答案:C答案說明:Intent.setData(data)和intent.setType(type)注意這兩個方法會互相清除,意思就是:如果先設(shè)置setData(data)后設(shè)置setType(type),那么后設(shè)置的setType(type)會把前面setData(data)設(shè)置的內(nèi)容清除掉,而且會報錯,反之一樣,所以如果既要設(shè)置類型與數(shù)據(jù),那么使用setDataAndType(data,ty
33、pe)這個方法。3、使用() 管理器來完成發(fā)送短信的功能。(10分)A、ActivityManagerB、WifiManagerC、SmsManagerD、ConnectivityManager參考答案:C答案說明:ActivityManager 是與系統(tǒng)中所有運行著的Activity交互提供了接口,主要的接口圍繞著運行中的進程信息,任務(wù)信息,服務(wù)信息等。WifiManager 類似獲得wifi鏈接名字,判斷是否鏈接,開關(guān)等一些和無線相關(guān);SmsManager 管理短信操作,如發(fā)送數(shù)據(jù),文本和PDU短信;ConnectivityManager
34、 主要管理網(wǎng)絡(luò)連接相關(guān)操作;多選題 共2題滿分:20分4、intent傳遞數(shù)據(jù)時可以傳遞()類型的數(shù)據(jù)。(10分)A、SerializableB、charsequenceC、ParcelableD、Bundle參考答案:A,B,C,D答案說明:第一類:簡單或基本數(shù)據(jù)類型; 第二類:傳遞一個Bundle;第三類:傳遞Serializable對象;第四類:Parcelable對象;第五類:Intent return this;5、下列選項中()屬于Activity的生命周期方法。(10分)A、onCreate()B、onStart()C、onCr
35、eateView()D、onRestart()參考答案:A,B,D答案說明:生命周期方法 調(diào)用時間onCreate() 當(dāng)Activity第一次創(chuàng)建的時候調(diào)用onDestory() 當(dāng)Activity銷毀的時候調(diào)用onStart() 當(dāng)Activity變成可見的時候調(diào)用onStop()
36、; 當(dāng)Activity不可見的時候調(diào)用onResume() 當(dāng)Activity可以和用戶交互的時候調(diào)用onPause() 當(dāng)Activity不可和用戶交互的時候調(diào)用onRestart() 當(dāng)Activity停止了,但是沒有銷毀,從停止到啟動時調(diào)用判斷題 共0題滿分:0分填空題 共1題滿分:10分6、首次啟動Activity時,系統(tǒng)會先后調(diào)用_生命周期方法
37、,之后Activity進入運行狀態(tài)。(10分)參考答案:onCreate()->onStart()->onResume()答案說明:1.啟動Activity:系統(tǒng)會先調(diào)用onCreate()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,Activity進入運行狀態(tài)。2.當(dāng)前Activity被其他Activity覆蓋或者鎖屏:系統(tǒng)會調(diào)用onPasue()方法,暫停當(dāng)前Activity的執(zhí)行。3.當(dāng)前Activity由覆蓋恢復(fù)到前臺或者被解鎖屏:系統(tǒng)會調(diào)用onResume()方法,再次進入運行狀態(tài)。4.當(dāng)前Activity轉(zhuǎn)到新的Activity界面或者Hom
38、e鍵回到主屏,自居后臺:系統(tǒng)會調(diào)用onPasue()方法,然后調(diào)用onStop()方法,進入停滯狀態(tài)。5.用戶退回到此Activity:系統(tǒng)會調(diào)用onRestart()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,再次進入運行狀態(tài)。6.當(dāng)前Activity處于被覆蓋狀態(tài)或者后臺不可見狀態(tài),有的時候系統(tǒng)內(nèi)存不足,會殺死該Activity,而后用戶退回到該Activity時:再次調(diào)用onCreate(),onStart(),onResume()方法,進入運行狀態(tài)。7. 用戶退出該Activity:系統(tǒng)會調(diào)用onPause()方法,然后onStop()方法,最后o
39、nDestroy()方法,結(jié)束該Activity。簡答題 共1題滿分:20分7、請簡單談?wù)勀銓ctivity四種啟動模式的理解。(20分)參考答案:Activity的啟動模式在AndroidManifest.xml中,可以配置每個activity的啟動模式:例如:android:launchMode="standard"1. standard 標(biāo)準(zhǔn)模式不管有沒有已存在的實例,都生成新的實例。每次調(diào)用startActivity()啟動Activity時都會創(chuàng)建一個新的Activity放在棧頂,每次返回都會銷毀實例并出棧,可以重復(fù)創(chuàng)建。2. si
40、ngletop 單一頂部模式如果任務(wù)棧的棧頂存在這個要開啟的activity,不會重新創(chuàng)建新的activity,而是復(fù)用已存在的activity。保證棧頂如果存在,則不會重復(fù)創(chuàng)建,但如果不在棧頂,那么還是會創(chuàng)建新的實例。3. singletask 單一任務(wù)模式是一個比較嚴(yán)格的模式,在當(dāng)前任務(wù)棧里面只能有一個實例存在,當(dāng)開啟activity的時候,就去檢查在任務(wù)棧里面是否有實例已經(jīng)存在,如果有實例存在就復(fù)用這個已經(jīng)存在的activity,并且把這個activity上面的所有的別的activity都清空,復(fù)用這個已經(jīng)存在的activity。4. single
41、Instance 這種啟動模式比較特殊,它會啟用一個新的任務(wù)棧,activity會運行在自己的任務(wù)棧里,這個任務(wù)棧里面只有一個實例存在并且保證不再有其他Activity實例進入。在整個手機操作系統(tǒng)里面只有一個實例存在。答案說明:Singletop 應(yīng)用場景:瀏覽器的書簽Singletask 應(yīng)用場景:BrowserActivity瀏覽器界面,播放器的播放Activity。如果一個activity的創(chuàng)建需要占用大量的系統(tǒng)資源(cpu,內(nèi)存)一般配置這個activity為 singletask的啟動模式。webkit內(nèi)核(c) 初始化需要大量內(nèi)存如
42、js解析引擎、html渲染引擎、http解析、下載如果使用singletask模式,可以減少內(nèi)存開銷,cpu占用。SingleInstance 應(yīng)用場景:來電頁面InCallScreenActivity。代碼題 共1題滿分:20分8、打開指定包名,類名的Activity。(包名:ent.NextActivity 類名:NextActivity)(20分)答案說明:Intent意圖:顯示意圖和隱式意圖。顯式意圖:調(diào)用Intent.setComponent()或Intent.setClass()方法明確指定了組件名的Intent為顯式意圖,顯式意圖明
43、確指定了Intent應(yīng)該傳遞給哪個組件。隱式意圖:沒有明確指定組件名的Intent為隱式意圖。 Android系統(tǒng)會根據(jù)隱式意圖中設(shè)置的動作(action)、類別(category)、數(shù)據(jù)(URI和數(shù)據(jù)類型)找到最合適的組件來處理這個意圖。/ trim()方法刪除字符串開始和結(jié)束位置的空格Intent intent = new Intent();intent1.setClassName("ent", "ent.NextActivity"); /開啟打電話意圖startActivity(in
44、tent);第四天:1、在代碼中獲取注冊的廣播事件方法是().(10分)A、getAction()B、getActionCall()C、getMethod()D、getOutCall()參考答案:A答案說明:getAction()方法是獲取廣播事件的方法.2、在廣播接收者中,setResultData()方法的作用是()。標(biāo)明前提,(10分)A、修改廣播接收者的數(shù)據(jù)B、修改數(shù)據(jù)并往下傳遞C、設(shè)置廣播接收者的數(shù)據(jù)D、以上都不對參考答案:A答案說明:有序廣播可以通過setResultData()來修改廣播的數(shù)據(jù)3、廣播接收者需要在清單文件配置()節(jié)點。(10分)A、receiverB、broadR
45、eceiverC、serviceD、contentProvider參考答案:A答案說明:廣播接收者的配置需要在清單文件里配receiver節(jié)點.多選題 共2題滿分:20分4、關(guān)于廣播接收者說法正確的是()(10分)A、Android中定義廣播接收者要繼承BroadCastReceiverB、Android中定義廣播接收者的目的之一是方便我們開發(fā)者進行開發(fā)C、Android系統(tǒng)中內(nèi)置了很多系統(tǒng)級別的廣播D、Android中定義廣播這個組件意義不是很大參考答案:A,B,C答案說明:Android中定義廣播接收者要繼承BroadCastReceiver,Android系統(tǒng)中內(nèi)置了很多系統(tǒng)級別的廣播比
46、如外撥電話,接收到短信,sd卡卸載等等,系統(tǒng)定義了這么多廣播事件方便我們開發(fā)者進行開發(fā),意義很大.5、關(guān)于有序廣播和無序廣播說法錯誤的是( ).(10分)A、Android中廣播分有序廣播和無序廣播B、無序廣播是按照一定的優(yōu)先級進行接收C、無序廣播可以被攔截,可以被修改數(shù)據(jù)D、有序廣播按照一定的優(yōu)先級進行發(fā)送參考答案:B,C答案說明:Android中廣播分有序廣播和無序廣播 有序廣播按照一定的優(yōu)先級發(fā)送,無序廣播不可以被攔截數(shù)據(jù)不可以被修改判斷題 共0題滿分:0分填空題 共1題滿分:10分6、調(diào)用_方法動態(tài)的注冊廣播接收者.(10分)參考答案:registerR
47、eceiver答案說明:廣播接收者可以在清單文件中注冊也可以通過代碼的方式進行注冊.簡答題 共1題滿分:20分7、請簡要說明廣播接受者在Android4.0以后做了哪些安全考慮?在Android4.0以后如何使廣播接受者不生效?(20分)參考答案:安卓4.0版本之后為了安全考慮,要求應(yīng)用程序必須要有界面,必須被用戶運行過一次,廣播接受者才會生效。安卓4.0版本的強行停止相當(dāng)于凍結(jié)一個應(yīng)用,一旦應(yīng)用程序被用戶強行停止了,廣播接受者就不會生效了,直到用戶手動打開這個應(yīng)用程序為止。答案說明:安卓4.0版本之后為了安全考慮,要求應(yīng)用程序必須要有界面,必須被用戶運行過一次,廣播接受者才會生效。安卓4.0
48、版本的強行停止相當(dāng)于凍結(jié)一個應(yīng)用,一旦應(yīng)用程序被用戶強行停止了,廣播接受者就不會生效了,直到用戶手動打開這個應(yīng)用程序為止。安卓4.0以前的版本沒有這樣的安全考慮。代碼題 共1題滿分:20分8、請編寫一個程序,要求定義一個廣播接收者,用來接收開機的廣播。(20分)答案說明:ent.action.BOOT_COMPLETED是開機的廣播的Action,注意需要加入權(quán)限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>1、定義廣播接受者
49、用來接收開機的廣播:public class BootReceiver extends BroadcastReceiver Overridepublic void onReceive(Context context, Intent intent) Intent intent1 = new Intent(context,MainActivity.class);Intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent1); 2、清單文件注冊<receiver android:name="
50、com.itheima.boot.BootReceiver" > <intent-filter> <action android:name="ent.action.BOOT_COMPLETED" /> </intent-filter></receiver>3、加入權(quán)限<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>第五天:1,以下關(guān)于服務(wù)的生命周期說法正確的
51、是()(10分)A、服務(wù)的生命周期和Activity一樣B、服務(wù)的創(chuàng)建會執(zhí)行onCreate()C、啟動時 onCreate()>onStart()->onResume()D、通過startService方式開啟服務(wù),首先會調(diào)用onCreate 和 onStart方法參考答案:D答案說明:通過startService方式開啟服務(wù)首先會調(diào)用onCreate()方法 然后調(diào)用onStart( )方法2、如果一個進程含有一個service和一個可視activity,那么這個進程是什么進程( )(10分)A、前臺進程B、可見進程C、后臺
52、進程D、空進程參考答案:B答案說明:Android 對進程的重要性評級的時候,選取它最高的級別。如果一個進程含有一個service和一個可視activity,進程將被歸入一個可視進程而不是service進程。3、通過bindService()綁定服務(wù),需要傳入一個ServiceConnection類的對象,需要實現(xiàn)這個類中的哪兩個方法( )(10分)A、onConnected(.)和onDisconnected(.)B、onServiceConnected(.)和onServiceDisconnected(.)C、onStartConnected(.
53、)和onSartDisconnected(.)D、onCreate(.)和onDisconnected(.)參考答案:B答案說明:ServiceConnection類是用來監(jiān)聽服務(wù)的狀態(tài),需要實現(xiàn)其中的onServiceConnected()方法和onServiceDisconnected()方法。多選題 共2題滿分:20分4、關(guān)于AIDL描述正確的是()(10分)A、AIDL全稱是Android interface definition LanguageB、AIDL出現(xiàn)目的是解決進程間通信C、AIDL定義接口的源代碼必須以.aidl結(jié)尾D、AIDL語言就是java語言的演變參考答案:A,B,
54、C答案說明:在Android系統(tǒng)中,各個應(yīng)用程序都運行在自己的進程中,進程之間一般無法直接進行通信,如果想要完成不同進程之間的通信,就需要使用遠(yuǎn)程服務(wù)通信。遠(yuǎn)程服務(wù)通信是通過AIDL(Android Interface Definition Language)實現(xiàn)的,它是一種接口定義語言.它不是由java演變的5、android 通過 startService 的方式開啟服務(wù),以下說法錯誤的是()(10分)A、當(dāng)?shù)谝淮螁拥臅r候先后調(diào)用 onCreate()和 onStart()方法B、當(dāng)?shù)谝淮螁拥臅r候只會調(diào)用 onCreate()
55、方法C、如果 service 已經(jīng)啟動,將先后調(diào)用 onCreate()和 onStart()方法D、如果 service 已經(jīng)啟動,只會執(zhí)行 onStart()方法,不在執(zhí)行 onCreate()方法參考答案:B,C答案說明:通過startService方式開啟服務(wù),當(dāng)?shù)谝淮螁拥臅r候先后調(diào)用 onCreate()和 onStart()方法,如果 service 已經(jīng)啟動,只會執(zhí)行 onStart()方法,不在執(zhí)行 onCreate()方法判斷題 共0題滿分:0分填空題 共1題滿分:10分6、通過bindService方式開啟的服務(wù)
56、,_方法可以進行解綁服務(wù).(10分)參考答案:unbindService()答案說明:通過bindService方式開啟服務(wù)特點是服務(wù)和調(diào)用者之間不求同時生,但求同時死,所以調(diào)用者退出的時候需要解綁服務(wù),解綁服務(wù)調(diào)用unbindService().簡答題 共1題滿分:20分7、簡單介紹一下Android中如何創(chuàng)建服務(wù)(20分)參考答案:(1)定義一個類繼承Service類在清單文件里面注冊Service答案說明:服務(wù)(Service)是Android中的四大組件之一,它能夠長期在后臺運行且不提供用戶界面。服務(wù)的創(chuàng)建定義一個類繼承Service.并且四大組件都需要在清單文件里注冊.代碼題 共1題
57、滿分:20分8、請編寫一段程序,開啟服務(wù),并調(diào)用服務(wù)中的方法。(20分)參考答案:u.zip 下載答案說明:調(diào)用Service中的方法需要通過IBinder中間人對象,調(diào)用bindService()方法需要傳入一個ServiceConnection對象,這個類中有一個onServiceConnected()方法,當(dāng)綁定成功后調(diào)用,并且Service中onBind()方法中返回的IBinder對象就被傳遞到onServiceConnected()方法中,在這個方法中可以通過中間人對象調(diào)用服務(wù)中的方法。1、創(chuàng)建Service,并在服務(wù)中定義方法public class TestDemoS
58、ervice extends Service Overridepublic IBinder onBind(Intent intent) return new MyBinder();Overridepublic void onCreate() super.onCreate();Overridepublic void onDestroy() super.onDestroy();public void serviceMethod()Toast.makeText(this, "我是服務(wù)里面的方法", 1).show();2、定義接口:public interface Iservic
59、e public void serviceMethod();3、創(chuàng)建Binder類,實現(xiàn)接口private class Mybinder extends Binder implements IService Overridepublic void serviceMethod() 4、定義ServiceConnection類,在onServiceConnected中調(diào)用服務(wù)方法private class MyConn implements ServiceConnectionOverridepublic void onServiceConnected(ComponentName name, IBinder service) MyBinder binder = (MyBinder) service;binder.callServiceMethod(); Overridepublic void onServiceDisconnected(ComponentName name)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年呼倫貝爾市衛(wèi)生健康委直屬事業(yè)單位考試真題
- 2024年濟源市直屬學(xué)校選調(diào)教師真題
- 2024年菏澤市直屬學(xué)校選調(diào)教師真題
- 靈活應(yīng)變的商務(wù)英語考試試題及答案
- 注冊土木工程師考試內(nèi)容評估
- 蒼穹之下測試題及答案
- 智能駕駛技術(shù)的應(yīng)用及其影響試題及答案
- 水庫漁政法規(guī)試題及答案
- 手把手教學(xué)的2025年商務(wù)英語考試試題及答案
- 幼兒園數(shù)學(xué)記憶策略試題及答案
- 利用熱釋光劑量探測器測量射線劑量
- 大病歷模板-住院病歷
- GB/T 602-2002化學(xué)試劑雜質(zhì)測定用標(biāo)準(zhǔn)溶液的制備
- GB/T 18657.1-2002遠(yuǎn)動設(shè)備及系統(tǒng)第5部分:傳輸規(guī)約第1篇:傳輸幀格式
- GB/T 15608-2006中國顏色體系
- GB/T 14315-2008電力電纜導(dǎo)體用壓接型銅、鋁接線端子和連接管
- 中考語文二輪專題復(fù)習(xí):散文和小說閱讀
- 【人衛(wèi)九版內(nèi)分泌科】第十一章-甲狀腺功能減退癥課件
- 護理人員業(yè)務(wù)技術(shù)檔案 模板
- 金融監(jiān)管學(xué)-金融監(jiān)管學(xué)課件
- 語文一年級上冊:拼音9《y-w》ppt教學(xué)課件
評論
0/150
提交評論