版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1 安卓核心組件有哪些? What are the Android core components? 提供界面顯示的Activtiy,提供后臺計算的Service,提供進程間通信的Intent提供廣播接收的BroadcastRsceiver.2 安卓 key features 有哪些?Intergrated browserSQLiteMedia supportWireless servicesDVMApplication frameworkRich development environment3安卓用什么數(shù)據(jù)庫?Android with what
2、60;database?SQLite4幾個流行的移動平臺各自的 IDE 是什么?IOS XcodeAndroid EclipseWindows phone Visual Studio黑莓 Native平臺5 R.java 是什么文件?干什么用的?在什么地方?What is R.java file? What for? In what place? R.java文件是Android項目自動生成的終態(tài)類R.java文件除了有自動標識資源的"索引"功能之外,還有另一個主要的功能,當"res"目錄中的某個資源在應用中沒有被使用到,在該應用被編
3、譯的時候系統(tǒng)就不會把對應的資源編譯到該應用的APK包中,這樣可以節(jié)省Android手機的資源。 "gen/"目錄下6安卓平臺架構分為幾層?各是什么?The Android platform structure is divided into several layers? Each is what? Android 系統(tǒng)分為四層,從下往上分別是Linux Kernel,Libraries 和Android Runtime,Application Framework,Applications.7創(chuàng)建一個 UI 并運行之,有哪幾個步驟?創(chuàng)建一個Activity把UI和Activ
4、ity關聯(lián)起來 注冊這個Activity8 Intent 有幾個組件?各是干什么用的?哪些組件是必須存在的,哪些是可選的,在Manifest中 intent filter 是如何聲明的? Componment name(接收者名字) Action(指定需要被執(zhí)行的動作) Data(指定用于操作的數(shù)據(jù)) Category(指定目標應用程序組件的行為) Extras Flags定義在<activity> <intent-filter> </intent-filter></activity>9 Activity的生命周期有哪些狀態(tài)?狀態(tài)轉換時調用的方法
5、各是什么?What is the state of the Activity life cycle? State transitionmethod called when all is what? 一個Activity有三種狀態(tài):Running,運行在前臺(在當前Activity棧的棧頂)。Paused,失去了焦點但是仍然對用戶可見,比如有其他的Activity在它之上,或者透明或者沒有遮住整個屏幕。Stopped,被其他Activity完全覆蓋,需要注意的是包括暫停狀態(tài)在內,這兩種狀態(tài)都仍然保存了所有狀態(tài)信息,直到被系統(tǒng)終止。123
6、4567void onCreate()void onStart()void onRestart()void onResume()void onPause()void onStop()void onDestroy()10同一個應用之間Activity互相調用要用什么Intent(隱式、顯式?還是什么?)?With an application of the Activity call each other to usewhat Intent (implicit, explicit? Or what?)? 顯
7、式Intent直接用組件的名稱定義目標組件,這種方式很直接。但是由于開發(fā)人員往往并不清楚別的應用程序的組件名稱,因此,顯式Intent更多用于在應用程序內部傳遞消息。比如在某應用程序內,一個Activity啟動一個Service。11什么是Dalvik Virtual Machine? (Dalvik虛擬機器)是一種暫存器型態(tài)的虛擬機器。簡稱DVM,DVM在撰寫開發(fā)時就已經設想用最少的記憶體資源來執(zhí)行,以及同時可執(zhí)行多個VM為前提來開發(fā)的。大部分安卓應用程序都是用Java編寫的,然后被編譯成字節(jié)碼,字節(jié)碼通過dilvik虛擬機在運行環(huán)境中被解釋執(zhí)行12安卓日志類 Log 有幾種常用方法?各用于
8、什么輸出什么信息?哪些信息只應該在開發(fā)的時候才允許輸出? Errors 應用程序拋出的異常 Warnings Informational messages Debug messages Verbose messages在開發(fā)人員調試應用程序是輸出13什么是Content Provider?內容提供器是應用程序之間共享數(shù)據(jù)的接口,A content provider can store and retrive data making it accessible to all application比如:聯(lián)系人提供器專為不同應用程序提供聯(lián)系人數(shù)據(jù);設置提供器專為不同應用程序提供系統(tǒng)配置信息,包括內
9、置的設置應用程序等。14什么是Broadcast Receiver?廣播接收器是一個專注于接收廣播通知信息,并做出對應處理的組件。應用程序可以擁有任意數(shù)量的廣播接收器以對所有它感興趣的通知信息予以響應。所有的接收器均繼承自BroadcastReceiver基類。廣播接收器沒有用戶界面。然而,它們可以啟動一個activity來響應它們收到的信息,或者用NotificationManager來通知用戶。通知可以用很多種方式來吸引用戶的注意力閃動背燈、震動、播放聲音等等。一般來說是在狀態(tài)欄上放一個持久的圖標,用戶可以打開它并獲取消息。15什么是Intent?Intent(意圖)主要是解決Androi
10、d應用的各項組件之間的通訊。Intent負責對應用中一次操作的動作、動作涉及數(shù)據(jù)、附加數(shù)據(jù)進行描述,Android則根據(jù)此Intent的描述,負責找到對應的組件,將 Intent傳遞給調用的組件,并完成組件的調用。16什么是Service,Service有哪些狀態(tài)?Services是一個沒有任何UI能夠在后臺長時間運行的應用程序組件Service是android 系統(tǒng)中的四大組件之一(Activity、Service、BroadcastReceiver、ContentProvider),它跟Activity的級別差不多,但不能自己運行只能后臺運行,并且可以和其他組件進行交互。Star
11、ted 一個activity調用startService()來啟動它Bound 一個activity調用bindService()來綁定它17安卓的資源有哪些類型?各放在什么位置?Bool 用XML格式定義的布爾值 文件位置:res/values/filename.xmlColor 用XML格式定義的顏色值 文件位置:res/values/colors.xmlDimens 用XML格式定義的數(shù)量值 文件位置:res/values/filename.xmlID 用XML格式定義的紫苑唯一ID 文件位置:res/values/filename.xmlInteger 用XML格式定義的整數(shù)資源 文件
12、位置:res/values/filename.xmlInteger Array 用XML格式定義的整數(shù)數(shù)組 文件位置:res/values/filename.xmlTyped Array 用XML格式定義的TypedArray 文件位置:res/values/filename.xml18 IPC是什么意思?和Intent有什么關系?Inter-Process CommunicationIPC是內部進程通信的簡稱, 是共享"命名管道"的資源。Android中的IPC機制是為了讓Activity和Service之間可以隨時的進行交互,故在Android中該機制,只適用于Acti
13、vity和Service之間的通信,類似于遠程方法調用,類似于C/S模式的訪問。通過定義AIDL接口文件來定義IPC接口。Servier端實現(xiàn)IPC接口,Client端調用IPC接口本地代理19 Broadcast有哪幾種?區(qū)別?(8.14)Normal broadcastsBroadcasts sent to all interested receivers at the same time and the receivers run in an udefined order often at the same timeOrdered broadcastsBroadcasts are sen
14、t ti all the interested receivers in a peoper order,which means that a broadcasts is delivered to one receivers at a time20 Ordered broadcast如何決定接收者的順序?Ordered broadcast how to decide the order?To control the order in which all the interested receivers run ,you can use the androi
15、d:priority attribute of the receivers intent-filter element. However ,receivers with the same priority will be run in an arbitrary order(無序)21安卓中的 Permissions,包括怎么向系統(tǒng)申請權限,怎么用權限保護自己等(14.9-14.11)在Manifest.xml 文件中聲明一個<permission></permission>然后在<activity></activity>(或者其他)中加入andr
16、oid:permission=”permissionname”屬性這樣以后其他應用程序使用這個程序需要先申請對應權限22安卓原生支持幾種IO機制?各自有什么特點?Android native support for several IO mechanisms? The respective characteristics of what?23安卓原生的content provider有哪些?Browser 用于訪問與瀏覽歷史,書簽,搜索記錄相關的數(shù)據(jù)Contacts 用于訪問和修改native contact details databaseCall l
17、og 用于訪問通話記錄Media store 訪問設備上的多媒體文件(multimedia file)Settings 用于訪問和修改設備的參數(shù)設置,藍牙,鈴聲24如何創(chuàng)建一個content provider? 打開EOE工程,創(chuàng)建一個新的Eoe類,擴展Content Provider。重寫onCreate、getType、query、insert、delete和update方法。25安卓下訪問一個文件,要寫到文件最后,要用什么模式打開文件?To access a file to be written to a file for Android, fin
18、ally, to open the file with whatpattern?MODE_APPEND 如果不存在就創(chuàng)建MODE_PRIVATE 創(chuàng)建的文件只只讓本程序訪問MODE_WORLD_READABLEMODE_WORLD_WRITEABLE26判斷SD卡是否可用,用什么方法?Judging the SD card is available, with what method?Android.os.Environment類String state = Environment.getExternalStorageState()/獲取SD卡的狀態(tài)MEDIA_MOUNTE
19、D 表示SD卡存在并且掛載,可以讀或者寫MEDIA_REMOVED 表示沒有檢測到SD卡MEDIA_UNMOUNTED 表示SD卡存在但是沒有掛載MEDIA_MOUNTED_READ_ONLY 表示SD卡存在且掛載,但是只讀27 Shared Preferences 是什么?有什么用?SharedPreferences是Android平臺上一個輕量級的存儲類,主要是保存一些常用的配置比如窗口狀態(tài),一般在Activity中重載窗口狀態(tài)onSaveInstanceState保存一般使用SharedPreferences完成,它提供了Android平臺常規(guī)的Long長整形、Int整形、String字
20、符串型的保存28要從遠端URL播放多媒體文件用什么stream?HTTP streaming29創(chuàng)建一個安卓數(shù)據(jù)庫都有哪些途徑?Create an Android databases have what way?2種通過 Shell Commands:打開adb shell ,使用cd 命令轉到需要創(chuàng)建數(shù)據(jù)庫的文件夾下,使用 sqlite3<database name>直接創(chuàng)建一個數(shù)據(jù)庫通過代碼創(chuàng)建:使用android.database.sqlite.SQLiteDatabase類SQLiteDatabase sqlDB;SqlDB = openOrC
21、reateDatabase(NAME,SQLiteDatabase.CREATE_IF_NECESSARY,NULL);SqlDB.execSQL(“CREATE TABLE” + TABLE_NAME + “id INTEGER PRIMARY KEY,Name TEXT, Phone LONG”)30安卓有幾種布局管理器(Layout)?各有什么特點?Android has several layout manager(Layout)? What are the characteristics?5種1.FrameLayout:children按照從左上開始的順
22、序排列,主要用于tabed view或者圖片切換功能;最簡單的布局模型,在這種布局下每個添加的子控件都被放在布局的左上角,并覆蓋在前一子控件的上層。2.線性布局(LinearLayout):children排列成一行多列或者一列多行的形式,應該是應用程序中最常用的布局方式,它提供了控件水平或者垂直排列的模型,同時我們可通過設置子控件的weight布局參數(shù)控制各個控件在布局中的相對大小。3.相對布局(RelativeLayout):children是相互之間相關位置或者和他們的parent位置相關,參照控件可以是父控件,也可以是其他子控件,但被參照的控件必須要在參照它的控件之前定義。相對布局模型
23、所涉及的屬性設置比較多,但并不復雜。4.TableLayout:children按照行列的排序,類似于html的table;模型以行列的形式管理子控件,每一行為一個TableRow的對象,也可為一個View的對象。TableRow可添加子控件,每添加一個子控件為一列。5.坐標布局(AbsoluteLayout)的子控件需要指定相對于此坐標布局的橫、縱坐標值,否則將會像FrameLayout那樣被排在左上角。手機應用需要適用于不同的屏幕大小,而這種布局模型不能自適應屏幕尺寸大小,所以應用得相當少。31按下button,被調用的回調函數(shù)是什么?(4.8)Press button, is what
24、is the callback function is called? onTouchEvent()32安卓內建的theme有哪些?What are the Android built in theme?Theme.Black:Theme.Light:Theme.Translucent:Theme.Dialog:Theme.Holo:33各種對話框共同的父類是是什么?Various dialog common parent class is what?Dialog34 View類是什么?起什么作用?What is View? What is the role?View作為U
25、I的最基本的元件,負責繪制UI元素和界面動作的監(jiān)聽??梢哉J為是Button,文本域等界面元素或者其他View的容器。29 Options Menu是什么?Context Menu是什么?Android手機上有個Menu按鍵,當Menu按下的時候,每個Activity都可以選擇處理這一請求,在屏幕底部彈出一個菜單,這個菜單我們就叫做選項菜單(OptionsMenu)Android 的上下文菜單 (Context Menu)30 Android 原生支持哪幾種 Dialog?What kinds of native Android support Dialog?(10
26、.17)AlertDialog 提示性ProgressDialog 進度條DatePickerDialog 允許用戶選擇一個日期TimePickerDialog 允許用戶選擇一個時間31安卓畫圖相關的主要有哪3個類?各自作用?Android drawing related what are the 3 main classes? Their role?1) Color :顏色對象,相當于現(xiàn)實生活中的 調料2) Paint : 畫筆對象,相當于現(xiàn)實生活中畫圖用的 筆主要的還是對畫筆進行設置3) Canvas : 畫布對象,相當于現(xiàn)實生活中畫圖用的 紙 或 布三者相結合,就能畫出基本的圖形32復合
27、控件(compound views)是什么?復合控件是原子的、可重復使用的widget,它包含多個子控件,以某種布局方式聯(lián)系在一起。33 ADB是什么?ADB工具一般存放在什么位置?What is ADB? ADB tools are generally stored in what position?adb是androidsdk里的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod設備(如G1手機). 它的主要功能有:* 運行設備的shell(命令行)* 管理模擬器或設備的端口映射* 計算機和設備之間上傳/下載文件* 將本地apk軟件安裝至模擬器或androi
28、d設備當前用戶的工作目錄34安卓開發(fā)環(huán)境包括哪些東西?Android development environment includes what?Device emulator設備模擬器Debugging tools調試工具Memory and performance profiler內存及性能分析工具Eclipse集成開發(fā)環(huán)境以及安卓開發(fā)插件35安卓應用程序有哪些類型?What type of Android applications? 前臺應用程序 后臺應用程序 間歇式應用程序 小組件36 <uses-permission> 和 <uses-feature> 是什么
29、?各自干什么用的?使用權限 用來保護用戶資源的安全 利用特征 Android Market會根據(jù)uses-feature過濾所有你設備不支持的應用。37周期性Alarm用什么方法創(chuàng)建?The periodic Alarm with what method to create?setRepeating()38 安卓如何獲得位置提供者,具體方法類有哪些?安卓支持哪幾種Location Provider?GPSCell tower triangulationWi-Fi hosspotsLocationManagerAndroid how to obtain location provider, wh
30、at are the specific methods?39安卓收到一個短信,會觸發(fā)什么樣的broadcast?SMS_RECEIVED40什么是ADT-Plugin?ADT(Android開發(fā)工具包)是一個為Eclipse集成開發(fā)環(huán)境設計的有效、快速構建Android應用程序的插件。 ADT擴展了Eclipse的功能,讓您快速建立新的Android項目,創(chuàng)建一個應用程序UI,添加基于Android框架API的程序包,使用SDK工具調試你的程序,甚至導出簽名的(或未簽名的)apk格式的文件來發(fā)布你的應用程序。發(fā)送短信,撥叫某個號碼(可以是直接撥叫、也可以是啟動撥號面板,不考慮權限問題)直接呼叫
31、Intent i = new Intent(Intent.ACTION_CALL, Uri.parse(“tel)撥號面板dialIntent = new Intent(Intent.ACTION_DIAL,Uri.parse(“tel:1895189443”)發(fā)送短信:private EditText phone_number_editTextprivate EditText sms_content_editText;private Button send_sms_button;phone_number_editText = (EditText) findViewB
32、yId(R.id.phone_number_editText);sms_content_editText = (EditText) findViewById(R.id.sms_content_editText);send_sms_button = (Button) findViewById(R.id.send_sms_button);send_sms_button.setOnClickListener(new View.OnClickListener() Overridepublic void onClick(View arg0) String phone_number = phone_num
33、ber_editText.getText().toString().trim(); String sms_content = sms_content_editText.getText().toString().trim(); if(phone_number.equals("") Toast.makeText(MainActivity.this, “請輸入手機號碼”, Toast.LENGTH_LONG).show(); else SmsManager smsManager = SmsManager.getDefault(); if(sms_content.length()
34、> 70) /當短信超過SMS消息的最大長度時,將短信分割為幾塊。 List<String> contents = smsManager.divideMessage(sms_content); for(String sms : contents) smsManager.sendTextMessage(phone_number, null, sms, null, null); else smsManager.sendTextMessage(phone_number, null, sms_content, null, null); Toast.makeText(MainActiv
35、ity.this, “發(fā)送成功”, Toast.LENGTH_SHORT).show(); );如何從內部、外部(SD卡)存儲器存取文件內部:Strint Filename = “mydata.txt”;Strint data = “hello world”;/寫tryPrintWriter pw = new PrintWriter(openFileOutput(FILENAME,Context.MODE_PRIVATE);pw.println(“hello world”);pw.close();Catch(Exception ex)Log.e(“Exception”, ex.toString
36、() );/讀tryBufferedInputStream bis =new BufferedInputStream( openFileInput(FILENAME);byte buffer = new byte10000;while( bis.read(buffer) != -1)String mydata = new String (buffer);Bis.close();Catch(Exception ex)Log.e(“Exception”, ex.toString() )SD卡:使用之前需要查詢是否可用Environment.getExternalStorageState().equ
37、als(Environment.MEDIA_MOUNTED)=1寫String MYFILE = “MyData.txt”;tryPrintWriter pw = new PrintWriter(new FileOutputStream ( Environment.getExternalStorageDirector() + ”/” + MYFILE );pw.write(“hello world”)pw.close();catch(Exceprtion ex)Log.e(“io”,”error”)讀tryBufferedInputStream bis = new BufferedInputS
38、tream(newFileInputStream(Environment.getExternalStorageDiretor()+”/”+MYFILE);Byte buffer = new bytefis.available();bis.read(buffer);string str = new string(buffer);bis.close();catch(Exception ex)Log.e(“io”,”error”);如何獲取當前地理位置. How the current geographical location access獲取LocationManager的一個實例Locatio
39、nManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);注冊一個周期性的位置更新locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, locationListener);最后一個參數(shù)是LocationListener的一個引用,我們必須要實現(xiàn)這個類private final LocationListener locationListener = new LocationLis
40、tener() public void onLocationChanged(Location location) /當坐標改變時觸發(fā)此函數(shù),如果Provider傳進相同的坐標,它就不會被觸發(fā) / log it when the location changes if (location != null) Log.i("SuperMap", "Location changed : Lat: " + location.getLatitude() + " Lng: " + location.getLongitude(); public vo
41、id onProviderDisabled(String provider) / Provider被disable時觸發(fā)此函數(shù),比如GPS被關閉 public void onProviderEnabled(String provider) / Provider被enable時觸發(fā)此函數(shù),比如GPS被打開 public void onStatusChanged(String provider, int status, Bundle extras) / Provider的轉態(tài)在可用、暫時不可用和無服務三個狀態(tài)直接切換時觸發(fā)此函數(shù) ;以上的這些步驟一般應當在Activity的onCreate()階段
42、完成。在成功注冊了一個周期性坐標更新以后,我們就隨時可以通過下面的方法來取得當前的坐標了。Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);double latitude = location.getLatitude(); /經度double longitude = location.getLongitude(); /緯度double altitude = location.getAltitude(); /海拔如何顯示一個Status Bar Notification.1
43、. 獲得NotificationManager對象的引用: String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 2. 初始化Notification對象: (內容,時間,圖標)int icon = R.drawable.notification_icon; CharSe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全員工作計劃15篇
- 新的一年工作計劃精彩
- 2025國際計算機軟件許可合同格式
- 2024年離婚賠償協(xié)議書模板下載
- 藥店個人自我鑒定7篇
- 2024年礦業(yè)權流轉居間合同3篇
- 2024年生物質能源開發(fā)利用合作合同
- 2025中央空調采購合同書
- 2024年夫妻離婚后房產分割協(xié)議書2篇
- 外貿工作計劃3篇
- 農村安全飲水工程項目劃分表
- 智聯(lián)國企行測筆試真題
- 2025屆新高考物理熱點精準復習:高中物理6大模塊計算題思路總結
- 2025屆江蘇省期無錫市天一實驗學校數(shù)學七年級第一學期期末達標檢測試題含解析
- 城市軌道交通運營管理【共30張課件】
- 鋼結構設計智慧樹知到期末考試答案章節(jié)答案2024年山東建筑大學
- DB5334 T 12.5-2024《地理標志證明商標 香格里拉藏香豬》的第5部分疾病防治
- 化學機械漿與半化學機械漿
- 睡眠中心宣傳方案
- 2024春期國開電大??啤督ㄖ茍D基礎》在線形考(形考性考核作業(yè)一至四)試題及答案
- 論《國際貨物銷售合同公約》的適用問題
評論
0/150
提交評論