十一月 16, 2011
» gFolder: 把dropbox當手機外接硬碟



官方的 Dropbox app可以讓使用者將Dropbox中的檔案存到手機sd卡的dropbox資料夾中,但如果想要將書放到sd卡的books資料夾、音樂放到music資料夾...對於這樣的需求,
使用官方Dropbox app就沒辦法辦到了。

gFolder可以將SD卡中任一目錄下的任一檔案放到Dropbox上的任一目錄下,
也可以將Dropbox任一目錄下的任一檔案放到SD卡的任一目錄下。

主要介面類似FTP程式,只要點選檔案,即可將檔案傳送到Dropbox或sd卡中。
當有網路的時候,使用gFolder起來,就像是在手機上直接插上了一個外接硬碟一樣。

當使用者跳出程式,下一次再啟動時,gFolder也會記錄上一次sd卡和Dropbox的所在目錄,
可以隨時回到上次的操作狀態。

gFolder同時支援平板和手機,並先使用Android 4.0的統一使用者介面,在手機上也有和平板一樣的使用者介面。

下載網址: https://market.android.com/details?id=tw.idv.gasolin.android.gfolder
QRCode:

十月 30, 2011
» 升級build.xml

用ant來編譯Android專案的開發者,
在2011/10月中升到r14之後版本的開發工具之後,ant檔案的格式又被修改了。


要升級到新版的 build.xml,記得先把原來的build.xml檔案備份,


$ mv build.xml oldbuild.xml


再跑一下命令行 


$ android update project --path . 


以更新相關檔案。


開啟新的build.xml並加入自用的相關設定後,最後再執行 


$ ant clean release


看看有沒有問題。


如果沒有問題的話,就恭喜你順利升級囉。

十月 19, 2011
» Android 4.0發佈


Android 4.0 (IceCream Sandwich)如期推出了這次的改進比較多是在軟體層面,套用Apple的OSX Lion廣告詞:
ICS擁有超過250種全新功能,
包括臉部解鎖、連續語音辨識、全景照片與影像特效、5倍瀏覽器速度、流量監測...
ICS把Android推向下一個紀元
Android 4.0比較重要的新功能已列在http://developer.android.com/sdk/android-4.0-highlights.html



對一般App開發者來說,OS部分的改進如Holo Theme系統佈景主題、Fragment API等都是3.x已經有的,現在套用到手機上。新的連續語音辨識、影像處理API等軟體功能,和Android Beam、Wi-Fi Direct等通訊技術可以玩出一些新花樣。

開發工具部分則是開始支援WebCam(Windows/Linux only)、新的初次使用設定精靈(Welcome Wizard)、比較好用的Layout編輯器、還有整合了Android Asset Studio製作圖示(Icon)的功能。

整體來看這次推出的功能雖然很多,但在系統整體架構上並沒有多做改變,開發工具也做了些改進,讓開發者更容易使用。比較糟糕的一點是模擬器延續了Android 3.x版的不良傳統,為了完全模擬ARM的指令,而使得模擬器執行相當龜速。要測試Android 3.x版以上的系統時,還是得買實機來跑才比較準。


順便公告一下: 因為基本的東西都沒有改變,大家可以放心使用「Google! Android 手機應用程式設計入門」來學習開發相容各種Android版本的應用程式,本書不會因Android 4.0再改版。

八月 27, 2011
» 使用Jenkins持續集成與發佈Android應用程式

這是上週在Coscup 2011活動中演講的主題與投影片。 

介紹:

