Content Providers可以儲存跟索取資料,而且可以使這些資料被所有的application都可以使用。
Content Providers是能夠share data的唯一方式。
然而你要使用這些Content Providers可能需要經過一定的允許授權。
2011年3月2日 星期三
2011年2月28日 星期一
android-AndroidManifest.xml檔案
在每個應用程式的根目錄中,一定有一個AndroidManifest.xml檔案
manifest檔案會把應用程式的一些必要資訊記載於其中。
而這些資訊是android要執行這個應用程式所必需的資訊。
在manifest檔案裡面只可以出現下面這些element,並不能包含任何自定義的element
<action>
<activity>
<activity-alias>
<application>
<category>
<compatible-screens>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<path-permission>
<permission>
<permission-group>
<permission-tree>
<provider>
<receiver>
<service>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-library>
<uses-permission>
<uses-sdk>
在manifest檔案中,只有<manifest>與<application>是必須一定要出現的,而且只能出現一次
對於每個元素(element)來說,該元素的屬性都會以下面這樣來表示
而不會以
一般來說,同一個層級的element是沒有出現的順序之分的,除了<activity-alias>這個element例外。
element的屬性一般都會以android:開頭
很多的element都代表一個java的物件,像是<application>本身就是application這個物件
activities物件的element是<activity>
services物件的element是<service>
broadcast receivers物件的element是<receiver>
content providers物件的element是<provider>
如果你定義了一個service的subclass,那麼你可以在manifest裡面標明他
如果要在attribute裡面標明Resource Value的話
Resource Value的格式是
@[package:]type:name
example:
如果你是要標明theme(主題)的話,
格式是
?[package:]type:name
manifest檔案會把應用程式的一些必要資訊記載於其中。
而這些資訊是android要執行這個應用程式所必需的資訊。
在manifest檔案裡面只可以出現下面這些element,並不能包含任何自定義的element
<action>
<activity>
<activity-alias>
<application>
<category>
<compatible-screens>
<data>
<grant-uri-permission>
<instrumentation>
<intent-filter>
<manifest>
<meta-data>
<path-permission>
<permission>
<permission-group>
<permission-tree>
<provider>
<receiver>
<service>
<supports-gl-texture>
<supports-screens>
<uses-configuration>
<uses-feature>
<uses-library>
<uses-permission>
<uses-sdk>
在manifest檔案中,只有<manifest>與<application>是必須一定要出現的,而且只能出現一次
對於每個元素(element)來說,該元素的屬性都會以下面這樣來表示
而不會以
這樣的形式表示value1
一般來說,同一個層級的element是沒有出現的順序之分的,除了<activity-alias>這個element例外。
element的屬性一般都會以android:開頭
很多的element都代表一個java的物件,像是<application>本身就是application這個物件
activities物件的element是<activity>
services物件的element是<service>
broadcast receivers物件的element是<receiver>
content providers物件的element是<provider>
如果你定義了一個service的subclass,那麼你可以在manifest裡面標明他
如果要在attribute裡面標明Resource Value的話
Resource Value的格式是
@[package:]type:name
example:
如果你是要標明theme(主題)的話,
格式是
?[package:]type:name
Android-應用程式的安裝位置
在android的平台上,從API Level 8開始,
你可以讓你的application被安裝在外部的儲存媒體上(例如:SD card)
要達成這樣的目的,你可以在manifest檔案中
明確的使用android:installLocation這個屬性
在manifest檔案中的<manifest>這個element裡面
加上android:installLocation這個attribute就可以讓你的application被安裝在外部的儲存媒體上。
android:installLocation這個屬性的值可以有
當你使用preferExternal這個值的時候,代表你要讓你的應用程式被安裝在外部的儲存媒體上
但是android系統並不一定保證你的系統會被安裝在外部媒體上。
這端看外部儲存媒體的空間是否足夠,如果不足夠,系統就會把應用程式裝在內部的位置。
如果足夠,就會安裝在外部的儲存媒體上。
你可以讓你的application被安裝在外部的儲存媒體上(例如:SD card)
要達成這樣的目的,你可以在manifest檔案中
明確的使用android:installLocation這個屬性
在manifest檔案中的<manifest>這個element裡面
加上android:installLocation這個attribute就可以讓你的application被安裝在外部的儲存媒體上。
android:installLocation這個屬性的值可以有
- preferExternal
- auto
當你使用preferExternal這個值的時候,代表你要讓你的應用程式被安裝在外部的儲存媒體上
但是android系統並不一定保證你的系統會被安裝在外部媒體上。
這端看外部儲存媒體的空間是否足夠,如果不足夠,系統就會把應用程式裝在內部的位置。
如果足夠,就會安裝在外部的儲存媒體上。
2011年2月27日 星期日
Android的API Levels
在開發Android的應用程式的時候
當你要執行開發好的應用程式時
Eclipse常常要你選你要用的API Level
這個API Level到底是什麼呢?
想要一探究竟的人
可以參考Google的原版解說
以下是我看了原版解說後的翻譯與心得
------------------------------------------------------
什麼是API Level呢?
API Level是一個數字
這個數字是用來識別某個版本的Android平台所提供的framework API的修訂版本
Android平台會提供一組Framework API
應用程式可以透過這個API來跟較底層的Android系統來互動
framework API 包含以下所列的這些東西:
在你的應用程式中,可以在manifest的檔案中註明應用程式所需使用的最低sdk的version是多少,最高是多少來標明哪些版本的android platform可以支援。
在manifest檔案中的這個element就是用來標明所使用的SDK的元素。
在這個元素中提供三個attribute給開發者標明使用的SDK的版本
當你要執行開發好的應用程式時
Eclipse常常要你選你要用的API Level
這個API Level到底是什麼呢?
想要一探究竟的人
可以參考Google的原版解說
以下是我看了原版解說後的翻譯與心得
------------------------------------------------------
什麼是API Level呢?
API Level是一個數字
這個數字是用來識別某個版本的Android平台所提供的framework API的修訂版本
Android平台會提供一組Framework API
應用程式可以透過這個API來跟較底層的Android系統來互動
framework API 包含以下所列的這些東西:
- 一組核心的packages 與classes
- 一組用來定義一個manifest檔案的XML elements與attributes
- 一組用來定義可存取的資源的XML elements與attributes
- 一組 Intents
- 一組應用程式可以對系統資源做要求(request)的權限
通常來說,一個應用程式可以在level 6的android 平台上執行,那麼他也可以在level 7的android平台上來執行,因為API Level是有向下相容的特定的,也就是Level的等級往上提升
意味著有新的API被開發出來,而舊的API依然可以使用,只是舊的API會被標上deprecated。
*然而在某些數字較小的API Level版本中的一些API有可能已經被移除了
通常一個新的framework API被deliver出來的時候,都會相伴的有一個API Level的數字出現
每個android platform都只會跟一個API Level相對應
Platform Version | API Level |
Android 3.0 | 11 |
Android 2.3.3 | 10 |
Android 2.3 | 9 |
Android 2.2 | 8 |
Android 2.1 | 7 |
Android 2.0.1 | 6 |
Android 2.0 | 5 |
Android 1.6 | 4 |
Android 1.5 | 3 |
Android 1.1 | 2 |
Android 1.0 | 1 |
在你的應用程式中,可以在manifest的檔案中註明應用程式所需使用的最低sdk的version是多少,最高是多少來標明哪些版本的android platform可以支援。
在manifest檔案中的
在這個元素中提供三個attribute給開發者標明使用的SDK的版本
- android:minSdkVersion--標明最低可以支援的sdk版本,預設是 "1"
- android:targetSdkVersion--標明此應用程式主要是以哪個版本的API Level為目標去開發的
- android:maxSdkVersion--標明最高所使用的API Level是此應用程式可以執行的環境。要使用這個attribute的時候,請先閱讀<uses-sdk>這個element的文件
當你的應用程式要在某個android的platform執行的時候,android platform會先檢查android:minSdkVersion與android:maxSdkVersion這兩個屬性的值(如果你有特別註明的話),android platform的API Level必須在這兩個值之間,才會開始執行你的應用程式,否則將不會執行。
基本上,你可以只在mainfest中宣告android:minSdkVersion這個屬性,而不需要宣告其他兩個屬性。
在發展你的應用程式的時候,應該考慮應用程式的向上與向下相容的可能。
最好在mainfest檔案中註明android:minSdkVersion的屬性值。
在開發的時候,可以用API Level來過濾你參考的document,找出合適的API來使用。
2011年2月25日 星期五
Android-Application Fundamentals
Androi是一個multi-user的 linux系統
對於android來說,每一個application都是不同的user
預設android的系統會給每個application一個唯一的Linux user ID
這個ID只是給系統自己使用,application本身並不知道這個ID
每個process有他自己的VM(vitual machine),所以每個application都是跟其他application有所隔離的
manifest file可以讓你declare components還有所需要的device feature。
Application Components
application components 是android application的必要建置區塊,系統可以透過這些application components來進入你的application。
在android的系統上,有四種application components
1.Activities
2.Services
3.Content providers
4.Broadcast receivers
一個activity代表一個單一個有使用者介面的screen。所以基本上一個activity就代表一個畫面。
對於android來說,每一個application都是不同的user
預設android的系統會給每個application一個唯一的Linux user ID
這個ID只是給系統自己使用,application本身並不知道這個ID
每個process有他自己的VM(vitual machine),所以每個application都是跟其他application有所隔離的
manifest file可以讓你declare components還有所需要的device feature。
Application Components
application components 是android application的必要建置區塊,系統可以透過這些application components來進入你的application。
在android的系統上,有四種application components
1.Activities
2.Services
3.Content providers
4.Broadcast receivers
一個activity代表一個單一個有使用者介面的screen。所以基本上一個activity就代表一個畫面。
2011年2月22日 星期二
對需求使用物件導向方法來作分析
對於要使用物件導向來對需求做分析
我們必須學會以下幾件事情
對於使用models來將需求記錄下來這件事情,將有助於你仔細思考stakeholders的處理過程與資訊的需要。
我們必須學會以下幾件事情
- 繪製出Use Case Diagram
- 寫Use Case 與Use Case裡面的劇情描述
- 繪製Activity Diagrams 與 系統循序圖(Sequence Diagrams)
- 精煉與加強domain model class diagram
- 解釋如何使用UML的圖來定義功能需求(functional requirement)
對於使用models來將需求記錄下來這件事情,將有助於你仔細思考stakeholders的處理過程與資訊的需要。
訂閱:
文章 (Atom)