Android 應用資源—提供資源(Providing Resources)(三)

使用資源提供最好的裝置相容性為了讓應用程式支援多種裝置配置,始終給應用程式使用的每種資源類型都提供預設的資源是至關重要的。例如,如果應用程式支援幾種語言,就要始終包含沒有語言和地區限定符的values/目錄。如果把所有的字串檔案都放到由語言和地區限定符的目錄中,那麼當應用程式運行在不支援應用程式提供的語言集的裝置上時,就會崩潰。但是,只要提供了預設的values/資源,應用程式就會正確的運行(即使使用者不能理解應用程式提供的語言集,也比程式崩潰要好。)同樣,如果基於螢幕的方向,提供了不同的布局資

Android 使用者介面—定製組件(Custom Components)(二)

複合控制項如果不想建立一個完全定製的組件,而是想要把一組既存的控制項放到一起,形成一個可重用的組件,那麼建立一個複合組件(或複合控制項)是一個合適的選擇。在一個容器中,複合組件把多個原子化的控制項(或View)組合成一個邏輯組,它能夠處置一件單一的事情。例如,ComboBox控制項,就是通過一個單行文本域、一個按鈕和一個彈出列表組合而成的,如果按下按鈕並且從列表中選擇了一項,那麼選擇項就會填入單行文本域,而且如果使用者喜歡,也可以直接把內容輸入到文本域中。在Android中,實際上有另外兩Vie

Android 應用資源(Application Resources)—概要

應用程式的資源,片和字串等應該始終放到代碼的外部,這樣可以獨立的維護它們。把資源放到外部還能夠提供支援特殊裝置配置的可選資源,如不同的語言或螢幕尺寸。隨著Android支援的帶有不同配置的裝置越來越多,這種代碼與資源分離的特性也日益變的重要。為了提供不同配置的相容性,必須把資源群組織到工程的res/目錄中,使用各種子目錄把不同類型的配置資源分組。對於任意類型的資源,都可以給應用程式指定預設資源和多種可選資源:1.  預設資源是那些裝置配置無關的資源,或者是沒有與當前配置匹配的可選資源時所使用的資

Android類庫

 Android包含了一組被Android系統各種組件使用的C/C++類庫。這些類庫功能通過Android應用程式框架暴露給開發人員。下面列出一些核心類庫:系統C庫------派生與BSD的標準C庫(libc)的實現,並且基於嵌入式的Linux裝置進行了調整;多媒體庫------基於PacketVideo公司OpenCORE的多媒體類庫,這個類庫支援許多流行的音/視格式的回放和錄音,以及靜態圖片檔案,如:PPEG4、H.264、MP3、AAC、JPG、PNG。介面管理器------管理對顯示子系

Android 任務和回退堆棧—預設啟動模式

啟動模式允許你定義一個新的Activity執行個體如何跟當前的任務進行關聯。以下兩種方法能夠定義不同的啟動模式:1.  使用資訊清單檔     當在資訊清單檔中聲明一個Activity時,你能夠指定這個Activity在啟動時應該如何跟任務進行關聯。2.  使用Intent標識    在調用startActivity()方法時,你能夠在Intent中包含一個標識,用來聲明這個新的Activity應該如何跟當前的任務進行關聯。因此,如果Activity A啟動Activity

Android類參考—Fragment(七)

public void onStart()當該Fragment對象對使用者可見時,該方法會被調用。該方法通常會跟它的Activity的生命週期的Activity.onStart()方法綁定。public void onStop()當Fragment對象被終止的時候,該方法會被調用,它通常會跟它的Activity的生命週期的Activity.onStop()方法綁定。public void onTrimMemory(int level)當作業系統判斷某個時機是從進程中消除不需要的記憶體的好時機時,

Android Service—終止服務

被啟動類型的服務必須管理它自己的生命週期。也就是說除非系統要回收系統記憶體,否則系統不會終止或銷毀這個服務,在onStartCommand()方法返回後,這個服務會繼續運行。因此而這種類型的服務必須通過調用stopSelf()方法或另一個組件通過調用stopService()方法才能終止。一旦用stopSelf()方法或stopService()方法請求終止服務,那麼系統一有可能就會銷毀這個服務。但是,如果你的服務同時處理多個對onStartCommand()方法的請求,那麼在你完成請求啟動過程

Android 任務和回退堆棧—清除回退堆棧

如果使用者長時間的離開一個任務,那麼系統會清除這個任務根Activity以外的所有Activity。當使用者再次返回這個任務時,只有根Activity被儲存。系統行為的這種方式是因為經過長時間以後,使用者在返回這個任務之前可能已經放棄它們的作業,而開始了某些新的任務。你能夠使用一些Activity屬性來修改這種行為:1.  alwaysRetainTaskState如果這個屬性在一個任務的根Activity中被設定為“true”,那麼像上面描述的那樣的預設行為就不會發生。即使是長時間之後,這個任

Android Service—建立綁定類型服務

綁定類型的服務允許應用程式組件通過調用bindService()方法與服務建立一個長期的關聯(通常不允許組件通過調用startService()方法來啟動它)。在你想要Activity以及應用程式中的其他組件跟服務進行互動時,或者要把應用程式中的某些功能通過處理序間通訊(IPC)暴露給其他應用程式時,就需要建立一個綁定類型的服務。要建立綁定類型的服務,你必須實現返回IBinder對象的onBind()回調方法,IBinder對象定義了跟服務進行通訊的介面。然後其他應用程式組件能夠調用bindSe

