2008年9月21日 星期日

J2ME - WTK - Emulator - AWT-EventQueue-0 GTKLookAndFeel Exception

在 Ubuntu 8.04 , 中文環境 , UTF-8  , 設定

在 Eclipse + EclipseMe , 啟動

J2ME , Sun WTK Emulator - 會出現 AWT-EventQueue-0 GTKLookAndFeel Exception

沒有辦法啟動手機模擬器




上網去查了一下 , 唯一的解法只有去修改環境變數變成 en_US
然後去啟動 Eclipse , 但是注意看 , 啟動時 , 會有錯誤訊息 , locale not supported by C library



進入 Eclipse , 啟動 WTK Emulator , 可以啟動了
但是仔細看 , 程式碼中 , 原先是中文的地方變成亂碼了 , 輸入或是修改中文訊息也會有問題





噹噹 , 正解在這裡 ,  修改環境變數 LANG 為 en_US.UTF-8
然後去啟動 Eclipse , 就沒有錯誤訊息了



接著啟動 WTK Emulator , 也可以正常執行 , 沒有錯誤訊息 , 而且程式碼中的中文也沒有變成亂碼了 , 可以正常顯示了



最近順便在看手機程式 , 但是發現 MIDP/J2ME 跟 Android 比起來 , 限制多了不少
沒有辦法使用標準常用的 J2SE 程式跟 API 方式 , (最簡單的例子 , System.getProperties() , MIDP/J2ME 沒辦法用這樣的寫法, 但是 Android 可以 , 簡單的說 MIDP 感覺很像是被閹掉的 J2SE , 限制還不少)

2008年9月8日 星期一

某間公司的笑話

某間公司的笑話

如果你看到某間公司 , 說要推 Open 架構  , 導入 Java /J2EE 解決方案  N年了 ,
結果公司對於 相關的證照補助只有針對 MS , MCSD , MCSE 有補助  ,

其 他如 SCJP , SCWCD , SCBCD , SCEA 等等一概沒有補助 ,

你就會知道這間公司的 IT 主管是在玩真的還是在玩假的 ,
也就是這樣的緣故 , 員工們根本就看破老闆的手腳 , 對於老闆們說要推甚麼 ,推甚麼 ,
一直都是 觀望與看笑話的態度 ,


老闆說要推Java /J2EE , 員工把老闆說的當笑話看 , 沒人會認真理他 ,
孔子曰 , 觀其言 , 察其行 , 人焉叟哉 ,

意思是: 看看這個人說的話 , 觀察這個人的行為 , 一個人真實的狀況是無法隱瞞的

換 在 公司的管理者方面 , 也是一樣 ,

老闆說要推 Java / J2EE / Open ,  但是諸多專業證照補助中 , 完全沒有Java/J2EE相關專業證照的補助 ,
反倒是不是主力的 .NET 一堆證照補助 ,


老闆 說得 , 跟做的完全兩碼子事 , 別怪員工把你說的話當屁話

在還沒離職前 , 公司的黑幕不能報 , 不過笑話總是可以拿出來講講的...

2008年8月29日 星期五

Android Emulator 中的 Java Properties


NOTE: 以下項目是在 Android 0.9/1.0 測試的


Android Emulator 中的 Java Properties


透過程式抓到 Android Emulator中的相關屬性 , 重新按照比較對我們有用的部份 , 去排序
可以看到有些值是空的

另外要注意的是 它的 java.io.tmpdir 是會去讀取 SD Card , 它用 sdcard 當作暫存目錄
另外則是 user 的dir , home , name , language , region , file.encoding 等幾個屬性會是比較跟我們撰寫程式要可能會使用到的

NO
Name
Value
01
user.dir
/
02
user.home

03
user.name

04
user.language
en
05
user.region
US
06
file.encoding
UTF-8
07
file.separator
/
08
line.separator


09
path.separator
:
10
java.io.tmpdir
/sdcard
11
java.class.path
.
12
java.boot.class.path
/system/framework/core.jar:
/system/framework/ext.jar:
/system/framework/framework.jar:
/system/framework/android.policy.jar:
/system/framework/services.jar
13
java.home
/system
14
java.library.path
/system/lib
15
javax.net.ssl.trustStore
/system/etc/security/cacerts.bks
16
java.ext.dirs

17
os.arch
OS_ARCH
18
os.name
Linux
19
os.version
2.6.25-00350-g40fff9a
20
java.specification.vendor
The Android Project
21
java.vendor
The Android Project
22
java.vm.vendor
The Android Project
23
java.vm.specification.vendor
The Android Project
24
java.vendor.url
http://www.android.com/
25
java.vm.vendor.url
http://www.android.com/
26
java.specification.name
Dalvik Core Library
27
java.vm.specification.name
Dalvik Virtual Machine Specification
28
java.vm.name
Dalvik
29
java.vm.specification.version
0.9
30
java.specification.version
0.9
31
java.runtime.version
0.9
32
java.vm.version
1.0.0
33
java.compiler

34
java.class.version
46.0
35
java.version
0
36
android.vm.dexfile
true

2008年8月24日 星期日

Android - 在 Android 模擬器中使用 SD 卡的 Image File


Android - 在 Android 模擬器中使用 SD 卡的 Image File