Jenkins (http://jenkins-ci.org/) 是個廣為使用的持續集成(Continue Integration)框架,可以協助軟體工程師統合處理各種圍繞著「寫程式」之外的程式開發工作(如版本控制、環境設定、編譯、測試、發佈)。 

在這個議程中將和大家分享實際使用Jenkins持續集成與發佈Android App,讓管理多應用程式變得更容易的經驗。

八月 21, 2011
» AppInventor+愛無赦?(台客舞App開發心得)

AppInventor 是GoogleLab中一個有趣的工具,可以讓一般人簡單地透過像堆積木的方式寫出一個Android App。(剛好Make雜誌也出了AppInventor報導)這週三Taipei GTUG舉辦了AppInventor Bootcamp,由我先簡單介紹如何安裝與使用AppInventor後,再將時間交給大家,創作具備台灣特色,或能展現台灣特色與風格的App。首先當然是拿大家熟悉的BMI,重現在AppInventor上

接著則是介紹程式積木部分,程式積木部分做到了原BMI程式大部分的功能。可以看到用拖拉積木的方式寫一個轉換數值程式,是蠻厚工的一件事。(剛剛要截圖才發現這部份原始碼被覆蓋掉了Orz,等影片轉出來再把錄到的畫面嵌在這)接著活動就進入Hacking模式。今天不少人都在問:用AppInventor寫好的App要怎麼轉換成程式碼?答案是目前沒有這樣的功能,也許年底AppInventor Open Source了之後,會有好心人寫出來吧...昨晚Hack的成果,是「台客舞App」。台客舞App簡介:看過jolin的愛無赦MV嗎?
裡面的電音舞曲和掌心燈是不是很搶眼而讓人一見難忘呢?這個AppInventor作品結合了電音舞曲播放和掌心燈的功能,只要你擁有Android手機,就可以隨時跳一首台客舞曲~夠台味吧XD這個程式很簡單,主體是兩個按鈕和一個聲音檔案。
聲音檔案的部份,AppInventor目前只接受小於2MB的檔案,因此先用Audacity工具裁減了一小段轉成MP3檔,然後加入這個專案中。另外兩個按鈕,一個「播放」(Play)按鈕放在最上頭,按了之後即開始播放音樂。再按一次後就停止。另一個按鈕則是佔用大部分的螢幕,並將底色改為和背景同樣的黑色,在按下後會變換成白色,以模擬掌心燈的開、關狀態。
有興趣看現場DEMO的人,可以參加(Coscup BoF) Appinventor Hack & Show 活動(希望有人願意拿著現場秀一段台客舞XD)。程式可以到http://showinventor.appspot.com/main/gallery下載,供大家娛樂一下。(Android Market就算了吧)

八月 12, 2011
» Android 3.x與手機?


因為有一些人對Android 3與手機的關聯無法搭上線,在這邊記錄一些FAQ:

1. 手機應該和android 3無關吧!小弟還特別到官網讀了正式文件,確認android 3是給平板電腦用的,android 2才是給手機用的,後續或許會整合,但那是以後的事了不是嗎?

Android 3是Android最新版號,而且向下相容多數API。用Android 3.2 SDK來開發2.x版本(手機)的應用程式完全沒有問題。

第四版主要使用3.x的SDK,只有要使用手機的虛擬機器時,才使用2.x SDK提供的虛擬機器(因為3.x SDK中只附了平板虛擬機器,沒有附手機版的虛擬機器)。採用本書寫法的話,程式在平板和手機上都能正常運行。您可以拿您手邊現有的任一開發中App來測、或等拿到書的時候照著試試,看看是不是確實能在3.x SDK上開發手機應用程式。

2. 本書既然叫Android 3,卻沒有講平板用的fragment API?
首先,這是一本入門書。這本書內容和其他同類書籍不同,關注的是跨版本的基礎知識(所以書名叫「入門」)。封面說明的部份有寫,想傳達的是用這本入門,就算是更新的版本拿來一樣適用。在寫現在版本時想的是善用開發工具、與市面上主流版本相容,而非關注新功能。

而現在平板在Android系統中的市佔率 1.2%,要撐起書市還不到時機(個人意見)。一般入門的開發者(本書的預設讀者群)會專為了1.2%的使用者而開發?我認為不會。

有些開發基礎,而又看過我的書的人,應該知道我一貫建議去官方網站查這些進階的API,而不是苦苦等中文書。


平板的fragment API(將畫面分隔的API)有兩種版本,一種是向後相容版,可以跑在Android 2.x 機種上。另一種是原生版,只能跑在3.x Tablet上。根據我個人的評估,這兩種API還會有某種程度的改動,除非是專為了平板而開發,不然學習fragment API還不是時候(也許等到Ice Cream Sandwich?)

3. 看第四版的目錄好像沒有講到Android 3的特性?
其實各種新東西講了不少,但都已經整合在各個章節中,融入了整個學習過程裡。

在主要開發手機應用程式的情況下, 2.x 和 3.x 還有什麼差別哩?3.x版為了平板做很多事情,若是還繼續用 2.x SDK開發,程式放到Tablet上會有些"不太Native"的感覺,如選單會出現在平板的下方,而不是如其他內建應用程式顯示Action Bar在上方。

比起專為平板設計一份程式碼,在Android上要解決這些問題較容易。本入門書第四版的目標是「寫一次,就能在手機、平板、Google TV等設備上執行」。

因此我是以這樣的想法,以手機為主,在維持本書架構的開發過程中,加入更多實際經驗與技巧,來協助Android應用程式開發的入門者或剛接觸平板等機種的開發者。第四版除了圖片重新擷取之外,內容大概有30~40%的改動。新版加入了一些新章節,介紹了選單、關連選單、App Widget(桌面小工具)與平板相容設定。還加上了AsyncTask、Admob等章節,在主要使用者為手機的情形下,也能讓平板的使用者得到不錯的使用經驗。

「雖然平板等機種的數量少,但如果不麻煩的話,還是盡可能支援吧?」如果您贊同這樣的想法,那看這本書可以得到您想要的。


不必懷疑,這是我的誠意之作


PS: 本書歷版以來都追求和市面其他書籍不同,不求全,只追求初學者透過本書能確實理解Android應用程式開發,並能投入實用。我一直以支持入門者的想法來改版或寫作。除非是spam,不然大可不必揣測我會隨意砍誰的回覆。

七月 3, 2011
» 對Google關掉台灣Android Market付費App下載的觀察


今天Google Android Market關掉台灣付費App下載的新聞動靜不小,也有一些相關的討論出來。但不管法規合不合理,明顯政府短期內都不太可能修法。

影響的App類型

在談這個事件的影響之前,我們可以先界定「退費」(refund)機制的影響範圍。在允許48小時,24小時,15分鐘,或是7天無條件退費的爭議上,有最大影響的是那些「用過即丟」的App(如早期iPhone上的iFart模擬放屁聲程式)和遊戲、內容App。

對於高品質的應用程式等原本就用不太到退費機制的App來說,影響不大。但這次Google關掉了台灣使用者付費機制,對這些原本用不到退費機制的App也造成了影響。

「用過即丟」的App價格很便宜,一杯珍奶的價格($0.99,接近30元台幣)可以讓下載的使用者開心幾分鐘。有數天無條件鑑賞期存在的話,大多數的使用者肯定會在這期間退掉。這確實可以減少使用者覺得「被詐騙」的感覺。因此在這樣的法律下,這類App將沒有生存空間。

遊戲App方面,大多數移動遊戲的遊玩時間都不長,模式也較簡單。在不耐玩的情況下,允許的退貨時間長短,對這類App的盈利結果也會有很大的影響。

這幾年內容App(如App電子書)的消費方式都跟著數位音樂走,但數位內容和數位音樂的消費方式還是有些不同。我們會重複地聽音樂,但很少會重複地看同樣的內容。對這類App來說,退貨規則是48小時,24小時,15分鐘,或是7天,就成為很關鍵的問題了。

影響

我們了解了受影響App的範圍,那麼在現行狀況下,我們可以觀察看看政府和Google兩方的舉措,會對台灣Android應用程式市場造成的影響。

消費者

1. Google把Android Market台灣的付費關掉了,除了無法再看到付費App之外,消費者之前買過的App都無法下載,傷害了消費者對Android Market的信心。有一就有可能有二。之後就算再開啟Market付費功能,消費者在消費前也要再多想想,是不是哪天這種鳥事又再來一次。

update: 已購買過的程式還是可以透過Web版的Android Market再下載。

其他市集業者

2. 在Apple、Google都得照辦的新聞出來,面對大無畏的政府,中華、遠傳等電信商自有的市集是否也得儘快跟進,否則政府也會將鐵腕轉向這些大電信商,用同樣的標準來要求,用100萬連續開罰?



開發者

3. 市場是否還存在?開發者是否還願意開發付費版的台灣專用App?

4. 若Android Market再開放,但要在台灣販售得遵守台灣7天鑑賞期的法規,國外開發者是否願意勾選在台灣開賣他的付費應用程式?

政府

5. 台灣政府的反應,為什麼是台北市出面要求和罰金?

update: 消保官是行政院指派, 隸屬地方政府管轄。因為Google公司登記在台北市,所以由台北市管轄。


相關連結

五月 30, 2011
» [投影片]Google IO 2011回顧 (Android部分)

今年的 Google IO議程中有太多好東西,但是每個議程都是一個鐘頭,對大多數人來說也是個負擔。

上週六在癮科技主辦的非手機 Android 聚會上分享了「Google IO 2011回顧」(Android)投影片。從Google IO 2011活動中找出一些我已經看過的有趣內容,在30分鐘之內分享給大家。

同時也在會場公開了接下來會在Taipei-GTUG舉辦的「Google IO 2011演講分享讀書會(系列)」活動。

讀書會的目的是希望發起由參加者認領一至數個Google IO中的演講,再用5~1­0分鐘和大家分享精華,讓參與的人可以用更短的時間綜合了解Goo­gle IO的內容。

歡迎有興趣一起學習的人報名參與喔 :)

