在使用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月30日 星期四
2010年12月1日 星期三
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的鍵盤
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裡面
將前述程式碼貼在 <body> 後面
儲存,就算是設定完成了
平時貼程式碼的方法,假設我要貼下列程式碼
就在發表文章中的修改html以下列方式撰寫
<pre class="brush: js;">
function helloSyntaxHighlighter()
{
return "hi!";
}
</pre>
如果你的文字有特殊字元,不要忘記先encode,
http://www.opinionatedgeek.com/dotnet/tools/htmlencode/encode.aspx
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
在res/values/中加入一個新的檔案
color.xml
最後在AndroidManifest中,Activity設定修改Theme 為 @style/Theme.Transparent
在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卡中有無新的圖片
所以需要手動讓他檢查,在你的程式碼中加入這行
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日 星期四
2010年10月6日 星期三
2010年9月13日 星期一
fring out 筆記
他有試用15分鐘的
http://spreadsheets.google.com/viewform?formkey=dERPdTB2VVJ2eGJhOTUxaUZyZ0JDMXc6MQ
先填寫這個問券
之後他會記密碼 給你 帳號就是090 + 你的手機號碼
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編輯個人資訊,如下
username :在之後每個版本給註腳的時候會以粗體處作為暱稱
以上就是安裝過程,下一篇會談使用過程
所介紹的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編輯個人資訊,如下
editor: 給註腳的時候預設的編輯器[ui]; editor used to enter commit logs, etc. Most text editors will work.editor = notepadusername = xxx@gmail.com
username :在之後每個版本給註腳的時候會以粗體處作為暱稱
以上就是安裝過程,下一篇會談使用過程
2010年7月25日 星期日
2010年7月9日 星期五
Android WebView讀取大圖模糊問題
有鑒於自己花了兩天的時間研究卻自然解決,我一定要上來PO個文讓搜尋引擎找到這篇文章。
這是Android原本就有的BUG,只要把版本昇到2.2問題就解決了...
如果你的設備是2.2以下的怎麼辦,有幾個方法:
1.將圖檔下載到SDCARD中,在用ImageView顯示
2.一開始就把圖在伺服器端切好在下載下來
補個X
這是Android原本就有的BUG,只要把版本昇到2.2問題就解決了...
如果你的設備是2.2以下的怎麼辦,有幾個方法:
1.將圖檔下載到SDCARD中,在用ImageView顯示
2.一開始就把圖在伺服器端切好在下載下來
補個X
2010年5月20日 星期四
Python 初體驗
孤陋寡聞的我總算要踏出程式屠龍的第一步!
聽說有一派巨蟒神功無敵,愈練此功還不需要自宮
看了 ericsk 大大秘訣之後,更令我想要一試
人家說用command line寫程式才是真男人...那我只好當小女人用IDE了(拿刀剁)
我選擇 Eclipse + Pydev windows版安裝教學 mac版安裝教學
目前就先做到這裡...明天在來挑戰10分鐘!
聽說有一派巨蟒神功無敵,愈練此功還不需要自宮
看了 ericsk 大大秘訣之後,更令我想要一試
人家說用command line寫程式才是真男人...那我只好當小女人用IDE了(拿刀剁)
我選擇 Eclipse + Pydev windows版安裝教學 mac版安裝教學
目前就先做到這裡...明天在來挑戰10分鐘!
2010年5月4日 星期二
[Android為什麼]怎麼製作透明的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/
@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
Andrioid SDK內建了一些Layout,方便設計UI,以下就簡介常用的Layout
- FrameLayout
將View顯示在左上角,增加多個View的時候,後加的View會蓋在先加的上面。
例如:背景貪食蛇,先加入相機View,在加入蛇的View。
- LinearLayout
建新的Layout XML預設的Layout方式,會沿著某一個值線方向增加子View,
包括垂直和水平。垂直的Layout每一行有一個子View,而水平的只有一行。
可以位每個子View設定"weight"控制每個子View的相對大小。
- RelativeLayout
可以定義每個子View相對於其它的View或螢幕邊界的位置。
- TableLayout
按照表格行列來放View,每格可以有多個行和列,並可設定縮小或增長。
- AbsoluteLayout
可以設定每一個子元件的絕對座標,可以精確的佈局,但是和其他Layout相比,
如果螢幕解析度不同就會整個跑掉,基本上建議不要使用此種Layout。
http://blog.csdn.net/ligaoyang/archive/2009/09/24/4591576.aspx
http://blog.csdn.net/ligaoyang/archive/2009/09/28/4612753.aspx
http://penguin7.blog.51cto.com/966026/222075
2010年4月27日 星期二
HTML5 與 WEBGL
Canvas
https://developer.mozilla.org/en/Canvas_tutorial/Basic_animations
webGL
https://developer.mozilla.org/en/WebGL
https://developer.mozilla.org/en/Canvas_tutorial/Basic_animations
webGL
https://developer.mozilla.org/en/WebGL
2010年4月18日 星期日
2010年4月16日 星期五
2010年3月19日 星期五
Pomodoro:一種專心做事的技巧
http://www.pomodorotechnique.com/
最近看到一種專心做事的技巧
最近看到一種專心做事的技巧
- Choose a task to be accomplished //選擇你要完成的事
- Set the Pomodoro to 25 minutes (the Pomodoro is the timer) //設定一個25分鐘的計時器
- Work on the task until the Pomodoro rings, then put a check on your sheet of paper //專心做事直到計時器響
- Take a short break (5 minutes is OK) //休息5分鐘
- Every 4 Pomodoros take a longer break //每4次pormodoro讓自己休息久一點
時間一到一定要馬上停止手邊工作
休息時可以找任意讓自己最舒服的方式來放鬆自己,例如泡一杯咖啡或是散散步
對我來說很有用
我常常會被打擾工作,而且一旦分心就很難拉回工作的壞習慣
一個MSN,或一次google,可能就會不小心連plurk或是facebook一起打開
等回過神已經浪費了一個小時
25分鐘的限制不會太久,可以讓我把其他事情留到鬧鐘響在一起處裡
辦事的效率也提高了...真是個好習慣!
2010年3月18日 星期四
2010年3月16日 星期二
2010年3月7日 星期日
2010年3月3日 星期三
2010年3月1日 星期一
Android Market開啟!
http://www.android.com/market/
今天跑了一趟銀行,把信用卡申請下來,
終於可以開始玩Android Market了(灑小花)
到底我的軟體會有多少人玩呢~讓我們繼續看下去...
今天跑了一趟銀行,把信用卡申請下來,
終於可以開始玩Android Market了(灑小花)
到底我的軟體會有多少人玩呢~讓我們繼續看下去...
2010年2月27日 星期六
寫JAVA程式的人都該看看這個
Code Conventions for the Java Programming Language
詳細請參考 http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html
訂閱:
文章 (Atom)