Android因為為開放性,各家的手機業者都可以任意的開發屬於各家廠牌風格的手機,與提供了更多元的螢幕尺寸和不同的裝置外型,消費者可以依自己的需求與喜好選擇屬於自己個性的手機來使用,相反的,身為Android應用程式開發者,為了支持不同家手機與支援多種螢幕,比其它手機平台(iphone,windows phone)開發就相對滴辛苦些,因為要針對不同的尺寸大小螢幕去最佳化UI的擺設和大小,也就是如何設計Android UI 滿足各不同的螢幕尺寸?
7/05/2012
6/28/2012
Android 4.1 果凍豆
2012年6月27日就在google i/o的年度盛會,而這場盛會叫有看頭的是發佈Nexus 7平價版的平版電腦,這款是首度google與台灣華碩共同合作的第一台平板電腦,想當年htc也有跟google合作推出智慧型手機(Nexus One),此款平板電腦命名為Nexus 7,華碩電腦董事長施崇棠也親臨現場,更接受會場6000人次的表揚,可說是替台灣出了名,不過,聽說這款平板google要求華碩4個月時間內完成,大大考驗台灣人於手持裝置的開發能量.
2/03/2012
Proguard GUI
上篇告訴大家如何透過Proguard保護自己的app,最後有產生4個檔案,這4個檔案是有用的,匯出 apk 檔成功,Refresh 專案,就可看到在專案底下有個 proguard 目錄,其中有許多關於在經過 Proguard 混淆後的專案參數資料可以參考。

12/08/2011
Android OpenGL : 3D 座標轉換
Coordinate System坐標系
OpenGL使用了右手坐標系統,右手坐標系判斷方法:在空間直角坐標系中,讓右手拇指指向x軸的正方向,食指指向y軸的正方向,如果中指能指向z軸的正方向,則稱這個坐標係為右手直角坐標系。

OpenGL使用了右手坐標系統,右手坐標系判斷方法:在空間直角坐標系中,讓右手拇指指向x軸的正方向,食指指向y軸的正方向,如果中指能指向z軸的正方向,則稱這個坐標係為右手直角坐標系。
12/07/2011
Android OpenGL ES : 多邊形
一個3D圖形通常是由一些小的基本元素(頂點,邊,面,多邊形)構成,每個基本元素都可以單獨來操作。
Vertex (頂點)
頂點是3D建模時用到的最小構成元素,頂點定義為兩條或是多條邊交會的地方。在3D模型中一個頂點可以為多條邊,面或是多邊形所共享。一個頂點也可以代表一個點光源或是Camera的位置。下圖中標識為黃色的點為一個頂點(Vertex)。