五月 15, 2011
» HoneyComb Highlights

在Google I/O 2011大會上,Romain Guy作了「HoneyComb Highlight」演講,把大多數HoneyComb版的新功能都講到了。

投影片


錄影

五月 11, 2011
» 正面迎擊,看 Google I/O 2011 Day1 Keynote 感想

看完這次的Android I/O Keynote(咦,好像名字不是這個),
Android Market平台除了已推出的應用程式(App)、書籍(Book)之外,現在將提供使用者影片租賃(Movie Rental)、音樂(Music)這兩種線上服務。

同時Google TV也將接入Android Market。這些努力將對手尚未在iOS平台上開通的服務一次補足,同時Android開發者也首次有了可以向iOS開發者說嘴的優勢(可以開發App for TV)。

更重要的宣告是Android 3.1Android 2.3.4的推出,全力支援iOS碰都不碰的USB相關技術

首先是支援USB Host,讓數位相機可以直接接到平板上,把照片傳進平板。

再來是支援USB Accesories API,讓周邊設備可以直接透過USB與Android設備連線,與Android設備中的應用程式互動。當Android設備透過USB接上周邊時,會自動列出支援的App或是App的下載連結。

接著Android@Home Framework則是在USB、網路等周邊的基礎上切入智慧家電領域。