Android圖形—硬體加速(Hardware Acceleration)(二)

本文譯自:http://developer.android.com/guide/topics/graphics/hardware-accel.html判斷一個View對象是否被硬體加速有些時候,尤其是對於那些定製的View對象,應用程式知道當前的View對象是否被硬體加速是十分有益的。如果應用程式做了很多定製的繪圖操作,並且不是所有的操作都會被新的渲染管道所支援,那麼這種判斷就特別有用。有兩種不同的方法來檢查應用程式是否被硬體加速了:1. 如果一個View對象跟一個被硬體加速的視窗綁定,那麼Vi

Android Service—給使用者發送通知

服務一旦運行,就能夠使用廣播通知(Toast Notifications)或狀態列通知(Status Bar

Android Fragment—添加一個沒有UI的Fragment

上面的例子顯示了怎樣把Fragment作為UI的一部分添加到Activity上,但是,你也能夠使用Fragment只提供一個後台行為,而沒有額外的UI展現。要添加一個沒有UI的Fragment,需要在Activity中使用add(Fragment,String)(給Fragment提供一個唯一的字串“tag”,而不是視圖ID)方法來添加Fragment。但是,因為這樣添加的Fragment沒有跟Activity布局中的視圖關聯,它不接受對onCreateView()方法的調用,因此你不需要實現這

Android Services—基礎

要建立一個服務,你必須建立一個Service類(或一個既存的Service子類)的子類。在你的實現中,你需要重寫一些處理服務生命週期關鍵特徵的回調方法,並且給組件提供一種合適的綁定服務的機制。需要重寫的重要的回調方法如下:onStartCommand()當一個組件通過調用startService()方法請求啟動一個服務時,系統會調用這個服務的onStartCommand()方法。一旦這個方法執行了,那麼這個服務就被啟動,並且在後台無限期的運行。如果你實現了這個方法,當服務的工作結束時,你有責任通

Android資料存放區(Data Storage)(一)

Android提供幾種儲存持久化應用程式資料的選擇。依賴具體的需求來選擇解決適合的方案,如資料應該是應用程式私人的還是共用的,以及資料所需要的儲存空間等。以下是可選擇的資料存放區方案:共用偏好(Shared Preferences)用鍵---值對的形式儲存私人的未經處理資料。內部儲存(Internal Storage)在裝置的記憶體上儲存私人的資料。外部儲存(External

Android畫布和圖形繪製—Canvas and Drawables(三)

本文譯自:http://developer.android.com/guide/topics/graphics/2d-graphics.html圖形繪製Android為繪製圖形和圖片提供了一個定製的2D圖形類庫。android.graphics.drawable包中能夠找到用於繪製二維圖形的共同的類。本文討論使用Drawable對象來繪製圖形的基礎知識,以及如何使用Drawable類的子類。關於使用Drawable對象來繪製幀動畫的資訊,請看繪製動畫文檔(http://developer.and

Android Service—在清單中聲明一個服務

像Activity(和其他的組件)一樣,所有的服務都必須在應用程式的資訊清單檔中聲明。要聲明服務就要給<application>元素添加一個<service>子項目,例如:<manifest ... >  ...  <application ... >      <service android:name=".ExampleService" />      ... 

Android圖形—OpenGL(一)

本文譯自:http://developer.android.com/guide/topics/graphics/opengl.htmlAndroid系統包含了OpenGL(Open Graphics Library),從而給2D和3D圖形提供了高效能的支援,尤其是OpenGL ES API。OpenGL是一個跨平台圖形API,它給3D圖形處理指定了一個標準的軟體介面。OpenGL ES是一種用於嵌入式裝置的OpenGL規範。從Android1.0開始,就提供了對OpenGL

Android Service—建立一個被啟動類型的服務

一個啟動類型的服務是另一個組件通過調用startService()方法,產生一個調用服務的onStartCommand()方法而啟動的服務。當一個服務被啟動時,它有一個獨立與啟動它的組件的生命週期,並且這個服務能夠無限期的在後台運行,即使啟動它的組件被銷毀了。因此這個服務應該在工作結束時通過調用stopSelf()方法來終止自己,或者另一個組件通過調用stopService()方法也能終止這個服務。像Activity這樣的應用程式組件能夠通過調用startService()方法來啟動服務,並且給

Android圖形—OpenGL(二)

本文譯自:http://developer.android.com/guide/topics/graphics/opengl.htmlOpenGL 包一旦使用GLSurfaceView和GLSurfaceView.Renderer類給OpenGL建立了一個View容器,那麼就可以開始使用以下的類來調用OpenGL的API:1. OpenGL ES 1.0/1.1 API 包android.opengl------這個包給OpenGL ES

Android Service—繼承IntentService類

因為大多被啟動類型的服務不需要同時處理多個請求(這實際是一個危險的多線程情境),因此使用IntentService類來實現自己的服務可能是最好的。IntentService類執行以下操作:1.  建立一個獨立與應用程式主線程的預設背景工作執行緒,執行所有的給onStartCommand()方法Intent的處理;2.  建立一個工作隊列,以便每次只給你的onHandleIntent()方法實現傳遞一個Intent,因此你不必擔心多線程的問題;3.  所有的啟動請求都被處理之後終止這個服務,因此你

總頁數: 2771 1 .... 1082 1083 1084 1085 1086 .... 2771 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.