搜尋此網誌

顯示具有 Eclipse 標籤的文章。 顯示所有文章
顯示具有 Eclipse 標籤的文章。 顯示所有文章

2015年7月5日 星期日

【Android Studio】快捷鍵(Hot Key) /快速設置為Eclipse的快捷鍵


  • 快捷鍵
    • Ctrl + Alt + Space  show template proposals





  • 還是不習慣AS的快捷鍵,直接將Android Studio的快捷鍵快速設置為Eclipse的快捷鍵。
    • File > Settings > 輸入 keymap > 在keymaps選項中,選擇Eclipse,即可。




  • 顯示行數(line number)
    • File > Settings > Editor > General > Appearance > Show line number打勾即可。

2015年5月31日 星期日

【Android】Hax kernel module is not installed

最近想改用Android Studio作為Android 的開發(之前使用Eclipse),可是要執行ADT時,卻出現Hax kernel module is not installed.的錯誤訊息,按字面翻譯應該就是Hax kernel module 沒有安裝。
經過辜狗後(使用intel cpu 才有支援此技術),其實疑難排解如下:

  • Intel CPU:先確認有支援Virtualization technology(虛擬化技術),可透過官網查詢。
  • BIOS設定:不知從哪一版CPU開始,Virtualization technology選項預設是關閉的,所以需要到BIOS把設定打開。
  • 下載HAX,有以下兩種方式:


但是實際測試,使用ADT沒有比使用Genymotion模擬器來的快。另外使用amd CPU的coder,因為amd沒有支援虛擬化技術,所以也可改用Genymotiony開發。

ref:https://www.youtube.com/watch?v=Ar9_FUFJhDU

2015年1月15日 星期四

【Android】java.lang.ClassCastException: android.widget.... cannot be cast to android.widget....

Solve method:

