2010年12月30日 星期四

Android 縮小讀圖方法(OutOfMemoryError解法)

在使用bitmap處裡影像轉換時,是不是常常出現
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
的錯誤呢

網路上普遍的說法是bitmap.recycle()
但其實是因為你讀取的原圖大過限制的關係,處裡方法如下


BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;

縮小成1/4,在放進bitmap中

Bitmap myImage = BitmapFactory.decodeByteArray(imageData, 0, imageData.length, options);
Bitmap originalImage = BitmapFactory.decodeResource(getResources(), imageId, options);


希望對你有幫助:D

2010年12月1日 星期三

華強北!山寨電子產品聚落!大開眼界

今天花了點時間在網路上看大陸山寨品
真是驚人阿,中國成為世界強國指日可待阿XDD
就讓我來為您介紹幾款我覺得有趣的



iPod Shuffle2
蘋果最新產品引領風潮.


2010年11月29日 星期一

G1 USB HOST

改造G1使其擁有USB HOST
1. 取得手機root權限
2. 刷rom,取得新版fastboot1.3
(在此,我是使用國外論壇釋出的「CyanodenMod-6.0.0-DS」,Ver:2.2,build number:FRF91)
3. 刷經修改過的zImage(root@ubuntu)
4. 安裝手機終端機
5. 掛載usb驅動模組 insmod usbcore.ko , insmod ehci-hcd.ko
6. 掛載輸入驅動模組 insmod usbhid.ko

插上外接電源的usb hub的鍵盤

2010年11月2日 星期二

Android drawable 轉 bitmap

Bitmap drawableToBitmap(Drawable drawable) {
 Bitmap.Config mConfig;
 if(drawable.getOpacity() != PixelFormat.OPAQUE){
  mConfig=Bitmap.Config.ARGB_8888;
 }else{
  mConfig=Bitmap.Config.RGB_565; 
 }
 Bitmap bitmap = Bitmap.createBitmap( drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(),  mConfig);
 Canvas canvas = new Canvas(bitmap);
 drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
 drawable.draw(canvas);
 return bitmap;
}


或者你也可以這樣:)

((BitmapDrawable)res.getDrawable(R.drawable.youricon)).getBitmap();

Android bitmap轉drawable

要怎麼把bitmap轉成drawable呢?


Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.a01);
Drawable mDrawable = new BitmapDrawable(mBitmap);

2010年10月29日 星期五

怎麼在blogger貼程式碼

首先 ,到 SyntaxHighLighter下載檔案
http://alexgorbatchev.com/SyntaxHighlighter/
並找一個空間host裡面的js,css檔案

假設我們存放在xxx.xxx.xxx裡面

登入blogger,並至設定,修改html裡面


<!-- 設定載入 shCore.css 與 shThemeDefault.css --> 
<link href='http://xxx.xxx.xxx/shCore.css' rel='stylesheet' type='text/css'/> 
<link href='http://xxx.xxx.xxx/shThemeDefault.css' rel='stylesheet' type='text/css'/> 
<!-- 設定需要載入的核心檔案 shCore.js --> 
<script src='http://xxx.xxx.xxx/shCore.js' type='text/javascript'/> 
<!-- 設定需要載入的程式語言檔案 --> 
<script src='http://xxx.xxx.xxx/shBrushJScript.js' type='text/javascript'/> 
<script src='http://xxx.xxx.xxx/shBrushSql.js' type='text/javascript'/> 
<script src='http://xxx.xxx.xxx/shBrushVb.js' type='text/javascript'/> 
<script src='http://xxx.xxx.xxx/shBrushXml.js' type='text/javascript'/> 
<!-- 設定啟用 highlighter --> 
<script type='text/javascript'> 
     SyntaxHighlighter.config.bloggerMode = true; 
     SyntaxHighlighter.all()
</script> 


將前述程式碼貼在 <body> 後面
儲存,就算是設定完成了



平時貼程式碼的方法,假設我要貼下列程式碼

function helloSyntaxHighlighter()
{
 return "hi!";
}

就在發表文章中的修改html以下列方式撰寫

<pre class="brush: js;">
function helloSyntaxHighlighter()
{
return "hi!";
}
</pre>

如果你的文字有特殊字元,不要忘記先encode,
http://www.opinionatedgeek.com/dotnet/tools/htmlencode/encode.aspx

Android要怎麼做出透明Activity

首先在
在res/values/中加入一個新的檔案

styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="Theme.Transparent" parent="android:Theme">
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@color/transparent</item>
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">false</item>
</style>
</resources>


在res/values/中加入一個新的檔案

