2014年8月28日 星期四

透過 Eclipse 設定 VM arguments

        之前在這篇文章中提到透過 Boloean.getBoolean("TRUE") 總是回傳 false, 是因為我們沒有設定額外的系統參數給 JVM,除了你可以在程式中透過 System.setProperty("TRUE", "TRUE"); 設定讓 getBoolean 方法回傳 true 外,你還可以自己透過在執行你的 Java 程式時設定,如下畫面:

        如果是使用 Eclipse IDE 來編譯/執行 你的 Java 程式,你可以透過 "Run Configurations..." 來設定你的 JVM 系統參數,設定方式如下圖示:

圖一

圖二
     範例程式如下:

 
package com.josh.demo;

public class GetBooleanDemo {
  public static void main(String[] args) {
   System.out.println("getBoolean(\"TRUE\") = " + Boolean.getBoolean("TRUE"));
   System.out.println("getBoolean(\"FALSE\") = " + Boolean.getBoolean("FALSE"));
   System.out.println("getBoolean(\"True\") = " + Boolean.getBoolean("True"));
   System.out.println("getBoolean(\"False\") = " + Boolean.getBoolean("False"));
 }
}

2014年7月20日 星期日

解決 Eclipse Graphical layout 無法顯示的問題

         建立一個簡單的 Android App 一開始 Graphical Layout 上面還有畫面,但是放了幾個 TextView與 EditText 後發現 Graphical Layout 竟然沒有畫面,而 Graphical Layout 提示執行 Eclipse 中的 Windows>Show View> Error Log,發現錯誤訊息為  "java.lang.NoSuchMethodError: java.lang.System.arraycopy([CI[CII)V ..." 上網查詢發現 "Android version to use when rendering layouts in Eclipse" 不可以選擇 Android 4.4W。
        剛剛稍微小試了一下,擺上  TextView 還可以正常顯示,一旦放上 EditText 就無法顯示了。下面圖示是設定的方式:

[參考文章]

[關鍵字]
  • java.lang.System.arraycopy([CI[CII)V

建立含有軌跡球(trackball) 的Android 模擬器

         在 Android Emulator 文章提到,我們可以透過按 F6 來啟動模擬器的 trackball mode,但如果你在建立模擬器時沒有將 input 設定為 trackball 則在按 F6 鍵後模擬器是不會出現 軌跡球讓你來操作。

         要建立含有軌跡球的 Android 模擬器,你可以先開啟 Android Virtual Device(AVD) Manager,在 Device Definitions 頁面中尋找已經有將 trackball 設定為 input 的 Device 或者你可以自己建立一個,這邊我找到 Nexus One by Google 已經有設定好了,請參考下面畫面:

     
          接下來切換到 Android Virtual Devices 頁面,按 "Create..." 按鈕,在Device 選項中選擇 "Nexus One by Google" 或者你自己建立的 Device。請參考下面圖示:


        其他選項依照之前建立的 Android 模擬器填入相關的資訊即可。當你啟動 Android 模擬器後,按 F6 便可進入 Trackball mode 再按一次 F6 便可離開 Trackball mode。當你在 Trackball mode 下你會發現 Android 模擬器的左上角會出現 Trackball,便可透過滑鼠來操作 Trackball。下面圖示顯示模擬器在 Trackball mode 的樣子。

2014年7月6日 星期日

android.support cannot be resolved ?

今天將 ApiDemos import 進來做編譯,發現 PrintBitmap.java 無法編譯,原來它使用了
"android.support.v4" 的 package。錯誤訊息如下圖所示:


要解決這個問題你可以先透過 "Android SDK Manager" 安裝  Extras >> Android Support Library。 如下圖所示:



之後 選擇該專案 >> 按右鍵 >> Properties >> Java Build Path >> Add External JARs...



 將 android-support-v4.jar 檔案加入即可,路徑如下: 
<Android SDK 安裝路徑>\extras\android\support\v4\android-support-v4.jar


在 support 資料夾下除了 v4 還有 v7 與 v13,如果又遇到相同的情況可以將其相對應使用到的 package 加入專案即可編譯。

[參考文章]

如何刪除 Eclipse 舊的 Workspace

     要移除舊的 Workspace 可以透過下面兩個方法:
  1. 手動修改 <Eclipse 安裝路徑>\configuration\.settings\org.eclipse.ui.ide.prefs 檔案,打開該檔案你會看到類似 RECENT_WORKSPACES = "...\workspace1\n\...\worspace2",將你不要的 WOrkspace 刪除即可。
  2. 透過 Eclipse 工具列 Preferences >> General >> Startup and Shutdown >> Workspaces,選擇你要移除的 Workspace,按 Remove 按鈕即可。如下圖所示:


     上面的第二個方法其實也是去修改 org.eclipse.ui.ide.prefs 檔案,所以建議透過第二個方式去移除比較省事,也不用去找檔案在哪之類的問題。: )

[參考文章]

2014年6月6日 星期五

Windows 7 在右鍵選單新增開啟到 DOS 視窗

        在 Windows 7 下要新增開起到 MS-DOS 視窗的方法,只需將在下面機碼路徑中的 Extended 機碼刪除或改名即可。

HKEY_CLASSES_ROOT->Directory->shell->cmd

        修改參考圖示如下:

        修改完後當你點選資料夾按滑鼠右鍵,會發現右鍵選單多了一個 "在此處開啟命令視窗(W)"的選項如下圖示所示:

        點選 "在此處開啟命令視窗(W)" 後就會開啟在該路徑資料夾的 MS-DOS 視窗,執行結果如下圖所示:

[參考鏈結]

Windows 7 內建的"問題步驟收錄程式"工具

      Windows 7 有一個內建的 "問題步驟收錄程式" 程式應用工具,可以記錄你點選了哪些視窗按了那些按鈕然後全螢幕的擷取畫面,還會將點選的地方 Highlight 起來;除了當你發生問題時,可以用這個方式來呈現你所執行每一個步驟以便讓電腦高手來了解到底哪裡出了錯誤外;似乎也可以用來當作電腦教學工具 : )

      但,我還是習慣自己擷取畫面、自己 Highlight :D。要執行該程式你只需要在 "搜尋程式及檔案" 的地方輸入 psr 即可。當你錄製完畢後程式會將結果壓縮成 zip 檔,該壓縮檔裡只有一個 *.mht 的檔案,然後可使用 IE 瀏覽器來檢視錄製的結果。
   
      下面圖示是該程式的執行畫面以及錄製結果的部分畫面:

[程式畫面]



[點選的地方會被 Highlight 起來]
   
[參考書籍]

  • 攻略一本通 Windows 7