Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案_第1頁
Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案_第2頁
Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案_第3頁
Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案_第4頁
Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Android移動開發(fā)技術(shù)(慕課版)習(xí)題集題庫及答案一、填空題1在Android開發(fā)環(huán)境中,SDK組件的作用是用于( 開發(fā) )Android應(yīng)用。2在Android開發(fā)環(huán)境中,( Dalvik )組件的作用是虛擬機(jī)管理。二、判斷題1電子郵件客戶端屬于Android平臺體系結(jié)構(gòu)的應(yīng)用程序框架層。( F )2Android 中使用AVD Manager工具進(jìn)行SDK版本控制。( F )3Android 只能在Windows環(huán)境下開發(fā)。( F )三、問答題寫出2種當(dāng)前比較流行的移動操作系統(tǒng)并介紹其作用和特點(diǎn)。略簡述Android平臺體系結(jié)構(gòu)的層次劃分,并說明各個層次的作用。第一層Linux內(nèi)核,提供

2、有操作系統(tǒng)內(nèi)核管理的底層基礎(chǔ)功能;第二層中間層,由函數(shù)庫和Android運(yùn)行時構(gòu)成;第三層應(yīng)用程序框架層,提供了Android平臺的管理功能和組件重用機(jī)制;第四層應(yīng)用程序?qū)樱峁┝艘幌盗泻诵膽?yīng)用程序。習(xí)題一、填空題1Android項(xiàng)目打包后生成一個( apk )文件。2.Logcat日志信息按照等級由低到高劃分為五個等級,分別是( verbose )、( debug )、( info )、( warn )、( error )。3如果想根據(jù)日志信息的標(biāo)簽進(jìn)行日志信息的過濾,需要添加的過濾條件是( tag )。二、問答題1簡述簽名的意義。a) 為了保證每個應(yīng)用程序開發(fā)商合法IDb) 防止部分開發(fā)商

3、可能通過使用相同的Package Name來混淆替換已經(jīng)安裝的程序c) 保證我們每次發(fā)布版本的一致性(如自動更新不會因?yàn)榘姹静灰恢露鵁o法安裝)2簡述Release版本和Debug版本打包生成的文件的區(qū)別。debug模式:系統(tǒng)自動生成debug簽名;debug簽名的應(yīng)用程序不能在AndroidMarket上架銷售,它會強(qiáng)制你使用自己的簽名;Debug模式下簽名用的證書(默認(rèn)是Eclipse/ADT和Ant編譯)自從它創(chuàng)建之日起,1年后就會失效。debug.keystore在不同的機(jī)器上所生成的可能都不一樣,就意味著如果你換了機(jī)器進(jìn)行apk版本升級,那么將會出現(xiàn)上面那種程序不能覆蓋安裝的問題,相當(dāng)

4、于軟件不具備升級功能通過在Android studio上運(yùn)行直接在模擬機(jī)或手機(jī)上啟動程序,只是調(diào)試程序而已;release模式:用自己生成的key文件來簽名;release通常被稱為發(fā)布版本。3簡述APK文件反編譯得到的幾個文件的作用。AndroidManifest 全局配置文件;Classes.dex java核心代碼文件;Resource 記錄了資源文件的位置和id之間的映射關(guān)系;Res文件夾 資源文件;META-INF文件夾 用于保證apk文件的完整性和安全性; Mf 包含所有文件的文件名的編碼值,保證apk的完整性; Rsa 非對稱加密,被稱為公鑰加密標(biāo)準(zhǔn);算法自己看;公鑰加密; Sf

5、 同manifest的結(jié)構(gòu),私鑰加密;習(xí)題一、選擇題通過特定的接口類進(jìn)行事件處理的是( C )。A事件B事件源C事件監(jiān)聽器D事件處理器二、填空題Android的事件處理模型常用的有( 基于監(jiān)聽接口 )和( 基于回調(diào)接口 )。三、問答題1簡述基于監(jiān)聽接口的事件處理模型的編程步驟。1)獲取普通界面組件;2)實(shí)現(xiàn)事件監(jiān)聽類,該監(jiān)聽類是一個特殊的java類,必須實(shí)現(xiàn)一個XXXListener接口;3)調(diào)用事件源的setXXXListener方法注冊事件監(jiān)聽器2簡述Android中點(diǎn)擊事件、長按事件、鍵盤事件、觸摸事件、焦點(diǎn)改變事件、選擇改變事件對應(yīng)的事件監(jiān)聽接口。單擊事件:onClickListene