Google的三螢一雲已經成形,而Google的三螢一雲不僅只侷限在手機、PC、電視、Web上而已,Google的三螢一雲具備著更通用的涵義:移動、定點、家庭、雲端

對開發者而言,可以用同個系統開發App for Mobile(手機、行動裝置)、App for Tablet(平板)、App for TV(電視)、App for Accesory(周邊)、App for Home(家庭),學習Android系統的吸引力無疑大大地增加。

看到這次Android 3.1的發佈,我第一次有Android OS開始追上了iOS的感覺。面對這樣的正面迎擊,其他廠商該要擁抱它呢?還是也不落人後地端出什麼好料呢?Google I/O才剛開始,後續值得期待。

二月 9, 2011
» Android 3.0公布

Android平板快出了,Google在許多不同場合宣告了這個消息。



Android 3.0(HoneyComb)引入了部件(Fragment)的概念,讓同一個畫面中可以顯示多個區塊(在同一個Activity中包含多個mini-Activity)。區塊與區塊之間可以做各式互動。要達成直、橫顯示時不同的平版配置方式,只需巧妙地搭配從Android 1.6版引入的多重Layout和Android 3.0版引入的Fragment功能。Google Blog上的文章介紹了實際使用的方法。

同時Android 3.0平板的「桌面」功能更強大了,各式新型桌面Widget開發也將成為另一個新的亮點。

製造商們面對iPad龐大的壓力,勢必對Android平板趨之若騖。現在要問的是,開發者們準備好隨之起舞了嗎?

十二月 24, 2010
» App Inventor 開放

當某人發明一套神奇的新程式產生工具,聲稱可以大幅提昇效率。這時有人就會出來說:「應該要先學會如何手動進行,然後才用這個神奇的工具來節省時間。」

程式產生工具假裝將某些東西抽象化,這和其他所有抽象機制一樣都有漏洞,而唯一能適當處理漏洞的方法,就是弄懂該抽像原理以及所隱藏的東西。所以抽象機制雖然替我們節省了工作的時間,不過,學習的時間是無法省的。
-- 約耳趣談軟體

Google 提出的 Android 拖拉放程式設計工具 App Inventor 已經開放使用了。目前版本還有諸多限制,例如做出來的Apk無法上傳到Android Market、無法直接用模擬器而非實機測試等,但已可以作為簡單的程式教學工具。

Android 2.3 版發佈之後,開發工具裡的使用者介面設計工具已經有所進展(但還是很陽春),參照 App Inventor 的開發經驗,明年再來看官方開發工具的時後,也許可以再提昇一些水準。

