Category: Android


參考: http://developer.android.com/training/basics/supporting-devices/screens.html

 

  • There are four generalized sizes: small, normal, large, xlarge

在文章中講白了希望你建例這四種Layout排版方式,對於不同尺寸的手機讓他有不同的呈現方式。因此複雜一點還可以考慮到語系、手持方式(橫向、直向)。

 

  • And four generalized densities: low (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)

解析度方面也要建立4種,如果以medium為基準,以下是圖檔大小差異的比率。如果你不介意圖片失真只做一套圖也是可以。如果要做完整一點還要考慮到語系,不同的語系讀不同的圖檔。

  • xhdpi: 2.0
  • hdpi: 1.5
  • mdpi: 1.0 (baseline)
  • ldpi: 0.75

 

1. Modify this file –> app/build.gradle

2014071601

2.OK

 

android_自動下載

今天閒著把學校的報時flash做成android版的 報時來源: http://web.cyut.edu.tw/bin/home.php 基本上就是先把那個flash,用反編譯程式轉換一下,可以發現他只是把圖片放在伺服器端,透過時間叫出對應的圖片。

ex:  http://web.cyut.edu.tw/ezfiles/0/1000/img/9/0101.jpg

如上述網址就能找出一點零一分的圖片。 因此在android部分只要依照目前時間,下載對應的圖片即可,目前是做即時下載,照理講下載後應該先儲存到sdcard,在顯示出來比較不會有畫面延遲的情況,不過懶得寫就算了。

(注意:使用此app時請使用免費無線網路,以免網路費繳不完) 點我下載成品

cyutt

Android OOM問題

//使用以下方法有效解決讀圖產生的OOM問題
String imagePath = “/mnt/sdcard/Android/data/tw.lya/LocationMapTest/file.png";

//讀圖時要加下列這些
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap mapImage = BitmapFactory.decodeFile(imagePath, options);

options.inJustDecodeBounds = false;
options.inSampleSize = 1;
mapImage = BitmapFactory.decodeFile(imagePath, options);

//當這張圖不需要時,要回收掉
if(bitmap != null && !bitmap.isRecycled()){
bitmap.recycle();
bitmap = null;
}
System.gc();

Android+Bluetooth+CO2

Android系統使用藍牙,連接/配對到一台能偵測二氧化碳濃度和溫度的感測器,且能互傳資料。

開發環境:
eclipse 3.7
android 2.1

此藍芽程式目前缺點:
1.程式可再優化重構。
2.註解部份可再加強。
3.如果需要長時間連線,則須要改寫成背景程序會更佳。

PS.曾測試過 自動配對 但效果不理想,所以此 demo不使用自動配對。

download: https://docs.google.com/open?id=0B5t_W6uG0JzlMGRuV21UYkk5QnM

android+qrcode(sample code)

有人在問qrcode順變整理上來

kaywa的 qrcode標籤產生網站 > http://qrcode.kaywa.com/

zxing的 qrcode開源 > http://code.google.com/p/zxing/

我整理出來的demo > [點我下載]

Android 儲存 Camera預覽畫面-2

改進上一篇, 將camera所看到的使用canvas繪製出來, 可用來影像處理

[點我下載]

Android 遊戲小地圖

常常看到遊戲內都會有個小地圖,可以拖拉/放大縮小或者還可以點擊該目標,點擊後則會出現該目標的訊息,感覺不錯玩,自己就做了一個。

下[圖1]為放大縮小時,所顯示的狀態,照理講我應該做成藉由兩指來做縮放,不過由於是雛型我就先做成 + – 按鈕,等有空再去改。

[圖1]

 

下[圖2]為當使用者點擊到目標物時,則會在該目標物上顯示一個閃爍的紅圈,並且在畫面最上烈顯示該目標物狀態,詳細說明則為一個按鈕,按下去時可以看到更進一步訊息。

在 + – 的縮放按鈕 旁邊,會有兩個 < > 的按鈕,那是當該目標物有多個狀態時,可以供點擊選擇。

[圖2]

目前該程式內的目標物的狀態資料,我是藉由放在server端的文字檔案,下載回來做更新資料,有空的話應該要改成資料庫的方式或許比較好,畢竟在資料管理方面有比較方便。

[參考] http://www.ptt.cc/bbs/AndroidDev/M.1303786969.A.281.html

我參考了上面的網址做了些修改,達到透過抓取預覽畫面,再將畫面儲存至 sdcard

關鍵在於 setPreviewCallbackWithBuffer(備註: API 8才有),基本上如果打開我改寫的專案,會發現 ViewToDraw顯得有點多餘

畢竟只是要儲存前景,並沒有要做影像處理。藉由這種方式儲存前景速度挺快的,要小心使用,可別把sdcard塞爆了。

在影像格式的轉換上再2.2以前還沒有API可用,2.2開始多了 YuvImage類別,使用上也很方便。

[點我下載]

有問題請在留言回覆

 

 

 

 

Android 與 QRCode

使用開源 ZXing

官網: http://code.google.com/p/zxing/

吉祥物: 斑馬 -.-

我使用的平台: Android2.2

可撥放MP3、顯示文字資訊、圖片可用兩指縮放拖拉

 

初始畫面,當初次開啟時,中間放個圖示當作提示

 

當按下[掃描]按鈕後,可以開始掃描QRCode

 

當掃描完成後,自動回到上一頁並且會下載資源檔,和設定資源檔的圖片,以及MP3檔和文字檔

 

按下[START]按鈕可以撥放MP3檔,以及暫停和停止

 

當然圖片可以兩指縮放、拖拉畫面位置

 

按下[資訊]按鈕則可以查看資源檔的文字資料