Vertex (頂點)
頂點是3D建模時用到的最小構成元素,頂點定義為兩條或是多條邊交會的地方。在3D模型中一個頂點可以為多條邊,面或是多邊形所共享。一個頂點也可以代表一個點光源或是Camera的位置。下圖中標識為黃色的點為一個頂點(Vertex)。
標籤:
Android,
Eclipse,
JAVA,
Objective-C
Android OpenGL ES : VIEW
在Andorid平台上構造一個OpenGL View非常簡單,主要有兩方面的工作:
GLSurfaceView
Android平台提供的OpenGL ES API主要定義在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等幾個包中,其中類GLSurfaceView 為這些包中的核心類:
GLSurfaceView
Android平台提供的OpenGL ES API主要定義在包android.opengl ,javax.microedition.khronos.egl ,javax.microedition.khronos.opengles ,java.nio 等幾個包中,其中類GLSurfaceView 為這些包中的核心類:
- 提供一些事件處理函式碼來連接到OpenGL ES中視域系統(View System)。
- 提供一些事件處理函式碼以使OpenGL ES的工作與活動的生命週期。
- 很容易選擇合適的幀緩衝區的像素格式。
- 建立和管理一個單獨的渲染執行緒,實現了流暢的動畫。
- 提供易於使用的除錯工具用於追踪的OpenGL ES API測試和檢查錯誤。
標籤:
Android,
Eclipse,
JAVA,
Objective-C
12/05/2011
min3d builld
3d遊戲引擎網路上找找有數十種,目前剛玩的min3d,此為一個清亮的android的3d遊戲引擎,基於android的OpenGL ES 1.X的技術,它的API設計與Android源碼中的opengl設計非常類似,引擎也提供了一組方便的api來進行三維數據的讀取與操作,請先透過svn方式抓取官網的source code,並依下列方式設定專案內容:
1. Download source codes from Google code SVN server to your local folder (e.g. min3d)
Suppose Eclipse (Helios Release) and ADT 0.9.7 will be used.
2. In Eclipse, select "File --> Import...", then select "Existing Projects into Workspace", and then click "Next"
1. Download source codes from Google code SVN server to your local folder (e.g. min3d)
Suppose Eclipse (Helios Release) and ADT 0.9.7 will be used.
2. In Eclipse, select "File --> Import...", then select "Existing Projects into Workspace", and then click "Next"
[Android] Third-party library
對一個開放式的作業系統,必須要了解如何在程式中加入網路上Third-party 所開發的library,即可大幅節省開發時間.
通常會提供 *.jar的library方式讓開發者下載與加入專案,請遵照下列方式即可:
通常會提供 *.jar的library方式讓開發者下載與加入專案,請遵照下列方式即可:
11/08/2011
[Android] ListActivity
要建立清單式的畫面,有兩種方式一種為建立layout,一種為繼承ListActivity,交由library去建立.空白的ListActivity架構如下:
9/29/2011
2011台北國際發明展
第7屆「台北國際發明暨技術交易展」將於本(2011)年9月29日至10月2日盛大展出,為服務與鼓勵更多廠商,今年將擴大攤位數為1,100個攤位,匯聚國內外近700家廠商、發明人、研發單位及學術單位參展,預計吸引超過10萬人次國內外參觀人潮。 本展向來為亞洲區智慧財產與技術媒合的最佳平台,現場超過2,000項創新發明品及專利技術,展現台灣產學研機構在技術移轉的努力與研發的用心,讓參觀民眾看見未來生活趨勢,讓台灣創意流通全球,更使企業尋得全新商機。
9/27/2011
[Android] 成功發佈<儀科中心APP>
最近和主管討論,看看可不可以幫本中心寫個APP,至於要寫什麼APP能代表中心--那就是<儀科中心APP>,剛剛才測試完畢上傳,請瀏覽過這個網頁的趕快去下載使用吧~
1.利用QR Code方式連結下載網頁:
7/24/2011
[Android] 相機使用
Android使用相機可以有兩個方法,一種是呼叫相機應用程式,另一種就是實作相機應用程式套用在自己的應用程式上,以上這兩種都是一樣麻煩,不過後一種變化性比較大,可以加入一些設定的功能,今天就來提第二種方法,使用前先聊聊一些android提供的library~
SurfaceView
SurfaceView介面元件可以想成是一塊畫布,程式開發者可以在上面畫上任何東西。在這個程式中SurfaceView是用來顯示從相機取得的畫面。SurfaceView的存取要透過SurfaceHolder物件,而SurfaceHolde類別的addCallback方法能讓我們設定當SurfaceView建立、改變與銷毀時該做的事,因此我們可於SurfaceView建立時打開相機、啟動預覽功能,而於銷毀時關掉相機。下列圖示可以幫助了解,故在layout就要加入SurfaceView這個元件使用