6、r;長按事件:onLongClickListener;鍵盤事件:onKeyListener;觸摸事件:onTouchListener;焦點(diǎn)改變事件:onFocusChangeListener;選擇改變事件:onCheckedChangeListener3哪些監(jiān)聽方法的返回值為布爾值?其意義有何不同?布爾值用來表示您是否已經(jīng)處理完事件,以及是否應(yīng)該將他繼續(xù)傳下去。也就是說,返回true表示已經(jīng)處理事件并且事件應(yīng)該就此停止;如果返回值為false表示您尚未處理事件或者事件應(yīng)該繼續(xù)傳遞給其他任何點(diǎn)擊監(jiān)聽器。四、編程題寫一個輸入框,當(dāng)對輸入框進(jìn)行觸摸操作時可以獲取觸控行為的抬起、滑動、按下的狀態(tài),以及

7、觸摸操作的位置坐標(biāo)。 頁面代碼如下: 其中,在輸入框中顯示當(dāng)前坐標(biāo),在文本框中顯示當(dāng)前的鼠標(biāo)狀態(tài)值。public class OnTouchActivity extends Activity EditText et_touch; TextView tv_action;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.ontouch_layout); et_touch = (EditText) findView

8、ById(R.id.et_touch); tv_action = (TextView)findViewById(R.id.tv_action); et_touch.setOnTouchListener(new View.OnTouchListener() Override public boolean onTouch(View v, MotionEvent event) int iAction = event.getAction(); switch (iAction) case MotionEvent.ACTION_DOWN: Log.i(tag,按下); break; case Motion

9、Event.ACTION_MOVE: Log.i(tag,滑動); break; case MotionEvent.ACTION_UP: Log.i(tag,抬起); double x = event.getX(); double y = event.getY(); et_touch.setText(點(diǎn)的坐標(biāo)為:(+x+,+y+); tv_action.setText(action=+iAction); return true; );習(xí)題一、填空題1設(shè)置Toast消息居中顯示的方法是( setGravity(Gravity.CENTER) )。2創(chuàng)建Notification對象需要使用的是(

10、NotificationManager ),發(fā)送通知欄信息使用的方法是( notify() ),取消發(fā)送通知欄信息的方法是( cancel() )。3創(chuàng)建一個AlertDialog對話框需要使用的對象類是( AlertDialog.Builder )。二、簡答題1簡述Toast消息提示框的特點(diǎn)。一種快速的即時消息。消息內(nèi)容簡短。懸浮于應(yīng)用程序的最上方不獲得焦點(diǎn)用于提示任務(wù)是否完成的消息提示機(jī)制2簡述Notification通知欄的適用情況。某些信息不需要用戶馬上處理,可以利用通知。即延遲消息,比如軟件的更新、短信、新聞之類的。3簡述一個對話框包含的內(nèi)容。圖標(biāo)、標(biāo)題、內(nèi)容、選擇按鈕三、編程題編寫

11、Android程序,模擬實(shí)現(xiàn)用戶注冊功能。如果用戶名是張三,密碼是123,點(diǎn)擊“登錄”按鈕,觸發(fā)點(diǎn)擊事件,使用Toast提示“登錄成功”,否則提示“登錄失敗”。效果如圖5.8所示。圖5.8 顯示效果activity_main.xml代碼如下。 (1) 請補(bǔ)全代碼 (2) 請補(bǔ)全代碼MainActivity代碼如下。public class MainActivity extends AppCompatActivity /聲明 (3) 請補(bǔ)全代碼 Override protected void onCreate(Bundle savedInstanceState) super.onCreate(s

12、avedInstanceState); (4) 請補(bǔ)全代碼代碼如下:(1)(2分) (2)(2分) (3) private EditText et_name,et_pass;(0.5分) private Button btn_login;(0.5分)(4)setContentView(R.layout.activity_main);(1分)/初始化et_name=(EditText) findViewById(R.id.login_username);(0.5分)et_pass=(EditText) findViewById(R.id.login_password);(0.5分)btn_log

13、in=(Button) findViewById(R.id.login);(1分)/創(chuàng)建適配器btn_login.setOnClickListener(new View.OnClickListener() Override public void onClick(View v)(1分) String name= et_name.getText().toString(); String pass=et_pass.getText().toString();(2分) if(張三.equals(name)&123.equals(pass) Toast.makeText(MainActivity.thi

14、s, 登錄成功, Toast.LENGTH_SHORT).show(); (2分) else Toast.makeText(MainActivity.this, 登錄失敗, Toast.LENGTH_SHORT).show(); (2分) );習(xí)題一、填空題圖片資源的存放路徑( res/drawable )、字符串資源的存放路徑( res/strings )、顏色資源的存放路徑( res/colors )、尺寸資源的存放路徑( res/dimens )。2 資源文件一般存放在( xml )格式的文件中。 3 引用一個自定義的顏色資源,通過什么屬性進(jìn)行引用( name )。4 常用的數(shù)組資源中包

15、含的子元素有( array )、( integer-array )、(string-array)二、簡答題簡述資源文件的引用方式。自定義資源文件:pachagetype/name系統(tǒng)資源文件:android:type/nameR.java文件訪問資源文件:R.三、編程題使用StateListDrawable資源編寫一個資源文件,要求輸入框在獲得焦點(diǎn)和失去焦點(diǎn)時輸入框中的字體分別呈現(xiàn)不同的顏色狀態(tài)。 習(xí)題一、選擇題如果將一個TextView的android:layout_height屬性值設(shè)置為wrap_content,那么該組件的展示效果為( D )。A該文本域的寬度將填充父容器的寬度B該文本

16、域的寬度僅占該控件的實(shí)際寬度C該文本域的高度將填充父容器的寬度D該文本域的高度僅占該控件的實(shí)際高度二、簡答題簡述TextView組件和EditText組件的區(qū)別。TextView是一種用于顯示字符串的控件EditText則是用來輸入和編輯字符串的控件EditText是一個具有編輯功能的TextView三、編程題編寫Android程序,利用ArrayAdapter數(shù)組適配器實(shí)現(xiàn)圖7.15的效果(注意:列表項(xiàng)布局使用android.R.layout.simple_list_item_1)。圖7.15 利用ArrayAdapter數(shù)組適配器實(shí)現(xiàn)的效果activity_main.xml代碼如下。 (1

17、) 請補(bǔ)全代碼MainActivity代碼如下。public class MainActivity extends AppCompatActivity /聲明 (2) 請補(bǔ)全代碼 Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); (3) 請補(bǔ)全代碼 代碼如下:(1)(2)ListView listView; ArrayAdapter arrayAdapter;(3)setContentView(R.layout.activity_main); listV

18、iew = (ListView)findViewById(R.id.listView); String arr_data = item1,item2,item3,item4;arrayAdapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,arr_data); listView.setAdapter(arrayAdapter);習(xí)題一、填空題1通過( TableRow )標(biāo)簽劃分TableLayout中的行。2通常使用( layout_height )和( layout_weight )常量來