十二月 18, 2010
» Android 2.3 Google 應用程式的改進

Android 2.3 除了這些系統層面的改進外,Google 出的應用程式也多有修改,而且都已經放上 Android Market 供舊版本也能直接使用。這次各種應用程式的更新目標都是更貼近桌面端的使用經驗。幸好Google有「Release Early, Release Often」的哲學,我們才不必等到手機商出了新Firmware後才能享受到這些應用程式更新的好處。

1. Android Market 更新了,能查看版本更新、查看相關的應用程式、支援平板,並修改了一些使用條款,現在退款時限從48小時退化到只剩15分鐘。當然,還有台灣的 使用者可以買App,開發者可以賣App。



2. YouTube 更新了



3. Gmail 更新了,加入 Priority Box 支援



4. Google Maps 更新了,可以為地點打分數。還有斜角3D顯示。



5. Google Docs 更新了,支援手機線上編輯

十二月 13, 2010
» Android 2.3 釋出



上週 Google 釋出了 Android 2.3 版 SDK 與開發工具,2.3版新增了SIP協定以支援網路語音通訊;支援更多種感測器(sensor),並支援了"xlarge"(7吋+)大小的螢幕,讓 Android 系統適用於更多種類的設備。

開發工具的部分也做了許多更新,在 AVD Manager 的畫面裡,各種函式庫又區分地更細了,而且第一次加入除了 Google 之外的 Third Party API (Samsung Galaxy)。對用的到的開發者來說這是一個進步,也顯示了Android OS確實不只是Google一家在玩而已,而是背後有OHA聯盟廠商的支援。從工程師的角度來看這個安裝工具也越來越正規化(與版本不直接相關的功能都可以拆成不同安裝包)了。但對新手來說卻是越來越不清楚第一次安裝時應該選些什麼來裝。
相信如果 ADT 的開發哲學沒有改變的話,這個安裝開發工具過程變得越來越複雜的趨勢會一直持續下去。

大部分開發工具的修改對使用Eclipse+ADT的開發者來講沒什麼明顯差別,影響比較大的卻是使用命令行來編譯程式的開發者。原本在 tools 資料夾下的命令都轉到 platform-tools 資料夾下,而且編譯 release 版本時預設會使用 proguard 來預做程式碼混淆的動作,省下開發者不少功夫。對原本就在使用命令行工具來編譯程式的開發者來說,需要一些修改才能順利編譯。

十一月 3, 2010
» 提問的智慧App電子書

「提問的智慧(How To Ask Questions The Smart Way)」是由知名黑客 Eric S. Raymond 所撰寫,被廣泛轉錄,可以很容易地透過Google搜尋到。

花了一整天把 Eric S. Raymond 的 '提問的智慧'中文版修訂到和原文一樣的 3.6 版(上一版正體中文是2001年D.H.Grand翻譯的),翻譯的過程中也參考了簡體中文版的翻譯。

先做成 Android App, 等有空再來弄個網站放內文以供連結吧... 網站版文件也已放到 GoogleCode

Market 連結

QRCode

七月 27, 2010
» 投影展示Android手機畫面


去年寫過一篇Demo Android Phone through your PC/MAC,介紹「DroidEx.jar」這個可以透過電腦螢幕展示Android手機畫面的工具。

這次要介紹的是 Android Screen Monitor 這個同類型的工具。

Android Screen Monitor 跨平台,從網頁下載之後,先將手機連上電腦,接著只要輸入

java - jar asm.jar

即可於螢幕顯示手機畫面,相當方便喔。

五月 21, 2010
» 如何讓應用程式直接安裝到SD卡執行(2.2)

Android 2.2 中新增了應用程式直接安裝到SD卡執行 (不少人稱這個功能作 App2SD),
要使用這個功能只要在目前程式中做幾個設定:

1. 專案的 Project Build Target 版本設定為 2.2 (API 8)
2. 修改 AndroidManifest 清單

設定 Project Build Target 版本

在 Eclipse 專案列表中按右鍵,選取 properties 選項,會彈出設定視窗。
在上面選擇左側的 Android 標籤,在右側 Build 欄位勾選「Android 2.2」選項(沒有這選項的請參考 管理SDK 來升級SDK),如此一來編譯時才能認得我們接下來在 AndroidManifest 清單中所做的設定。

修改 AndroidManifest 清單

