顯示具有 google 標籤的文章。 顯示所有文章
顯示具有 google 標籤的文章。 顯示所有文章

11/08/2011

[Android] ListActivity

要建立清單式的畫面,有兩種方式一種為建立layout,一種為繼承ListActivity,交由library去建立.空白的ListActivity架構如下:

11/06/2011

RSS 2.0 結構

最近要寫個Android reader,來訂閱自己感興趣的新聞,首先要了解RSS的結構,不過RSS有很多版本,下列針對RSS 2.0結構來說明~
XML:
2. <!-- XML​​版本和字符集 -->
3. <?xml version="1.0"?>
4. <!-- RSS版本 -->
5. <rss version="2.0">

7/01/2011

[Android] Broadcast Receivers

       當應用程式希望對外部的事件發生時,需做一些的處理時,就需要用到Broadcast Intent Receiver,例如:電池電量快用盡時,網路連線斷線時,可能需要告知使用者須趕緊完成未完成的處理,或者是有來電或簡訊通知時,告知使用者是否要處理,應用程式並不會因為Broadcast Receivers被呼叫而被它執行起來。而且當Broadcast Receivers被觸發時,系統會依宣告的需求來執行相對應的應用程式。應用程式可以利用 Context.sendBroadcast() 方法來發出他們自己的intent broadcast給其他的應程式。

6/27/2011

[Android] 2D Introduction

Android提供2D繪圖,其2D繪圖使用下列的class :
1. Drawable – android.graphics.drawable (二維圖形)
2. Animation – android.view.animation (2維動畫)
3. Canvas – android.graphics.Canvas(畫布) ; View, SurfaceView (繪製圖形)
4. 2D Matrix
Drawable class ~ “something that can be drawn”

6/21/2011

[Android] 支援不同解析度

目前各家手機商出的手機盡不相同,每種螢幕的解析度也不一樣,況且Andorid也不做一併統一的方式,所以開發者遇到第一件麻煩的事情,就是建立不同家手機版本的顯示畫面,才能支援不同螢幕解析度的手機,不過各位開發者可以用下列方法偷吃步
在 AndroidManifest 清單中加入如下設定:
<supports-screens 
android:largeScreens="true" 
android:normalScreens="true" 
android:smallScreens="true" 
android:anyDensity="false"/>
「normalScreens」代表的是一般解析度(如 G1, Hero),「smallScreens」代表的是較低解析度(如 Tatoo)。

[Android] Content Menu

Content Menu 指的是長時間按下一個視窗後顯示,如同在PC上使用滑鼠右鍵的功能類似,當按下某一個View 2秒鐘,就會出現一個浮動式的Content Menu,較常使用在ListView上,建立Option Menu使用MenuItem add 函式
1.註冊ContextMenu作用元件
image

6/20/2011

[Android] Dialog

Dialog是一切對話框的基本類別,並非繼承於View類別,故在Layout(XML)中找不到.
Dialog具有生命週期,其生命週期由Activity來維護,故activity結束則Dialog就結束
Activity針對Dislog提供的Method :

1. 開發者可主動呼叫的函式 showDislog(int id) , dismissDialog(int id)
2. 框架控制Dialog生命週期函示
    onCreateDialog(int id) ……第一次寫入呼叫,費時
    onPrepareDislog(int id , Dialog dialog) ………下次產生呼叫
Dialog於Activity建立的流程如下 ( 本篇建立四種常見的Dialog)

[Android] Toast 快顯

Toast 通知元件,為一個短暫的提示元件,會直接顯示於手機螢幕下方,其顯示時間可以設定長度為長與短兩種

1.XML
image

6/19/2011

[Android] Notification

       Notification 狀態列是一種放於手機最上面的一條訊息列,可以通知使用者訊息,如簡訊來了.電話來了等,此功能不會打斷目前使用者的操作,通知的訊息會常駐於訊息列中,等待用戶有空的時候再進行處理,總不能打電話打到一半給我跳掉吧,這樣會很瞎,可以加入對應的activity與啟動它
Notification 可以加入震動或聲音通知,可以更能引起使用者的注意

6/03/2011

[Android] Handler, Message, MessageQueue

注意 : 深度開發application時,必須必備的基本觀念”Handler, Message, Looper, MessageQueue” 一般來說就是android提供的class,andorid就是一堆的class建構起來的,這四個class有著共同的目標,可以讓程式碼,可以丟到其他的threas()去執行,為什麼要這樣的定義呢?其實android 的 GUI 元件是 thread safe的 (意思是,元件的使用,無法multi-thread執行)=>View無法thread?不是這樣說,應該說Activity 的畫面顯示是由 UI Thread所負責的,若是你寫了 mutlti-thread 程式時又想更新畫面,就必須要將 Thread 內部的一段程式碼,交由 UI Thread 來執行才行,這樣有的好處避免程式傳遞資料不會有錯誤的狀況發生.