color.xml


<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="transparent">#00000000</color>
</resources>



最後在AndroidManifest中,Activity設定修改Theme 為 @style/Theme.Transparent

2010年10月20日 星期三

Android儲存在SD卡的圖片要怎麼顯示在相簿

因為相簿預設是在插拔USB時才會檢查有無新的圖片
所以需要手動讓他檢查,在你的程式碼中加入這行

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));

 他就會去掃你的SD卡中有無新的圖片

2010年10月18日 星期一

Android webView截圖顯示在imageView上

Picture picture = webView.capturePicture();
int weight = picture.getWidth(); 
int height = picture.getHeight(); 
if (weight > 0 && height > 0){
        Bitmap bitmap = Bitmap.createBitmap(weight, height,
        Bitmap.Config.ARGB_8888);
 Canvas canvas = new Canvas(bitmap);
 picture.draw(canvas);
 mImageView.setImageBitmap(bitmap); 
}

也可以任意的對bitmap作影像處裡達到需要的效果

2010年10月7日 星期四

Seth Priebatsch:世界第一的遊戲社交圈



有很多觀念都是我三年前就有討論過想做的
我有個IDEA誠徵一起做的人XD

2010年10月6日 星期三

CSS3.0 Maker 學習CSS3的好幫手


左邊框可以調整各種參數,中間框可以預覽調整後的樣子,右邊框是程式碼
下方框說明可以支援的瀏覽器

2010年9月13日 星期一

fring out 筆記

他有試用15分鐘的
 http://spreadsheets.google.com/viewform?formkey=dERPdTB2VVJ2eGJhOTUxaUZyZ0JDMXc6MQ
 先填寫這個問券
 之後他會記密碼 給你     帳號就是090 + 你的手機號碼

收到信之後 再到這裡
 http://sunphone.mih.com.tw/fringtalk-sp.htm
  把序號  跟基本資料填寫
 
15分鐘大約是37塊錢
 如果你不想要這37元
 可以直接到
http://sunphone.mih.com.tw/index-fring-apply.html申請帳號並匯款
就會收到信  再把帳號、密碼跟代理伺服器輸入
 
他是以30秒計算      每分鐘2.8元

2010年8月4日 星期三

Mercurial 安裝實記

之前聽過gasolin大 http://inet6.blogspot.com/2010/02/googlecode-mercurial.html
所介紹的Mercurial一直想要好好試一試,


版本控制軟體簡介 : Mercurial
http://zh.wikipedia.org/zh-tw/Mercurial
總之,如果你有過改完code,對方才叫你改回去的經驗
或是有手動資料夾備份,卻因為備份亂取名子而找不回你要的專案的經驗
寫比較大型的專案時卻越寫越亂的經驗
用這個就對啦!

還可以拿來跟教授共同寫論文,和同學共同寫小說:P


以下就是我玩的過程,理性勿鞭~有錯請指教:P

我是在windows xp底下的環境

1.先裝python
http://www.python.org/

2.在安裝Mercurial
http://mercurial.selenic.com/

(奇怪了...blogspot突然不能傳圖片...之後再附圖)

3.至C:\Program Files\Mercurial (預設)
  新增純文字文件 => 改名『Mercurial.ini』 => 打開Mercurial.ini編輯個人資訊,如下
[ui]
; editor used to enter commit logs, etc.  Most text editors will work.
editor = notepad
username = xxx@gmail.com
editor: 給註腳的時候預設的編輯器
username :在之後每個版本給註腳的時候會以粗體處作為暱稱


以上就是安裝過程,下一篇會談使用過程

2010年7月25日 星期日

邪神佐助開頂文



今日的我 沒.有.極.限 !!!!


起緣是看到這篇文章 http://forum.jorsindo.com/thread-2204040-1-1.html
加上在FF會場上看到大量邪神...所以



入手拉~買了啊



2010年7月9日 星期五

Android WebView讀取大圖模糊問題

有鑒於自己花了兩天的時間研究卻自然解決,我一定要上來PO個文讓搜尋引擎找到這篇文章。


這是Android原本就有的BUG,只要把版本昇到2.2問題就解決了...

如果你的設備是2.2以下的怎麼辦,有幾個方法:


1.將圖檔下載到SDCARD中,在用ImageView顯示

2.一開始就把圖在伺服器端切好在下載下來





補個X

2010年7月2日 星期五

申請了AdMob

開始著手寫第一隻Android廣告軟體XD"

2010年5月20日 星期四

Python 初體驗