19、設(shè)置寬度或高度。3布局中的所有元素均使用( View )和( View Group )對象的層次結(jié)構(gòu)進(jìn)行構(gòu)建。二、簡答題簡述Android開發(fā)過程中常用的五種布局的特點(diǎn)。線性布局(LinearLayout),實(shí)現(xiàn)垂直或水平布局;相對布局(RelativeLayout),根據(jù)控件之間的相對位置進(jìn)行布局;表格布局(TableLayout),將整個頁面劃分為行列表格進(jìn)行布局;幀布局(FrameLayout)控件只能放在頁面的左上角,新添加的控件會覆蓋已存在的控件;絕對布局(AbsoluteLayout),控件的位置根據(jù)x,y坐標(biāo)進(jìn)行設(shè)定。三、編程題使用RelativeLayout實(shí)現(xiàn)圖8.16所示的

20、布局。圖8.16 要求實(shí)現(xiàn)的布局代碼如下: 習(xí)題一、填空題1Activity的生命周期包括運(yùn)行狀態(tài)、暫停狀態(tài)、停止?fàn)顟B(tài)和( 死亡狀態(tài) )。2當(dāng)處于暫停狀態(tài)(Paused)的Activity由被覆蓋狀態(tài)回到前臺或解鎖屏?xí)r,系統(tǒng)會調(diào)用( restart )方法,再次進(jìn)入( onResume )。3Intent常用屬性主要有( 組件 )、動作、動作的類別、數(shù)據(jù)、數(shù)據(jù)MIME類型以及附加信息等。4啟動一個Activity并從新的組件獲得返回值所需方法為( onActivityResult() )。5Intent調(diào)用可以分為( 顯式 )和( 隱式 )兩種類型。6廣播接收端使用( OnReceive )告