2008/08/24 13:54
Android - 在 Android 模擬器中使用 SD 卡的 Image File
建立 SD Card Image File(以下是指令)
cd .android
mksdcard -l sdcard 2048M demo-sdcard.img 
  <- 建立 2GB的 SD Card Image File , 模擬 2GB的 SD Card

注意: 在UBuntu 中 , Android的預設設定目錄是在你的home目錄下的 .android 目錄
(/home/demo/.android  它是隱藏目錄)


在UBuntu 中複製檔案或是存取 SD Card Image 中的檔案(以下是指令)
mkdir android_sdcard
sudo mount -o loop demo-sdcard.img android_sdcard

然後你就可以透過 android_sdcard 這個mount point 去存取檔案
例如複製 圖片 jpg 到 sd card 的 Image File中(以下是指令)
copy *.jpg ./android_sdcard/

如果不用了 , 記得下(以下是指令)
sudo  umount android_sdcard

在模擬器中中使用 SD Card Image(以下是指令)
emulator -sdcard  /home/demo/.android/demo-sdcard.img

在Eclipse 的整合環境中
當你去 Run Android Application 時的(Run As)啟動設定中的
Target 頁面的 Additional Emulator Command Line Options
輸入  -sdcard  /home/demo/.android/demo-sdcard.img

就可以讓模擬器去使用剛剛我們建立並放入檔案的 SD Card Image File

嗯 , mtools 我一直都跟它不熟 , 到現在我還是搞不定它 ,
我只好去整理出我覺得自己比較能夠簡單使用的方式

Android HelloAndroid 出現錯誤 - invalid constant pool index 0000

Google Android SDK - HelloAndroid 出現錯誤 - invalid constant pool index 0000


Android SDK - Beta1

Platform : UBuntu 8.0.4

IDE : Eclipse 3.4 (eclipse-jee-ganymede-linux-gtk)

JDK: 6.x

在安裝跟設定完 ADT  Plug-in之後 ,

根據說明文件在  Eclipse 下產生 HelloAndroid 並執行 ,
 結果出現錯誤訊息
[2008-08-21 22:15:45 - HelloAndroid] invalid constant pool index 0000
...while parsing LocalVariableTable attribute at offset 00000193
...while parsing attributes[1]
...while parsing Code attribute at offset 00000170
...while parsing attributes[0]
...while parsing methods[0]
...while parsing com/android/helloandroid/HelloAndroid.class
...while processing com/android/helloandroid/HelloAndroid.class
[2008-08-21 22:15:45 - HelloAndroid]

去查詢過其他相關討論區說明 , 發現全部都不是正確解答(包含 Android 的討論區)

後 來重新檢視 Android 的文件 , 它出現一行小小的文字: "Android 不支援 GCJ"

嗯 , 剛剛在啟動 Eclipse 3.4 (ganymede) 時有看到說電腦有 GCJ 之類的提示說明

很不幸的 我的Ubuntu上面有安裝 GCJ (有點忘記是 UBuntu 預設安裝 , 還是我自己手賤裝上去的)

原因:
Android SDK 不支援 GCJ

解決方法:
使用Synaptic 套件管理程式 , 搜尋 gcj , 把所有有關 gcj 的套件整個徹底移除之後

重新啟動 Eclipse , 建立 Android Project 去測試 HelloAndroid 整個就是沒有問題 

2008年8月10日 星期日

在 UBUNTU 上面執行GUI程式不正常或是執行Java GUI程式不正常的原因

在 UBUNTU 上面執行GUI程式不正常或是執行Java GUI程式不正常的原因

在 UBUNTU 上面執行程式不正常 , 程式有啟動 , 但是啟動完之後就消失了

或是執行 Java 程式不正常或是程式變慢的原因
<有的會告訴這是JDK的bug , 使用JDK 6 就沒事或是要再調整甚麼設定 , 但其實都不是>

主因有二:
1.在外觀設定的佈景主題 ,套用了某些佈景主題(如 Mac4Lin 的仿Mac佈景)
2. 在外觀設定的視覺效果 , 開啟了 特效

解決方法:
1.在外觀設定的佈景主題 , 切回 UBUNTU 內建的佈景主題
2.在外觀設定的視覺效果 , 關閉特效

就這樣 , 再回過頭去試試看 , 你的 Java 安裝程式或是 GUI 介面的程式是否可以正常執行了
或是原來在 GUI 介面下變慢的程式回復正常速度了...

2008年7月27日 星期日

專業證照 CISSP - 填寫履歷參考來源

專業證照 CISSP-填寫履歷參考來源

要參加CISSP 考試報名之前需要準備自己的履歷
上面需要有自己從事的工作內容 ,
然後那些工作內容有哪些是與CISSP的十個Domain有關的及相關的年資等等


然後又要使用英文撰寫 ,對於不是以英文為母語的我們實在有點困難 ,
所以以下這個是好東西

以下這個是在 ISC2網站上 ,  提供的CISSP認證通過的成員所放上去的個人履歷
View Member Resumes (https://www.isc2.org/cgi/resume_search.cgi)
你可以根據國家別 ,行業別去查看 是否有適合你參考的履歷



都是使用英文的 , 一方面也可以讓自己長長見識 , 看看別人的履歷是怎麼寫的
(萬一打算要換工作時 , 要寫英文履歷也是一個很好的參考來源)

<資訊來源: 這個是去恆逸上課 , 呂政周  老師 告訴我們的>

[原始文章日期: 2008/07/27 17:02]