孤陋寡聞的我總算要踏出程式屠龍的第一步!
聽說有一派巨蟒神功無敵,愈練此功還不需要自宮
看了 ericsk 大大秘訣之後,更令我想要一試

人家說用command line寫程式才是真男人...那我只好當小女人用IDE了(拿刀剁)
我選擇 Eclipse + Pydev  windows版安裝教學 mac版安裝教學

目前就先做到這裡...明天在來挑戰10分鐘!

2010年5月4日 星期二

[Android為什麼]怎麼製作透明的canvas

一般我們都會用


 @Override
 protected void onDraw(Canvas canvas){
     super.onDraw(canvas);
}
來畫要的圖形,但卻沒辦法重疊,所以為了要讓他們可以被重疊,要改成這樣



 @Override
 protected void dispatchDraw(Canvas canvas){
     super.dispatchDraw(canvas);
}

進階閱讀:http://blog.pocketjourney.com/2008/03/15/tutorial-1-transparent-panel-linear-layout-on-mapview-google-map/

2010年5月3日 星期一

[Android為什麼]什麼是Layout?

Layout 是一繼承ViewGroup的類別,功能是用來將子元件配置在畫面上
Andrioid SDK內建了一些Layout,方便設計UI,以下就簡介常用的Layout


  • FrameLayout
    將View顯示在左上角,增加多個View的時候,後加的View會蓋在先加的上面。
    例如:背景貪食蛇,先加入相機View,在加入蛇的View。

2010年4月27日 星期二

HTML5 與 WEBGL

Canvas
https://developer.mozilla.org/en/Canvas_tutorial/Basic_animations
webGL
https://developer.mozilla.org/en/WebGL

2010年4月18日 星期日

[轉錄]jQuery Autocomplete

jQuery Autocomplete 自動完成文字輸入
http://jsgears.com/viewthread.php?tid=114

jQuery Autocomplete 支援中文修改方式
http://www.dotblogs.com.tw/asdtey/archive/2009/11/25/jqueryautocomplete.aspx


科學超電磁砲MAD「人間ってそんなものね」


【神MAD】とある科学の超電磁砲で「人間ってそんなものね」



2010年4月16日 星期五

累了嗎?聽首歌吧



Youtube音樂探索計畫
http://www.youtube.com/disco


輸入歌名或歌手 就會產生隨機連撥

想聽音樂的時候挺方便的

2010年3月19日 星期五

Pomodoro:一種專心做事的技巧

http://www.pomodorotechnique.com/
最近看到一種專心做事的技巧


  1. Choose a task to be accomplished   //選擇你要完成的事
  2. Set the Pomodoro to 25 minutes (the Pomodoro is the timer)  //設定一個25分鐘的計時器
  3. Work on the task until the Pomodoro rings, then put a check on your sheet of paper //專心做事直到計時器響
  4. Take a short break (5 minutes is OK) //休息5分鐘
  5. Every 4 Pomodoros take a longer break  //每4次pormodoro讓自己休息久一點
時間一到一定要馬上停止手邊工作
休息時可以找任意讓自己最舒服的方式來放鬆自己,例如泡一杯咖啡或是散散步



對我來說很有用
我常常會被打擾工作,而且一旦分心就很難拉回工作的壞習慣
一個MSN,或一次google,可能就會不小心連plurk或是facebook一起打開
等回過神已經浪費了一個小時
25分鐘的限制不會太久,可以讓我把其他事情留到鬧鐘響在一起處裡
辦事的效率也提高了...真是個好習慣!

2010年3月18日 星期四

[Android AP]透明貪食蛇

Camera surfaceView Snake

遊戲畫面






有興趣的可以從下面的QRcode下載:P

歡迎跟我討論Android相關的各種問題 :D

2010年3月16日 星期二

2010年3月7日 星期日

影像辨識,臉部辨識

http://code.google.com/p/aforge/
http://www.aforgenet.com/framework/license.html
AFORGE.NET

http://code.google.com/p/ehci/
ehci

http://code.google.com/p/aam-opencv/
aam-opencv

影像辨識,臉部辨識參考資料

2010年3月3日 星期三

Android Developer Lab 2010

每個人送一隻Nexus One!
真的是太爽啦~~~

等我玩上手再來寫心得文~

2010年3月1日 星期一

Android Market開啟!

http://www.android.com/market/

今天跑了一趟銀行,把信用卡申請下來,
終於可以開始玩Android Market了(灑小花)
到底我的軟體會有多少人玩呢~讓我們繼續看下去...


2010年2月27日 星期六

寫JAVA程式的人都該看看這個

Code Conventions for the Java Programming Language




詳細請參考  http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html