Social Icons

2013年4月30日 星期二

今天我學到 - 在模擬器裡面測試Google map api V2

Google推出map api V2一段時間了,最近想要把程式中的Google map改成v2的,但是發現新的Api在模擬器是無法顯示出來的,會出現下面訊息:


2013年4月29日 星期一

今天我學到 - PagerAdapter (ViewPager) throwing IndexOutOfBounds exception

今天在重新組織一段程式碼的時候,程式一直發生當機的情形,看了一下 called stack,發現程式中使用了ViewPager,其中PagerAdapter的instantiateItem函數裡的((ViewPager)collection).addView會讓程式當掉,丟出IndexOutOfBounds的例外,查了一下發現不能像下面這樣使用:

  public Object 
  instantiateItem(View collection, int position) 
  {
                        ...
   ((ViewPager)collection).addView(view, position);
   return view;
  }

2013年4月26日 星期五

今天我學到 - 在Eclipse設定NDK編譯的環境

負責的計劃中,需要使用到c/c++的程式碼,但是在Eclipse中如果要讓Android project在編譯時可以同時將c/c++的程式碼一起編譯需要做一些設定才行。
下面就是學到的設定方法:

步驟一:將Android計劃Convert成C/C++的計劃。
您可能會擔心轉換成C/C++計劃會不會原本Android計劃就被改變了。。。。答案是不會!:p
 
(File -> New -> Other...)

2013年2月17日 星期日

讓剪貼簿Clipboard相容於2.x

在寫程式的時候,會需要將文字資料複製到剪貼簿的時候,不同Android版本會產生問題。
原因就是Honeycomb(v3.0)之後,Android使用了新的剪貼簿,所以在程式裡要判斷新舊方法的使用時機,程式片段如下:
        int currentapiVersion = android.os.Build.VERSION.SDK_INT;
     if (currentapiVersion >= android.os.Build.VERSION_CODES.HONEYCOMB){
          android.content.ClipboardManager clipboard =  (android.content.ClipboardManager) getSystemService(CLIPBOARD_SERVICE); 
             ClipData clip = ClipData.newPlainText("Marathon's world", subject);
             clipboard.setPrimaryClip(clip); 
     } 
     else{
         android.text.ClipboardManager clipboard = (android.text.ClipboardManager)getSystemService(CLIPBOARD_SERVICE); 
         clipboard.setText(subject);
     }

2013年2月16日 星期六

啟動螢幕Splash Screen的設計

啟動螢幕Splash Screen常常用在程式一開始的時候,特別是用來顯示公司的logo。 這邊要介紹實作splash screen的兩種方式,第一種是利用兩個不同的xml layout檔案,第二種是寫在同一個xml layout檔案中。