21、知系統(tǒng)其可以接收的廣播類型。7在Intent的Action屬性中,用來標(biāo)識應(yīng)用程序入口的是( ACTION_MAIN )。8Android組件中運(yùn)行于后臺,沒有界面交互的是( Service )。9使用Context的( startActivity )方法可以啟動Activity。10在Android提供的通訊錄數(shù)據(jù)庫contact2.db中,用于存儲聯(lián)系人詳細(xì)信息的表是( contacts )。二、選擇題1關(guān)于Activity生命周期的onCreate()和onStart()方法說法正確的是( D )。A當(dāng)?shù)谝淮螁拥臅r候先后調(diào)用onStart()和onCreate()方法B當(dāng)?shù)谝淮螁拥臅r

22、候只會調(diào)用onCreate()方法C如果Activity已經(jīng)啟動,將先后調(diào)用onCreate()和onStart()方法D如果Activity已經(jīng)啟動,將只調(diào)用onStart()方法2下面不是退出Activity方法的是( C )。Afinish()BSystem.exit()ConStop()D異常強(qiáng)制退出3下面在AndroidManifest.xml文件中設(shè)置訪問網(wǎng)絡(luò)權(quán)限正確的是( A )。ABCD4對一些資源以及狀態(tài)的操作保存,最好是保存在生命周期的( A )函數(shù)中進(jìn)行。AonPause()BonCreate()ConResume()DonStart()5Android中屬于Intent

23、的作用的是( C )。A實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享BIntent是一段長的生命周期,沒有用戶界面的程序,可以保持應(yīng)用在后臺運(yùn)行,而不會因?yàn)榍袚Q頁面而消失C可以實(shí)現(xiàn)界面間的切換,可以包含動作和動作數(shù)據(jù),連接四大組件的紐帶D處理一個應(yīng)用程序整體性的工作6( A )通常就是一個單獨(dú)的窗口界面。AActivityBIntentCServiceDContent Provider7關(guān)于Service生命周期的onCreate()和onStart(),說法正確的是( D )。A當(dāng)?shù)谝淮螁拥臅r候先后調(diào)用onStart()和onCreate()方法B當(dāng)?shù)谝淮螁拥臅r候只會調(diào)用onCreate()方法C如果Ser

24、vice已經(jīng)啟動,將先后調(diào)用onCreate()和onStart()方法D如果Service已經(jīng)啟動,只會執(zhí)行onStart()方法,不在執(zhí)行onCreate()方法8下列關(guān)于ContentProvider,說法錯誤的是( C )。AContentProvider的作用是實(shí)現(xiàn)數(shù)據(jù)共享和交換B要訪問ContentProvider,只需調(diào)用ContentProvider增、刪、改、查的相關(guān)方法CContent Provider提供的URI必須以“content:/”開頭DAndroid對于系統(tǒng)里的音視頻、圖像、通訊錄提供了內(nèi)置的ContentProvider三、簡裝題描述Android中Conte

25、ntProvider的作用。內(nèi)容提供者組件通過請求從一個應(yīng)用程序向其他的應(yīng)用程序提供數(shù)據(jù)。這些請求由類 ContentResolver 的方法來處理。內(nèi)容提供者可以使用不同的方式來存儲數(shù)據(jù)。數(shù)據(jù)可以被存放在數(shù)據(jù)庫,文件,甚至是網(wǎng)絡(luò)。有時候需要在應(yīng)用程序之間共享數(shù)據(jù)。這時內(nèi)容提供者變得非常有用。內(nèi)容提供者可以讓內(nèi)容集中,必要時可以有多個不同的應(yīng)用程序來訪問。內(nèi)容提供者的行為和數(shù)據(jù)庫很像。你可以查詢,編輯它的內(nèi)容,使用 insert(), update(), delete() 和 query() 來添加或者刪除內(nèi)容。多數(shù)情況下數(shù)據(jù)被存儲在 SQLite 數(shù)據(jù)庫。四、程序設(shè)計設(shè)計一個應(yīng)用,界面中有一

