




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一天:1,對(duì)于如下的一些映射關(guān)系,當(dāng)請(qǐng)求URL為”/xxx/yyy/a.do”時(shí),哪個(gè)Servlet會(huì)響應(yīng)()Servlet1 映射到 /abc/*Servlet2 映射到 /*Servlet3 映射到 /abcServlet4映射到*.do(10分)A、Servlet1B、Servlet2C、Servlet3D、Servlet4參考答案:B答案說(shuō)明:url-pattern匹配規(guī)則:完全匹配:以“/”開(kāi)頭,以字母(非“*”)結(jié)束 如:<url-pattern>/test/list.do&
2、lt;/url-pattern>目錄匹配:以“/”開(kāi)頭且以“/*”結(jié)尾 如:<url-pattern>/test/*</url-pattern><url-pattern>/*</url-pattern>擴(kuò)展名匹配:以“*.”開(kāi)頭,以擴(kuò)展名結(jié)束 如:<url-pattern>*.do</url-pattern> “/” 用來(lái)表明對(duì)應(yīng)的Servlet為應(yīng)用默認(rèn)的Servlet。在這種情況下Servlet路徑是請(qǐng)求的URI去掉上下文路徑
3、并且路徑信息為null。2、下列選項(xiàng)中,哪個(gè)方法可以準(zhǔn)確的獲取請(qǐng)求頁(yè)面的一個(gè)文本框的輸入(文本框的名稱為name) ()。(10分)A、request.getParamter(name)B、request.getParamter(“name”)C、request.getParamterValues(name)D、request.getParamterValues(“name”)參考答案:B答案說(shuō)明:request.getParameter("name") 根據(jù)name獲取value值request.getParameterName
4、s("name") 根據(jù)name獲取一組值,如多選框3、在web.xml中下面哪一個(gè)標(biāo)簽標(biāo)示servlet的URL映射()(10分)A、mappingB、servlet-urlC、url-mappingD、servlet-mapping參考答案:D答案說(shuō)明:<servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping>
5、;多選題 共2題滿分:20分4、下列選項(xiàng)中,說(shuō)法正確的是()。(10分)A、客戶端每次請(qǐng)求都會(huì)創(chuàng)建一個(gè)request 對(duì)和 response對(duì)象 并且把這2個(gè)對(duì)象傳遞到doGet方法和doPost方法中B、在瀏覽器的地址欄輸入地址,點(diǎn)擊回車,這個(gè)過(guò)程稱為一次請(qǐng)求C、HttpServletResponse,是一個(gè)接口,父接口是ServletD、服務(wù)器端根據(jù)客戶端的請(qǐng)求,返回?cái)?shù)據(jù)到瀏覽器中進(jìn)行顯示,這個(gè)過(guò)程稱為一次響應(yīng)參考答案:A,B,D答案說(shuō)明:C錯(cuò)誤原因:HttpServletResponse,是一個(gè)接口,父接口是ServletResponse5、下列選項(xiàng)中,()是http相應(yīng)包含的組成部分。
6、(10分)A、響應(yīng)體B、響應(yīng)頭C、響應(yīng)尾D、響應(yīng)行參考答案:A,B,D答案說(shuō)明:HttpServletResponse,是一個(gè)接口,父接口是ServletResponse,代表響應(yīng)對(duì)象。http的響應(yīng)包含三部分組成:第一部分:響應(yīng)行l(wèi)第二部分:響應(yīng)頭l第三部分:響應(yīng)體判斷題 共0題滿分:0分填空題 共1題滿分:10分6、_是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。(10分)參考答案:Servlet答案說(shuō)明:Servlet是一種服務(wù)器端的Java應(yīng)用程序,具有獨(dú)立于平臺(tái)和協(xié)議的特性,可以生成動(dòng)態(tài)的Web頁(yè)面。 它擔(dān)當(dāng)客戶請(qǐng)求(Web瀏覽器或
7、其他HTTP客戶程序)與服務(wù)器響應(yīng)(HTTP服務(wù)器上的數(shù)據(jù)庫(kù)或應(yīng)用程序)的中間層。 Servlet是位于Web 服務(wù)器內(nèi)部的服務(wù)器端的Java應(yīng)用程序,與傳統(tǒng)的從命令行啟動(dòng)的Java應(yīng)用程序不同,Servlet由Web服務(wù)器進(jìn)行加載,該Web服務(wù)器必須包含支持Servlet的Java虛擬機(jī)。簡(jiǎn)答題 共1題滿分:20分7、請(qǐng)簡(jiǎn)述HttpServletRequest實(shí)例的getContextPath() 方法,getRequestURL()方法和getParameter("name") 方法的作用。(20分)參考答案:request.ge
8、tContextPath() 獲取根路徑;request.getRequestURL(); 獲取請(qǐng)求的url;request.getParameter("name") 根據(jù)name獲取value值;答案說(shuō)明:request對(duì)象是請(qǐng)求對(duì)象。請(qǐng)求一次就創(chuàng)建一個(gè)request對(duì)象,并且存儲(chǔ)了請(qǐng)求的信息。所以在表單提交中,我們可以通過(guò)request對(duì)象獲取用戶提交的所有信息。HttpServletRequest類中的常用方法:request.getContextPath()
9、0; 獲取根路徑。 request.getParameter("name") 根據(jù)name獲取value值request.getParameterNames("name") 根據(jù)name獲取一組值,如多選框request.getRequestURL(); 獲取請(qǐng)求的urlrequest.getRequestDispatcher("
10、 路徑 ").forward(request,response) 轉(zhuǎn)發(fā)是一次請(qǐng)求request.getCookie();獲取請(qǐng)求中的cookierequest.getSession(true)獲取session。 默認(rèn)參數(shù)為true表示如果沒(méi)有獲取到,則重新創(chuàng)建并返回;false如果沒(méi)有獲取到,返回null代碼題 共1題滿分:20分8、寫一個(gè)HelloServlet ,實(shí)現(xiàn)向頁(yè)面輸出內(nèi)容hi czbk。(20分)參考答案:JavaWeb101.txt 下載答案說(shuō)明:實(shí)現(xiàn)Servlet(1)實(shí)現(xiàn)Servl
11、et接口如果實(shí)現(xiàn)接口,需要把接口里面的方法都實(shí)現(xiàn)。(2)繼承GenericServlet, HttpServlet類如果繼承類,不需要把類中的方法都實(shí)現(xiàn)。(3)需要web服務(wù)器知道java程序不是一個(gè)普通的java程序,而是一個(gè)servlet通過(guò)配置進(jìn)行操作,在web項(xiàng)目中,web.xml里面進(jìn)行配置。1定義一個(gè)類繼承httpServlet public class HelloServlet extends HttpServlet /處理get請(qǐng)求 Overrideprotected void doGet(HttpServletRequest req, HttpServletResp
12、onse resp)throws ServletException, IOException PrintWriter writer = resp.getWriter();/向?yàn)g覽器的輸出流writer.println("<html>");writer.println("<body>");writer.println("hi czbk");writer.println("</body>");writer.println("</html>");/處理p
13、ost請(qǐng)求Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException doGet(req, resp); 2重寫2個(gè)方法 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描述錯(cuò)誤的是( )。(10分)A、ANR 全稱是 Application Not RespondingB、出現(xiàn)ANR 異常不會(huì)影響用戶使用C、在主線程中執(zhí)行了耗時(shí)的操作 會(huì)引起ANRD、應(yīng)用超過(guò)5秒鐘不響應(yīng)用戶操作會(huì)出
15、現(xiàn)anr參考答案:B答案說(shuō)明:在Android上,如果你的應(yīng)用程序有一段時(shí)間響應(yīng)不夠靈敏,系統(tǒng)會(huì)向用戶顯示一個(gè)對(duì)話框,這個(gè)對(duì)話框稱作應(yīng)用程序無(wú)響應(yīng)(ANR:Application Not Responding)對(duì)話框。用戶可以選擇讓程序繼續(xù)運(yùn)行,但是,他們?cè)谑褂媚愕膽?yīng)用程序時(shí),并不希望每次都要處理這個(gè)對(duì)話框。因此,在程序里對(duì)響應(yīng)性能的設(shè)計(jì)很重要,這樣,系統(tǒng)不會(huì)顯示ANR給用戶。2、關(guān)于handler消息分發(fā)機(jī)制,下列( )方法可以延時(shí)發(fā)送消息。(10分)A、sendEmpty(.)B、sendEmptyMessage(.)C、sendMessageDelayed(
16、.)D、sendMessage(.)參考答案:C答案說(shuō)明:我們利用Handler的sendMessageDelayed(msg, secs*1000),可以要求secs秒后,將信息放置在隊(duì)列中,排隊(duì)處理,很簡(jiǎn)單就能實(shí)現(xiàn)。3、關(guān)于Android中消息機(jī)制說(shuō)法正確的是()。(10分)A、Handler只能用來(lái)發(fā)送消息B、Handler是用來(lái)發(fā)送消息和處理消息的C、MessageQueue是用來(lái)收集消息并主動(dòng)發(fā)送消息D、Looper是主消息的循環(huán)器.Looper是由handler創(chuàng)建的參考答案:B答案說(shuō)明:Handler顧名思義就是處理者的意思,它主要用于發(fā)送消息和處理消息。一般使用Han
17、delr對(duì)象的sendMessage()方法發(fā)送消息,發(fā)出的消息經(jīng)過(guò)一系列的輾轉(zhuǎn)處理后,最終會(huì)傳遞到Handler對(duì)象的handlerMessage()方法中.多選題 共2題滿分:20分4、下列選項(xiàng)中說(shuō)法正確的是() 。(10分)A、避免ANR,可以把耗時(shí)操作放到子線程B、ANR是Application Not Response 應(yīng)用無(wú)響應(yīng)C、只有在主線程(UI線程)才可以更新UID、消息機(jī)制可以用來(lái)處理這種更新UI的情況參考答案:A,B,C,D答案說(shuō)明:(1)ANR Application Not Response 應(yīng)用無(wú)響應(yīng)。主
18、線程(UI線程)。(2)如果在主線程中進(jìn)行了耗時(shí)的操作(比如連接網(wǎng)絡(luò),拷貝大數(shù)據(jù))Thread.sleep();(3)避免ANR,可以把耗時(shí)操作放到子線程。(4)在4.0之后谷歌強(qiáng)制要求連接網(wǎng)絡(luò)不能在主線程中進(jìn)行訪問(wèn)。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)消息機(jī)制可以用來(lái)處理這種更新UI的情況。5、由于子線程不能更新UI代碼,我們可以使用下列哪種方式()解決這個(gè)問(wèn)題。(10分)A、在子線程中使用setImageView(.)設(shè)置圖片B、調(diào)用runOnUiThread(. )方法中更新uiC
20、、在子線程中用handler發(fā)送message給主線程,然后在主線程中更新uiD、Thread中直接更新ui參考答案:B,C答案說(shuō)明:runOnUiThread(),顧名思義就是運(yùn)行在UI線程,也就是主線程。1. 如果僅僅就是更新UI,那么我們可以用runOnUiThread(),當(dāng)中的代碼都會(huì)在主線程中執(zhí)行。2. 當(dāng)我們需要傳遞參數(shù)的時(shí)候,這時(shí)候就需要使用handler來(lái)實(shí)現(xiàn)判斷題 共0題滿分:0分填空題 共1題滿分:10分6、_ 主要用于存放所有通過(guò)Handler發(fā)送的消息。(10分)參考答案:MessageQueue答案說(shuō)明:1. MessageM
21、essage是在線程之間傳遞的消息,它可以在內(nèi)部攜帶少量的信息what字段,用于在不同線程之間交換數(shù)據(jù)。除此之外還可以使用arg1和arg2字段來(lái)攜帶一些整型數(shù)據(jù),使用obj字段攜帶一個(gè)Object對(duì)象。2. HandlerHandler顧名思義也就是處理者的意思,它主要是用于發(fā)送和處理消息的。發(fā)送消息一般是使用Handler的sendMessage()方法,而發(fā)出的消息經(jīng)過(guò)一系列地輾轉(zhuǎn)處理后,最終會(huì)傳遞到Handler的handleMessage()方法中。3. MessageQueueMessageQueue是消息隊(duì)列的意思,它主要用于存放所有通過(guò)Handler發(fā)送的消
22、息。這部分消息會(huì)一直存在于消息隊(duì)列中,等待被處理。每個(gè)線程中只會(huì)有一個(gè)MessageQueue對(duì)象。4. LooperLooper是每個(gè)線程中的MessageQueue的管家,調(diào)用Looper的loop()方法后,就會(huì)進(jìn)入到一個(gè)無(wú)限循環(huán)當(dāng)中,然后每當(dāng)發(fā)現(xiàn)MessageQueue中存在一條消息,就會(huì)將它取出,并傳遞到Handler的handleMessage()方法中。每個(gè)線程中也只會(huì)有一個(gè)Looper對(duì)象。簡(jiǎn)答題 共1題滿分:20分7、簡(jiǎn)單介紹一下Handler使用步驟.(20分)參考答案:1 在主線程創(chuàng)建Handler對(duì)象 Private
23、Handler handler = new Handler() 2 重寫handlemessage方法 3 拿著主線程創(chuàng)建的Handler發(fā)送一條消息 handler.sendMessage();4 重寫的handlemessage方法就會(huì)接收到我們發(fā)送的消息.答案說(shuō)明:Android4.0以后不能在UI線程訪問(wèn)網(wǎng)絡(luò),而子線程也不能更新UI界面。為了根據(jù)下載進(jìn)度實(shí)時(shí)更新UI界面,就需要用到Handler消息機(jī)制來(lái)實(shí)現(xiàn)線程間的通信,一般我們?cè)谥骶€程創(chuàng)建Handler對(duì)象.然
24、后開(kāi)啟一個(gè)子線程去訪問(wèn)網(wǎng)絡(luò)處理耗時(shí)的任務(wù),然后通過(guò)主線程創(chuàng)建的Handler發(fā)送消息,消息就被加入到了消息隊(duì)列MessageQueue中,系統(tǒng)里有一MainLooper(主消息的循環(huán)器),不斷的監(jiān)視消息隊(duì)列,一旦發(fā)現(xiàn)消息隊(duì)列里有消息,就把消息給取出來(lái)交給Handler,我們重寫Handler的handleMessage()方法,在這個(gè)方法里面去更新ui.代碼題 共1題滿分:20分8、編寫一個(gè)圖片查看器的案例,訪問(wèn)指定的url地址,并將獲取到的圖片更新ui界面。(請(qǐng)使用除handler以外的方式)。(20分)答案說(shuō)明:子線程不能更新ui,所以通過(guò)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點(diǎn)擊按鈕進(jìn)行查看 指定路徑的源碼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)會(huì)調(diào)用()生命周期方法 ,暫停當(dāng)前Activity的執(zhí)行。(10分)A、onDestroy()B、onStop()C、onPasue()D、以上都會(huì)調(diào)用參
30、考答案:C答案說(shuō)明:1. 啟動(dòng)Activity:系統(tǒng)會(huì)先調(diào)用onCreate()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,Activity進(jìn)入運(yùn)行狀態(tài)。2. 當(dāng)前Activity被其他Activity覆蓋或者鎖屏:系統(tǒng)會(huì)調(diào)用onPasue()方法,暫停當(dāng)前Activity的執(zhí)行。3. 當(dāng)前Activity由覆蓋恢復(fù)到前臺(tái)或者被解鎖屏:系統(tǒng)會(huì)調(diào)用onResume()方法,再次進(jìn)入運(yùn)行狀態(tài)。4. 當(dāng)前Activity轉(zhuǎn)到新的Activity界面或者Home鍵回到主屏,自居后臺(tái):系統(tǒng)會(huì)調(diào)用onPasue()方法,然后調(diào)用onSto
31、p()方法,進(jìn)入停滯狀態(tài)。5. 用戶退回到此Activity:系統(tǒng)會(huì)調(diào)用onRestart()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,再次進(jìn)入運(yùn)行狀態(tài)。6. 當(dāng)前Activity處于被覆蓋狀態(tài)或者后臺(tái)不可見(jiàn)狀態(tài):有的時(shí)候系統(tǒng)內(nèi)存不足,會(huì)殺死該Activity,而后用戶退回到該Activity時(shí):再次調(diào)用onCreate(),onStart(),onResume()方法,進(jìn)入運(yùn)行狀態(tài)。7. 用戶退出該Activity:系統(tǒng)會(huì)調(diào)用onPause()方法,然后onStop()方法,最后onDestroy()方法,結(jié)束該Activity。2
32、、Intent中如果既要設(shè)置類型又要設(shè)置數(shù)據(jù),需要使用()方法。(10分)A、setData(.)B、setType(.)C、setDataAndType(.)D、setTypeAndData(.)參考答案:C答案說(shuō)明:Intent.setData(data)和intent.setType(type)注意這兩個(gè)方法會(huì)互相清除,意思就是:如果先設(shè)置setData(data)后設(shè)置setType(type),那么后設(shè)置的setType(type)會(huì)把前面setData(data)設(shè)置的內(nèi)容清除掉,而且會(huì)報(bào)錯(cuò),反之一樣,所以如果既要設(shè)置類型與數(shù)據(jù),那么使用setDataAndType(data,ty
33、pe)這個(gè)方法。3、使用() 管理器來(lái)完成發(fā)送短信的功能。(10分)A、ActivityManagerB、WifiManagerC、SmsManagerD、ConnectivityManager參考答案:C答案說(shuō)明:ActivityManager 是與系統(tǒng)中所有運(yùn)行著的Activity交互提供了接口,主要的接口圍繞著運(yùn)行中的進(jìn)程信息,任務(wù)信息,服務(wù)信息等。WifiManager 類似獲得wifi鏈接名字,判斷是否鏈接,開(kāi)關(guān)等一些和無(wú)線相關(guān);SmsManager 管理短信操作,如發(fā)送數(shù)據(jù),文本和PDU短信;ConnectivityManager
34、 主要管理網(wǎng)絡(luò)連接相關(guān)操作;多選題 共2題滿分:20分4、intent傳遞數(shù)據(jù)時(shí)可以傳遞()類型的數(shù)據(jù)。(10分)A、SerializableB、charsequenceC、ParcelableD、Bundle參考答案:A,B,C,D答案說(shuō)明:第一類:簡(jiǎn)單或基本數(shù)據(jù)類型; 第二類:傳遞一個(gè)Bundle;第三類:傳遞Serializable對(duì)象;第四類:Parcelable對(duì)象;第五類:Intent return this;5、下列選項(xiàng)中()屬于Activity的生命周期方法。(10分)A、onCreate()B、onStart()C、onCr
35、eateView()D、onRestart()參考答案:A,B,D答案說(shuō)明:生命周期方法 調(diào)用時(shí)間onCreate() 當(dāng)Activity第一次創(chuàng)建的時(shí)候調(diào)用onDestory() 當(dāng)Activity銷毀的時(shí)候調(diào)用onStart() 當(dāng)Activity變成可見(jiàn)的時(shí)候調(diào)用onStop()
36、; 當(dāng)Activity不可見(jiàn)的時(shí)候調(diào)用onResume() 當(dāng)Activity可以和用戶交互的時(shí)候調(diào)用onPause() 當(dāng)Activity不可和用戶交互的時(shí)候調(diào)用onRestart() 當(dāng)Activity停止了,但是沒(méi)有銷毀,從停止到啟動(dòng)時(shí)調(diào)用判斷題 共0題滿分:0分填空題 共1題滿分:10分6、首次啟動(dòng)Activity時(shí),系統(tǒng)會(huì)先后調(diào)用_生命周期方法
37、,之后Activity進(jìn)入運(yùn)行狀態(tài)。(10分)參考答案:onCreate()->onStart()->onResume()答案說(shuō)明:1.啟動(dòng)Activity:系統(tǒng)會(huì)先調(diào)用onCreate()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,Activity進(jìn)入運(yùn)行狀態(tài)。2.當(dāng)前Activity被其他Activity覆蓋或者鎖屏:系統(tǒng)會(huì)調(diào)用onPasue()方法,暫停當(dāng)前Activity的執(zhí)行。3.當(dāng)前Activity由覆蓋恢復(fù)到前臺(tái)或者被解鎖屏:系統(tǒng)會(huì)調(diào)用onResume()方法,再次進(jìn)入運(yùn)行狀態(tài)。4.當(dāng)前Activity轉(zhuǎn)到新的Activity界面或者Hom
38、e鍵回到主屏,自居后臺(tái):系統(tǒng)會(huì)調(diào)用onPasue()方法,然后調(diào)用onStop()方法,進(jìn)入停滯狀態(tài)。5.用戶退回到此Activity:系統(tǒng)會(huì)調(diào)用onRestart()方法,然后調(diào)用onStart()方法,最后調(diào)用onResume()方法,再次進(jìn)入運(yùn)行狀態(tài)。6.當(dāng)前Activity處于被覆蓋狀態(tài)或者后臺(tái)不可見(jiàn)狀態(tài),有的時(shí)候系統(tǒng)內(nèi)存不足,會(huì)殺死該Activity,而后用戶退回到該Activity時(shí):再次調(diào)用onCreate(),onStart(),onResume()方法,進(jìn)入運(yùn)行狀態(tài)。7. 用戶退出該Activity:系統(tǒng)會(huì)調(diào)用onPause()方法,然后onStop()方法,最后o
39、nDestroy()方法,結(jié)束該Activity。簡(jiǎn)答題 共1題滿分:20分7、請(qǐng)簡(jiǎn)單談?wù)勀銓?duì)Activity四種啟動(dòng)模式的理解。(20分)參考答案:Activity的啟動(dòng)模式在AndroidManifest.xml中,可以配置每個(gè)activity的啟動(dòng)模式:例如:android:launchMode="standard"1. standard 標(biāo)準(zhǔn)模式不管有沒(méi)有已存在的實(shí)例,都生成新的實(shí)例。每次調(diào)用startActivity()啟動(dòng)Activity時(shí)都會(huì)創(chuàng)建一個(gè)新的Activity放在棧頂,每次返回都會(huì)銷毀實(shí)例并出棧,可以重復(fù)創(chuàng)建。2. si
40、ngletop 單一頂部模式如果任務(wù)棧的棧頂存在這個(gè)要開(kāi)啟的activity,不會(huì)重新創(chuàng)建新的activity,而是復(fù)用已存在的activity。保證棧頂如果存在,則不會(huì)重復(fù)創(chuàng)建,但如果不在棧頂,那么還是會(huì)創(chuàng)建新的實(shí)例。3. singletask 單一任務(wù)模式是一個(gè)比較嚴(yán)格的模式,在當(dāng)前任務(wù)棧里面只能有一個(gè)實(shí)例存在,當(dāng)開(kāi)啟activity的時(shí)候,就去檢查在任務(wù)棧里面是否有實(shí)例已經(jīng)存在,如果有實(shí)例存在就復(fù)用這個(gè)已經(jīng)存在的activity,并且把這個(gè)activity上面的所有的別的activity都清空,復(fù)用這個(gè)已經(jīng)存在的activity。4. single
41、Instance 這種啟動(dòng)模式比較特殊,它會(huì)啟用一個(gè)新的任務(wù)棧,activity會(huì)運(yùn)行在自己的任務(wù)棧里,這個(gè)任務(wù)棧里面只有一個(gè)實(shí)例存在并且保證不再有其他Activity實(shí)例進(jìn)入。在整個(gè)手機(jī)操作系統(tǒng)里面只有一個(gè)實(shí)例存在。答案說(shuō)明:Singletop 應(yīng)用場(chǎng)景:瀏覽器的書(shū)簽Singletask 應(yīng)用場(chǎng)景:BrowserActivity瀏覽器界面,播放器的播放Activity。如果一個(gè)activity的創(chuàng)建需要占用大量的系統(tǒng)資源(cpu,內(nèi)存)一般配置這個(gè)activity為 singletask的啟動(dòng)模式。webkit內(nèi)核(c) 初始化需要大量?jī)?nèi)存如
42、js解析引擎、html渲染引擎、http解析、下載如果使用singletask模式,可以減少內(nèi)存開(kāi)銷,cpu占用。SingleInstance 應(yīng)用場(chǎng)景:來(lái)電頁(yè)面InCallScreenActivity。代碼題 共1題滿分:20分8、打開(kāi)指定包名,類名的Activity。(包名:ent.NextActivity 類名:NextActivity)(20分)答案說(shuō)明:Intent意圖:顯示意圖和隱式意圖。顯式意圖:調(diào)用Intent.setComponent()或Intent.setClass()方法明確指定了組件名的Intent為顯式意圖,顯式意圖明
43、確指定了Intent應(yīng)該傳遞給哪個(gè)組件。隱式意圖:沒(méi)有明確指定組件名的Intent為隱式意圖。 Android系統(tǒng)會(huì)根據(jù)隱式意圖中設(shè)置的動(dòng)作(action)、類別(category)、數(shù)據(jù)(URI和數(shù)據(jù)類型)找到最合適的組件來(lái)處理這個(gè)意圖。/ trim()方法刪除字符串開(kāi)始和結(jié)束位置的空格Intent intent = new Intent();intent1.setClassName("ent", "ent.NextActivity"); /開(kāi)啟打電話意圖startActivity(in
44、tent);第四天:1、在代碼中獲取注冊(cè)的廣播事件方法是().(10分)A、getAction()B、getActionCall()C、getMethod()D、getOutCall()參考答案:A答案說(shuō)明:getAction()方法是獲取廣播事件的方法.2、在廣播接收者中,setResultData()方法的作用是()。標(biāo)明前提,(10分)A、修改廣播接收者的數(shù)據(jù)B、修改數(shù)據(jù)并往下傳遞C、設(shè)置廣播接收者的數(shù)據(jù)D、以上都不對(duì)參考答案:A答案說(shuō)明:有序廣播可以通過(guò)setResultData()來(lái)修改廣播的數(shù)據(jù)3、廣播接收者需要在清單文件配置()節(jié)點(diǎn)。(10分)A、receiverB、broadR
45、eceiverC、serviceD、contentProvider參考答案:A答案說(shuō)明:廣播接收者的配置需要在清單文件里配receiver節(jié)點(diǎn).多選題 共2題滿分:20分4、關(guān)于廣播接收者說(shuō)法正確的是()(10分)A、Android中定義廣播接收者要繼承BroadCastReceiverB、Android中定義廣播接收者的目的之一是方便我們開(kāi)發(fā)者進(jìn)行開(kāi)發(fā)C、Android系統(tǒng)中內(nèi)置了很多系統(tǒng)級(jí)別的廣播D、Android中定義廣播這個(gè)組件意義不是很大參考答案:A,B,C答案說(shuō)明:Android中定義廣播接收者要繼承BroadCastReceiver,Android系統(tǒng)中內(nèi)置了很多系統(tǒng)級(jí)別的廣播比
46、如外撥電話,接收到短信,sd卡卸載等等,系統(tǒng)定義了這么多廣播事件方便我們開(kāi)發(fā)者進(jìn)行開(kāi)發(fā),意義很大.5、關(guān)于有序廣播和無(wú)序廣播說(shuō)法錯(cuò)誤的是( ).(10分)A、Android中廣播分有序廣播和無(wú)序廣播B、無(wú)序廣播是按照一定的優(yōu)先級(jí)進(jìn)行接收C、無(wú)序廣播可以被攔截,可以被修改數(shù)據(jù)D、有序廣播按照一定的優(yōu)先級(jí)進(jìn)行發(fā)送參考答案:B,C答案說(shuō)明:Android中廣播分有序廣播和無(wú)序廣播 有序廣播按照一定的優(yōu)先級(jí)發(fā)送,無(wú)序廣播不可以被攔截?cái)?shù)據(jù)不可以被修改判斷題 共0題滿分:0分填空題 共1題滿分:10分6、調(diào)用_方法動(dòng)態(tài)的注冊(cè)廣播接收者.(10分)參考答案:registerR
47、eceiver答案說(shuō)明:廣播接收者可以在清單文件中注冊(cè)也可以通過(guò)代碼的方式進(jìn)行注冊(cè).簡(jiǎn)答題 共1題滿分:20分7、請(qǐng)簡(jiǎn)要說(shuō)明廣播接受者在Android4.0以后做了哪些安全考慮?在Android4.0以后如何使廣播接受者不生效?(20分)參考答案:安卓4.0版本之后為了安全考慮,要求應(yīng)用程序必須要有界面,必須被用戶運(yùn)行過(guò)一次,廣播接受者才會(huì)生效。安卓4.0版本的強(qiáng)行停止相當(dāng)于凍結(jié)一個(gè)應(yīng)用,一旦應(yīng)用程序被用戶強(qiáng)行停止了,廣播接受者就不會(huì)生效了,直到用戶手動(dòng)打開(kāi)這個(gè)應(yīng)用程序?yàn)橹?。答案說(shuō)明:安卓4.0版本之后為了安全考慮,要求應(yīng)用程序必須要有界面,必須被用戶運(yùn)行過(guò)一次,廣播接受者才會(huì)生效。安卓4.0
48、版本的強(qiáng)行停止相當(dāng)于凍結(jié)一個(gè)應(yīng)用,一旦應(yīng)用程序被用戶強(qiáng)行停止了,廣播接受者就不會(huì)生效了,直到用戶手動(dòng)打開(kāi)這個(gè)應(yīng)用程序?yàn)橹?。安?.0以前的版本沒(méi)有這樣的安全考慮。代碼題 共1題滿分:20分8、請(qǐng)編寫一個(gè)程序,要求定義一個(gè)廣播接收者,用來(lái)接收開(kāi)機(jī)的廣播。(20分)答案說(shuō)明:ent.action.BOOT_COMPLETED是開(kāi)機(jī)的廣播的Action,注意需要加入權(quán)限:<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>1、定義廣播接受者
49、用來(lái)接收開(kāi)機(jī)的廣播: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、清單文件注冊(cè)<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ù)的生命周期說(shuō)法正確的
51、是()(10分)A、服務(wù)的生命周期和Activity一樣B、服務(wù)的創(chuàng)建會(huì)執(zhí)行onCreate()C、啟動(dòng)時(shí) onCreate()>onStart()->onResume()D、通過(guò)startService方式開(kāi)啟服務(wù),首先會(huì)調(diào)用onCreate 和 onStart方法參考答案:D答案說(shuō)明:通過(guò)startService方式開(kāi)啟服務(wù)首先會(huì)調(diào)用onCreate()方法 然后調(diào)用onStart( )方法2、如果一個(gè)進(jìn)程含有一個(gè)service和一個(gè)可視activity,那么這個(gè)進(jìn)程是什么進(jìn)程( )(10分)A、前臺(tái)進(jìn)程B、可見(jiàn)進(jìn)程C、后臺(tái)
52、進(jìn)程D、空進(jìn)程參考答案:B答案說(shuō)明:Android 對(duì)進(jìn)程的重要性評(píng)級(jí)的時(shí)候,選取它最高的級(jí)別。如果一個(gè)進(jìn)程含有一個(gè)service和一個(gè)可視activity,進(jìn)程將被歸入一個(gè)可視進(jìn)程而不是service進(jìn)程。3、通過(guò)bindService()綁定服務(wù),需要傳入一個(gè)ServiceConnection類的對(duì)象,需要實(shí)現(xiàn)這個(gè)類中的哪兩個(gè)方法( )(10分)A、onConnected(.)和onDisconnected(.)B、onServiceConnected(.)和onServiceDisconnected(.)C、onStartConnected(.
53、)和onSartDisconnected(.)D、onCreate(.)和onDisconnected(.)參考答案:B答案說(shuō)明:ServiceConnection類是用來(lái)監(jiān)聽(tīng)服務(wù)的狀態(tài),需要實(shí)現(xiàn)其中的onServiceConnected()方法和onServiceDisconnected()方法。多選題 共2題滿分:20分4、關(guān)于AIDL描述正確的是()(10分)A、AIDL全稱是Android interface definition LanguageB、AIDL出現(xiàn)目的是解決進(jìn)程間通信C、AIDL定義接口的源代碼必須以.aidl結(jié)尾D、AIDL語(yǔ)言就是java語(yǔ)言的演變參考答案:A,B,
54、C答案說(shuō)明:在Android系統(tǒng)中,各個(gè)應(yīng)用程序都運(yùn)行在自己的進(jìn)程中,進(jìn)程之間一般無(wú)法直接進(jìn)行通信,如果想要完成不同進(jìn)程之間的通信,就需要使用遠(yuǎn)程服務(wù)通信。遠(yuǎn)程服務(wù)通信是通過(guò)AIDL(Android Interface Definition Language)實(shí)現(xiàn)的,它是一種接口定義語(yǔ)言.它不是由java演變的5、android 通過(guò) startService 的方式開(kāi)啟服務(wù),以下說(shuō)法錯(cuò)誤的是()(10分)A、當(dāng)?shù)谝淮螁?dòng)的時(shí)候先后調(diào)用 onCreate()和 onStart()方法B、當(dāng)?shù)谝淮螁?dòng)的時(shí)候只會(huì)調(diào)用 onCreate()
55、方法C、如果 service 已經(jīng)啟動(dòng),將先后調(diào)用 onCreate()和 onStart()方法D、如果 service 已經(jīng)啟動(dòng),只會(huì)執(zhí)行 onStart()方法,不在執(zhí)行 onCreate()方法參考答案:B,C答案說(shuō)明:通過(guò)startService方式開(kāi)啟服務(wù),當(dāng)?shù)谝淮螁?dòng)的時(shí)候先后調(diào)用 onCreate()和 onStart()方法,如果 service 已經(jīng)啟動(dòng),只會(huì)執(zhí)行 onStart()方法,不在執(zhí)行 onCreate()方法判斷題 共0題滿分:0分填空題 共1題滿分:10分6、通過(guò)bindService方式開(kāi)啟的服務(wù)
56、,_方法可以進(jìn)行解綁服務(wù).(10分)參考答案:unbindService()答案說(shuō)明:通過(guò)bindService方式開(kāi)啟服務(wù)特點(diǎn)是服務(wù)和調(diào)用者之間不求同時(shí)生,但求同時(shí)死,所以調(diào)用者退出的時(shí)候需要解綁服務(wù),解綁服務(wù)調(diào)用unbindService().簡(jiǎn)答題 共1題滿分:20分7、簡(jiǎn)單介紹一下Android中如何創(chuàng)建服務(wù)(20分)參考答案:(1)定義一個(gè)類繼承Service類在清單文件里面注冊(cè)Service答案說(shuō)明:服務(wù)(Service)是Android中的四大組件之一,它能夠長(zhǎng)期在后臺(tái)運(yùn)行且不提供用戶界面。服務(wù)的創(chuàng)建定義一個(gè)類繼承Service.并且四大組件都需要在清單文件里注冊(cè).代碼題 共1題
57、滿分:20分8、請(qǐng)編寫一段程序,開(kāi)啟服務(wù),并調(diào)用服務(wù)中的方法。(20分)參考答案:u.zip 下載答案說(shuō)明:調(diào)用Service中的方法需要通過(guò)IBinder中間人對(duì)象,調(diào)用bindService()方法需要傳入一個(gè)ServiceConnection對(duì)象,這個(gè)類中有一個(gè)onServiceConnected()方法,當(dāng)綁定成功后調(diào)用,并且Service中onBind()方法中返回的IBinder對(duì)象就被傳遞到onServiceConnected()方法中,在這個(gè)方法中可以通過(guò)中間人對(duì)象調(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類,實(shí)現(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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 20年后的我作文800字10篇
- 養(yǎng)殖產(chǎn)業(yè)發(fā)展與購(gòu)銷合作契約
- 促進(jìn)工資性收入合理增長(zhǎng)實(shí)施方案
- 一個(gè)神奇的故事想象作文(6篇)
- 《魯迅作品賞析:初中語(yǔ)文文學(xué)經(jīng)典閱讀教案》
- 房產(chǎn)交易完成產(chǎn)權(quán)歸屬證明書(shū)(6篇)
- 中小學(xué)語(yǔ)文成語(yǔ)故事分享教案
- 初中清明掃墓120詞英語(yǔ)作文15篇范文
- 一年級(jí)寫景小作文日落美景250字14篇
- 《中國(guó)古代文學(xué)流派簡(jiǎn)介:大一語(yǔ)文文學(xué)史教案》
- 海氏(hay)職位分析法-介紹、實(shí)踐與評(píng)價(jià)合集課件
- 有趣的英漢互譯-課件
- 潔凈區(qū)空氣潔凈度級(jí)別空氣懸浮粒子的標(biāo)準(zhǔn)規(guī)定表
- 人教版五年級(jí)下冊(cè)期末語(yǔ)文試卷答題卡及答案
- 步進(jìn)式加熱爐耐材砌筑施工方案
- GB-T12232-2005- 通用閥門 法蘭連接鐵制閘閥
- 2022年中國(guó)電信店長(zhǎng)技能四級(jí)認(rèn)證教材
- (最新整理)《跨文化溝通》PPT課件
- 怎樣分析日本氣象傳真圖
- 常見(jiàn)散料堆積密度匯總-共10
- 視頻監(jiān)控巡查記錄
評(píng)論
0/150
提交評(píng)論