Eclipse tends to mess up your resources every now and then. This leads to some odd behavior such as strings and images being swapped all over your app, and more commonly classCastException(s), which happen when Eclipse switches your Views' ids around.
A few solutions to that problem:
Clean your project.
Modify an xml layout file and save.
Delete your R file. (Don't worry it will be automatically generated again).
Basically anything that makes your project rebuild and re-generate the R file.

ref:

2014年10月15日 星期三

2014年9月18日 星期四

【Android】解決"Your project contains errors,please fix them before running your application."

Window -> Show View -> Problems 點選後,看是哪發生Errors
結果:Error generating final archive: Debug Certificate expired on 2012/5/23 
此句話意思是無法產生.apk檔:Debug認證已經過期  距離上次摸android至今也有兩年了

所以解決辦法需要讓android sdk 重新生成debug.keystore
以下參考網址:
http://blog.sina.com.cn/s/blog_6d0021460100ysbd.html
http://q-and-g.blogspot.tw/2009/07/androidkeystore.html

- preference -> android -> build中可以找到舊的debug.keystore位置
- Windows -> Preferences -> Java -> Installed JREs 確認Jre Y 資料夾的location位置,找到bin -> keytools 
- 進入console mode ,在上述路徑下輸入
keytool -genkey -v keystore debug.keystore -alias developer.keystore -keyalg RSA -validity 20000
其中debug.keystore可自訂名稱。

keystore:名稱
alias:別名
keyalg:演算法
validity:有效天數

輸入後,會有一系列的問題,需要注意的是過程中會輸入兩種密碼,網路上書上都推薦怕記不住就用一樣。

【Android】Eclipse中,找不到android SDK and AVD Manager選項

在Window -> Customize Perspective -> Command Groups availability-> 把 Android SDK and AVD Manager 打勾 -> OK


【Eclipse】調校小心得

當第一次要執行 Android Simulator 時,總覺得模擬器開機到 Ready 都要很久,還會卡在開機字卡到不曉得是不是可以平安到達 Ready畫面的話,試試以下幾個設定:

1. for eclipse.ini (跟 eclipse.exe同一個資料夾內)

           修改以下內容 (黃色字體表示要新增, 綠色字體表示要修改數值)

                -XX:+UseParallelGC
                --launcher.XXMaxPermSize
                512M
                -vmargs
                -Dosgi.requiredJavaVersion=1.5
                -Xms128m
                -Xmx512m              
 1. for eclipse.ini (跟 eclipse.exe同一個資料夾內)

           修改以下內容 (黃色字體表示要新增, 綠色字體表示要修改數值)

                -XX:+UseParallelGC
                --launcher.XXMaxPermSize
                512M
                -vmargs
                -Dosgi.requiredJavaVersion=1.5
                -Xms128m
                -Xmx512m

 2. for eclipse 的優先權

           打開工作管理員視窗, 選擇[處理程式]頁
           找到 javaw.exe 與 eclipse.exe
           滑鼠右鍵 -> 設定優先順序 -> 設定為 在標準以上



        -----------  以下是補充說明  ------------

        測試環境是 筆電 I5-450 2G ram.

        假如 ram 更多, 應該可以把 (1) 裡的記憶體配量調更多一點,
        但要符合 Xmx 的數字不能超過 XXMaxPermSize
                 Xms 的數字是 Xmx 的四分之一  (我是翻文件得知的,沒實測)

        而優先權要設為 在標準以上 或 高, 有一部份要依現在開了哪些程式而定,
        資源給了 eclipse 而讓其他程式卡卡的話, 就調低一點或不調吧.

        另外, 假如是用筆電開發的話, 電源選項那邊也記得調到全速選項.

轉貼出處:http://www.ptt.cc/bbs/AndroidDev/M.1294919958.A.9F8.html

2014年9月17日 星期三

【Eclipse】解決Failed to create the Java Virtual Machine的問題

問題:
在使用Eclipse時,出現「Failed to create the Java Virtual Machine」的錯誤訊息,導致無法正常使用Eclipse。

解決辦法:
直接把「eclipse.ini」這個檔案刪除後,再啟動Eclipse即可。

2013年9月2日 星期一

【Eclipse】快捷鍵(Hot Key)



  • 快捷鍵:
    • F3  看class
    • Ctrl + L  移到指定行
    • Ctrl + F
    • Ctrl + H  File Search
    • Alt + /   show template proposals
    • Ctrl + /  註解
    • Ctrl + Shift + F  排版
      1. Window > Preference > Java > CodyStyle > Formatter
      2. 沿用舊Profile建立一個新的Profile,並且按下Edit。
      3. 切Line Wrapping頁面,把Maximum line width調整成適合的長度,就可以不面臨被斷行的程式碼。
    • Ctrl + Shift + O  載入切缺的import
    • Ctrl + 3  搜尋在分頁中的檔案
    • Ctrl + K 快速搜尋選取的字
    • Ctrl + Alt + H  顯示繼承架構
    • F11 快速執行(Debug模式)
      • F8  Resume
      • F5  Step into
      • F6  Step over
    • Alt + Shift + J 加入Java doc說明
    • Alt + Shift + R refactor (rename)
    • Ctrl + O 快速outline
    • Ctrl + E 快速轉換編輯器
    • Ctrl + M 當下編輯文件視窗最大化
    • Ctrl + Q 回到最後一次編輯的地方

  • 安裝Eclipse Plugin
    1. Help > Install New Software  (ex.中日文套件:properties Editor)
    2. Windows > Deferences > Install/Update > Available Software > Available Software Site
  • Auto Completion - 就像是c#中,隨便輸入任意字母,就會出現一個浮動的輔助小視窗,讓coder可以挑選函式、參數。可以eclipse預設下沒有這個功能,須透過設定...
    1. Window > Preference > Java > Editor > Content Assist
    2. 在triggers for Java欄位,預設是.,將此欄位改成.abcdefghijklmnopqrstuvwxyz ,> Apply。
      就類似Alt + /的功能,是不是很方便的說。

2013年8月17日 星期六

【Eclipse】properties檔顯示中文方法-propedit

【Java】外部設定檔的應用(java.util.Properties)這篇測試中遇到了properties在eclipse中,因為text editor預設的是unicode,所以沒辦法正確顯示中文,雖說對系統可以正確讀取,但對coder來說很不直觀。
所以要解決的是讓properties可以正確顯示中文,而不是些coder沒辦法解讀的unicode。

果然這個問題早就有人遇過了,所以開發了eclipse的外掛程式改善這個問題。



  1. Help > Install New Software... 
  2. 輸入http://propedit.sourceforge.jp/eclipse/updates/,如下圖所示,等pedding後,選取最新的版本安裝。
    過程中須接受一些協議,並告知此軟體有可能沒認證過,是否繼續(當然一堆人推薦,應該沒啥問題吧,笑),等安裝完畢後,需要重新啟動eclipse。
  3. 重啟後,即可正常使用。
此軟體日文也可正常顯示。

【Java】外部設定檔的應用(java.util.Properties)

在code的過程中,總會有部分設定,可以直接寫死在檔案中
但希望將來是可以直接透過外部修改某文字檔案內容
code在根據此文件修改,做出相對應的修改動作
而不用每次都透過更新程式碼部分變數(參數),就又要重新comple code
非常沒必要。


所以需要一個可以直接引用外部參數的方法。
而java.util.Properties剛好可以滿足我們需求
透過Properties可以產生key-value pair的.xml或者是.properties並讀取key對映到的value


  • 常見應用:

    • 連線IP位址
    • 某些路徑的設定
    • i18n多國語言(.properties)

    以下部分內容轉載自[1],原文太過冗長,螢光部分較須先了解,橘色部分額外添加

    import java.io.*;
    import java.util.Properties;

    private static Properties props = new Properties();

    //一個key對應一個value

    props.setProperty("key1", "value1");
    props.setProperty("key2", "中文測試");

    System.out.println("在console 印出props中所有的(key, value)配對");
    props.list(System.out);
    System.out.println();

    //重覆設定相同的key不同的value,則key對映之舊value會被新value覆蓋
    System.out.println("印出更改後所有的(key, value)配對");
    props.setProperty("key1", "更改value1");
    props.list(System.out);
    System.out.println();

    try {
        // 輸出props中所有的(key, value)配對到xml(storeToXML)及txt(store)
        // 輸出後Stream不會自動關閉必須手動關閉,否則有可能出錯(不是在()中使用new時)
        // storeToXML(OutputStream os, Stirng comment, String encode)
        // storeToXML(OutputStream os, Stirng comment) encode預設使用 UTF-8
           props.storeToXML(new FileOutputStream("properties.xml"), "storeToXML");
           props.store(new FileOutputStream("properties.properties"), "store");
        } catch (FileNotFoundException e) {
           e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        }

    props.clear();

    try {
        // props.getProperty(key)讀出(key, value)配對
        // props.getProperty(String key, String defaultWhenNotFound)
        // props.getProperty(String key) throws exception when not found
           System.out.println("props.getProperty(key)讀出(key, value)配對");
       
    // default value test
           props.load(new FileInputStream("properties.properties"));
           System.out.println(props.getProperty("key", "test"));   

           System.out.println(props.getProperty("key1"));
           props.clear();
           System.out.println();
        } catch (FileNotFoundException e) {
           e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        }

    try {
        // 印出從 properties.xml 讀出的所有(key, value)配對
           System.out.println("印出properties.xml讀出的所有(key, value)配對");
           props.loadFromXML(new FileInputStream("properties.xml"));
           props.setProperty("key3", "new value");
           props.list(System.out);

        // 將新配對寫回 properties.xml,串流沒出錯
           props.storeToXML(new FileOutputStream("properties.xml"), "storeToXML");
        } catch (FileNotFoundException e) {
           e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        }

    }
    ----------------------------------------------------------
    輸出結果:
    在console 印出props中所有的(key, value)配對
     -- listing properties --
     key2=中文測試
     key1=value1

     印出更改後所有的(key, value)配對
     -- listing properties --
     key2=中文測試
     key1=更改value1

     props.getProperty(key)讀出(key, value)配對
     test
     更改value1

     印出properties.xml讀出的所有(key, value)配對
     -- listing properties --
     key3=new value
     key2=中文測試
     key1=更改value1
    ----------------------------------------------------------
    產生的 properties.properties內容:
    #store
    #Sat Aug 17 15:39:54 CST 2013
    key2=\u4E2D\u6587\u6E2C\u8A66
    key1=\u66F4\u6539value1
    使用 store 所產生的文件並不直接支援中文,所以建議使用 storeToXML

    假如為了要看的見中文而使用xml會使得檔案的字元數變得更多,讓檔案size變得更大。不是一個好的建議方法。而是依照使用需求再做決定xml還是properties。

    ----------------------------------------------------------
    產生的 properties.xml內容:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
    <properties>
    <comment>storeToXML</comment>
    <entry key="key3">new value</entry>
    <entry key="key2">中文測試</entry>
    <entry key="key1">更改value1</entry>
    </properties>


    在Eclipse讀取properties檔案下,預設的text editor會把中文顯示成Unicode的編碼方式,實際上系統讀進來的字還是對的。所以解決的點應該是讓properties可以顯示中文。 解決方法