26、個EditText控件和一個Button控件,當(dāng)點(diǎn)擊按鈕時,能夠打開在EditText中輸入的網(wǎng)址。略習(xí)題一、填空題1SharedPreferences最終的存儲形式是( xml )文件。2使用SharedPreferences方式操作數(shù)據(jù)時,首先要通過Context的( getDefaultSharedPreferences() )函數(shù)獲得SharedPreferences類對象。二、選擇題1下面關(guān)于SharedPreferences的表述正確的是( D )。ASharedPreferences pref=new SharedPreferences()BEditor editor=new E

27、ditor()CSharedPreferences.apply()操作會馬上將數(shù)據(jù)寫入磁盤文件DEditor對象存儲數(shù)據(jù)最后都要調(diào)用commit()方法 2下面關(guān)于Android數(shù)據(jù)存儲方式描述錯誤的是( B )。AAndroid可以采用SharedPreferences數(shù)據(jù)存儲BAndroid文件存儲形式中,用戶只能訪問外部存儲CAndroid可以使用數(shù)據(jù)庫存儲DAndroid可以采用ContentProvider存儲數(shù)據(jù)3關(guān)于Android中文件操作描述正確的是( C )。AAndroid應(yīng)用只能訪問本應(yīng)用程序的文件BAndroid應(yīng)用可以獲得圖片、音頻等公共存儲空間中的文件CAndroi

28、d應(yīng)用能夠讀取其他應(yīng)用程序空間中的文件DAndroid應(yīng)用能夠修改其他應(yīng)用程序空間中的文件三、編程題根據(jù)所學(xué)的Android文件操作知識,實(shí)現(xiàn)一個記事本功能的App。略習(xí)題一、填空題1SQLite數(shù)據(jù)庫中用于獲取幫助的命令是( .help )。2在用游標(biāo)操作SQLite數(shù)據(jù)表時,獲取數(shù)據(jù)表中記錄數(shù)的方法是( query() )。3用SQLiteOpenHelper類操作數(shù)據(jù)庫時,數(shù)據(jù)庫表建立語句一般在( onCreate() )方法中執(zhí)行。4SQLiteOpenHelper類操作數(shù)據(jù)庫時,當(dāng)數(shù)據(jù)庫版本發(fā)生改變時,會自動調(diào)用( onUpdate() )方法。二、選擇題1下面關(guān)于SQLite數(shù)據(jù)庫

29、描述正確的是( D )。ASQLite數(shù)據(jù)庫中數(shù)據(jù)類型是強(qiáng)數(shù)據(jù)類型BSQLite數(shù)據(jù)庫操作時,如果插入的數(shù)據(jù)類型與字段數(shù)據(jù)類型不一致,則一定不能插入CSQLite數(shù)據(jù)庫只能應(yīng)用在Android系統(tǒng)中DSQLite中能夠使用事務(wù)操作2下面關(guān)于SQLite操作描述不正確的是( C )。ASqliteOpenHelper類主要用來創(chuàng)建數(shù)據(jù)庫和更新數(shù)據(jù)庫BSqliteDatabase類可以用來操作數(shù)據(jù)庫C在每次調(diào)用SqliteDatabase類的getWritableDatabase()方法時,會執(zhí)行SqliteOpenHelper類的onCreate()方法D當(dāng)數(shù)據(jù)庫版本發(fā)生變化時,可以自動更新數(shù)據(jù)

30、庫結(jié)構(gòu)三、論述題簡要論述在Android項(xiàng)目中,用MVC開發(fā)數(shù)據(jù)庫系統(tǒng)的基本操作步驟。視圖層(View) 對應(yīng)于xml布局文件和java代碼動態(tài)view部分。控制層(Controller) MVC中Android的控制層是由Activity來承擔(dān)的,Activity本來主要是作為初始化頁面,展示數(shù)據(jù)的操作,但是因?yàn)閄ML視圖功能太弱,所以Activity既要負(fù)責(zé)視圖的顯示又要加入控制邏輯,承擔(dān)的功能過多。模型層(Model) 針對業(yè)務(wù)模型,建立的數(shù)據(jù)結(jié)構(gòu)和相關(guān)的類,它主要負(fù)責(zé)網(wǎng)絡(luò)請求,數(shù)據(jù)庫處理,I/O的操作。習(xí)題一、簡答題簡述android:visibility屬性對應(yīng)的屬性值及區(qū)別。可見(visible)XML文件:android:visibility=“visible”Java代碼:vie

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論