在 manifest 標籤中加入一個「android:installLocation」屬性,實際程式碼如下

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
package="com.demo.org"
android:versionName="1.0" android:versionCode="1"
android:installLocation="preferExternal"
>
....

說明

android:installLocation="preferExternal"

清單中加入以上宣告後,編譯好的程式仍然可以適用於較低版本的機器,只有在程式安裝到 Android 2.2 版之後的系統上,系統才會自動將這個程式安裝到 SD 卡中。

安裝到SD卡中時程式會預作一次加密,讓只有安裝本程式的機器能存取這個程式,避免了程式可能會輕易被盜拷的疑慮。

沒有用到 Service、桌面小工具(Widget)、或動態桌布(Live Wallpaper)功能的程式比較適合儲存到SD卡,例如遊戲或 BMI 等小程式。

因為當機器使用 USB 和電腦連線,將SD卡掛載成磁碟機時,這些儲存在SD卡中執行的程式將會被中斷。

其他提示請參考 Android 官方文件

» Android 2.2,完全版的Android就應該長這樣



現在在Google I/O 2010 會場看現場發表會。Froyo 真的是非常高完成度的版本,除了機器OS本身之外,還支援了許多對開發者、對使用者都有利的特性:

開發者:

  • 新版開發工具支援 Library Project,意思是同時開發試用版/正式版時,終於可以共用多數程式碼和資源檔,而不用完全開兩個專案出來
  • 支援 Data Backup API,表示任何應用程式都可以使用 Android Cloud 將程式中的資料記錄到雲端上,換到任何其他台手機上都可以備份回來。
  • 允許遠端控制機器
  • 多種模式的 Mobile AdSense
  • 應用程式可以直接安裝到SD卡,得以在Android上實現大型遊戲等應用
  • Google TV 上也能裝 Android 應用程式。這表示什麼?表示開發Android平台遊戲就能打進電視遊戲市場!
使用者
  • 應用程式/網頁都有2~3倍以上的執行速度
  • 應用程式能從SD卡中執行
  • 在網頁版Market上點選安裝,在機器上即能自動下載
  • 語音辨識功能、桌面搜尋功能更強大
  • 有新版本應用程式可以自動從 Market 更新
  • 搭載Froyo的設備能直接變成行動 AP (tethering)
開發者們又很有事情可以做了 :)

四月 14, 2010
» 自動偵測螢幕大小和解析度

在 Android 機器上,螢幕的解析度可以用「螢幕大小」和「螢幕點距」兩個參數來表示。

一般的方法

在 Android 1.6 版以後,可以使用 config.screenLayout 語句來判斷螢幕大小

Configuration config = getResources().getConfiguration();
if((config.screenLayout&Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL){
}

UPDATE 2010/4/14: sam 說 「config = new Configuration()」只會回傳預設的Configuration, 而非當前的Configuration. 找了一下最好是使用 getResources().getConfiguration()

支援的參數與代碼如下
  • Configuration.SCREENLAYOUT_SIZE_UNDEFINED 0
  • Configuration.SCREENLAYOUT_SIZE_SMALL 1
  • Configuration.SCREENLAYOUT_SIZE_NORMAL 2
  • Configuration.SCREENLAYOUT_SIZE_LARGE 3

要檢查點距,可以使用 DisplayMetrics 語句來判斷螢幕點距

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm);
if((dm.densityDpi == dm.DENSITY_HIGH)){
}
支援的參數與代碼如下

  • DENSITY_HIGH 240 (dpi)
  • DENSITY_MEDIUM 160
  • DENSITY_LOW 120
  • DENSITY_DEFAULT 160

相容 1.5 以下機型

根據Android 版本使用圖表,2010年1月時 Android 1.5 市佔率還是接近 1/3,但是這1/3的機器上並無法使用上面的API。



在 1.5 版上,其實仍然可以用 density 語句來判斷螢幕點距比率

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm);
if((dm.density >= 1.5)){
}

density 的值 1 代表一般點距,1.5 代表高點距,0.75代表低點距。要偵測市面上所有的機器是否是高解析度機型,只要運用以上方法,就可以自動偵測出螢幕大小和點距囉。

三月 2, 2010
» Android 免費+廣告營利模式

一篇經驗分享文章,分享 Android 上使用 AdMob 廣告營利的經驗與注意事項
2010世界杯,我的Android之旅 蠻不錯的

另一篇移动应用排名与开发者的机会亦有可觀

A Feedjack powered Planet
A Django site.