SurfaceView
SurfaceView介面元件可以想成是一塊畫布,程式開發者可以在上面畫上任何東西。在這個程式中SurfaceView是用來顯示從相機取得的畫面。SurfaceView的存取要透過SurfaceHolder物件,而SurfaceHolde類別的addCallback方法能讓我們設定當SurfaceView建立、改變與銷毀時該做的事,因此我們可於SurfaceView建立時打開相機、啟動預覽功能,而於銷毀時關掉相機。下列圖示可以幫助了解,故在layout就要加入SurfaceView這個元件使用
標籤:
Android,
JAVA,
JDK,
Objective-C,
SDK
7/20/2011
[Andorid] BitmapDrawable 轉換為 Bitmap
最近忙著趕在月底趕著給主管的專案,所以一直沒時間寫部落格,在這寫專案的過程中,學習到很多Android開發的程式經驗,很想跟大家分享阿,等到8月再跟大家分享吧,今天利用空閒時間寫點…
Android要做影像處理,要做影像處理之前可以先去找找有沒有提供的library,確實有很多,例如彩色轉灰階等,今天要介紹~
BitmapDrawable 轉換為 Bitmap :
Bitmap.Config c =bmpDrawable.getOpacity() != PixelFormat.OPAQUE ?
Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; //取得bmpDrawable顏色格式
bmpImageOK = Bitmap.createBitmap(
bmpDrawable.getIntrinsicWidth(), bmpDrawable.getIntrinsicHeight(), c);
Canvas canvas = new Canvas(bmpImageOK);
bmpDrawable.setBounds(0, 0, bmpDrawable.getIntrinsicWidth(),
bmpDrawable.getIntrinsicHeight());
bmpDrawable.draw(canvas);
相反~
Bitmap 轉換為 BitmapDrawable :
Drawable drawable = new BitmapDrawable(bitmap);return drawable;
Android要做影像處理,要做影像處理之前可以先去找找有沒有提供的library,確實有很多,例如彩色轉灰階等,今天要介紹~
BitmapDrawable 轉換為 Bitmap :
Bitmap.Config c =bmpDrawable.getOpacity() != PixelFormat.OPAQUE ?
Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; //取得bmpDrawable顏色格式
bmpImageOK = Bitmap.createBitmap(
bmpDrawable.getIntrinsicWidth(), bmpDrawable.getIntrinsicHeight(), c);
Canvas canvas = new Canvas(bmpImageOK);
bmpDrawable.setBounds(0, 0, bmpDrawable.getIntrinsicWidth(),
bmpDrawable.getIntrinsicHeight());
bmpDrawable.draw(canvas);
相反~
Bitmap 轉換為 BitmapDrawable :
Drawable drawable = new BitmapDrawable(bitmap);return drawable;
7/03/2011
[Android] 如何在手機上使用Google Map
Google Map為一個獨立的add-on API,所以並無包裝於Andorid Platform中,此API主要由MapView與MapController組成而成,且MapView會取得使用者的地圖位置,也因此在使用時須先於Google上註冊取得APIKey才得以顯示出地圖畫面
7/02/2011
[Android] Log.d 真好用
Android是個多工的作業系統,因為多工勢必要多多了解系統的排程與系統os對應用程式呼叫與編排,例如電話來了,activity 至 background時須將資料做預先儲存的動作,要不然輸入到一半的資料不就白費了,下面是android官網提供的資料,android lifecycle:

7/01/2011
[Android] Broadcast Receivers
當應用程式希望對外部的事件發生時,需做一些的處理時,就需要用到Broadcast Intent Receiver,例如:電池電量快用盡時,網路連線斷線時,可能需要告知使用者須趕緊完成未完成的處理,或者是有來電或簡訊通知時,告知使用者是否要處理,應用程式並不會因為Broadcast Receivers被呼叫而被它執行起來。而且當Broadcast Receivers被觸發時,系統會依宣告的需求來執行相對應的應用程式。應用程式可以利用 Context.sendBroadcast() 方法來發出他們自己的intent broadcast給其他的應程式。
6/30/2011
[Android] 組成
Android應用程式基本上是由下面四個區塊組合而成:
1. Activity
2. Broadcast Intent Receiver
3. Service
4. Content Provider
1. Activity
2. Broadcast Intent Receiver
3. Service
4. Content Provider
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”
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 清單中加入如下設定:
在 AndroidManifest 清單中加入如下設定:
<supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:anyDensity="false"/>「normalScreens」代表的是一般解析度(如 G1, Hero),「smallScreens」代表的是較低解析度(如 Tatoo)。
訂閱:
文章 (Atom)