[Java] Exception

Exception指的是程式執行過程中,足以中斷程式執行的錯誤
一個例外事件應包含:錯誤名稱,錯誤種類,發生錯誤時的狀態.

5/31/2011

[Android]手機螢幕擷取

什麼是手機螢幕擷取,指的是抓取手機執行的螢幕畫面,通常要上傳APP至Market時,是被要求需要的.需要APP在手機上的執行畫面,不過沒有手機的人也可以透過模擬器抓取.

[Android] 金鑰產生apk檔

記得之前那篇[Android] 成功發布APP至Anroid Market,不過在上傳前,或者是已經撰寫好的app要在別人的手機上使用,則要需要金鑰產生apk檔,否則只能在自己的手機上"乾爽".至於什麼是金鑰?這個是java提出的,為了判別不同開發者的認證key.

5/26/2011

[Android] SQLite

       Android 平台所提供的儲存資料方式有兩種,一種為SharedPreferenced,另一種就是資料庫database , 今天就來聊聊資料庫,資料庫分享又分成自己使用,一種為與大家分享,而使用與其他程式分享的話需使用內容提供者(Content Provider)類別來存取資料.

5/24/2011

[Android] SharedPreference

假如使用者第一次在輸入畫面的UI輸入資訊時,程式能夠幫你記住上次輸入的資訊,這樣一來就可以減少使用者重新輸入的麻煩,在使用上就更便利.
Android提供兩種儲存資料的方法,其中一種叫SharedPreference,這個方法還是真的好用,就是很簡單

[Android] Adapter

要將陣列或者其他種類的資料來源提供給下拉選單介面元件時,中間還要經過一層轉換,這個負責轉換的函式稱為Adapter(接口).
Android提供的接口類別有很多種,如ArrayAdapter為讀入已宣告的陣列,並轉換成介面元件看得懂的接口元件;除此之外還有ListAdapter,SimpleAdapter,CursorAdapter等.
1.宣string array
image

The future...

未來的世界是如何,
我們能改變這個世界嗎?讓未來更便利嗎?
如果你可以..去試試看吧~

5/23/2011

[Android] Synchronized & thread

遇到各個 Thread 之間共用資料保護的問題,就需要使用到Synchronized,Synchronized的使用時機很難定義,比較常見的情況是,當程式中會取出某一個共用的物件且會判斷物件內容值,再更新物件內容,此情況大部分都需要synchronized保護。
總之,學 Java 一定會碰到 Multi-Thread 的問題,因為如果不懂得使用 Multi-Thread,是寫不出什麼實用的程式的,而相對於 Multi-Thread,同步執行的限制就很重要,比如說兩個 Thread 會對一個檔案進行讀寫,那就不能同時進行,這時候就要用到 synchronized 去做限制.

[JAVA] Class , Object , Instance

最近一在玩android,有些觀念是慢慢地吸收以及"搞清楚",觀念不對之後的方向性也不對,這是去網路上找的資料,應該是很不錯的老師出的上課資料.在此就被我好好的吸收吧!
在物件導向的世界裡,每一個分類就叫做一個Class。而每個 Class 裡的例子就叫做Instance。因此,每個 Class 描述了它所屬的instances 的行為與資料;每個 Instance 則是屬於某個 Class 描述行為下與資料下,其中一個物件。
所以呢? Class 是由一群具有相同資料結構與相同的物件描述,所形成的集合。 Instance 是由一群具有相同資料與相同行為的物件所描述的集合中,某一個特定且存在的物件。
有一句原文很適合用來代表 Object、Instance、Class 三者的關係:
Every Object is an instanse of a class.
其實每個 Object 都是一個 Instance,所以基本上 Object 和 Instance 這兩個字是可以互換的,只是由於觀察的角度不同,而有兩個名詞的出現。

5/21/2011

[Android] 不同Activity互相切換 (同一個package)

想學Android必定要好好搞清楚四大物件 ,Activity,Service, BoradcastReceiver, Content Provider,這其中是靠Intent負責資料傳遞,事件或訊息的意圖.
[解說]
1.必須有兩個Activity與兩個Layout
2.第一個Activity呼叫第二個Activity起來,第一個Activity OnPause()變成background, 第二個Activity變成faceground,第二個Activity呼叫第一個Activity起來,則反之