2013年4月29日 星期一

[Android]Google I/O Memory Leak 筆記 2 - Tools


此篇為 Google I/O Memory Leak 筆記 1 - 觀念 的續篇

HighLight
1. 初步的的 Memory Leak 偵測是看你的 LogCat
紅色圈起來的地方是 System Alive Object , 看起來隨著時間不斷的加大, 並且沒有減少的跡象, 因此判定有 Memory Leak

2. 所以就要把 Memory Heap dump 下來使用 Eclipse Memory Analyzer Tool (MAT) 進行下一步分析。
     到 DMMS 中 進行 Dump 。 (參考下圖 的icon)
 

2013年4月27日 星期六

[Android] Google I/O Memory Leak 筆記 1 - 觀念

從 C/C++ 到 Android/Java Destructor 不見了! 但是對 Memory Leak 的擔憂並沒有消失, 反而是為 Android 時不時的 GC 而擔憂。 找了下面這 Google I/O Memory Leak 的演講, 看完可以建立很不錯的觀念。


Google I/O 2011: Memory management for Android Apps





===================================================
From Below My Own Notes
===================================================

2013年4月26日 星期五

[Android] Android Installation

紀錄一下 Android 的安裝, 讓以後重灌時更方便

1. 主要程式的下載
    1.1  Java
            http://www.oracle.com/technetwork/java/javase/downloads/index.html
    1.2. Eclipse
           http://www.eclipse.org/downloads/
           很多的次版本 , Android developer site 是連結到  Eclipse for Mobile Developer
           安裝完畢會問你的 workspace。 看你的 projects 要放哪裡, 就給個 directory
    1.3 Eclipse Android ADT
           http://developer.android.com/sdk/installing/installing-adt.html#Download
           安裝方法, 到 Help -> Install New Software -> 將下列網址輸入, eclipse 自動會抓取
           http://adt-addons.googlecode.com/svn/trunk/installer/com.android.ide.eclipse.installer.update/


2013年4月13日 星期六

[Android] TableLayout 的使用法

目前最喜歡用 TableLayout, 不過, 直覺使用時有些並不符合我的期待, 因此研究一下這個Layout 使用法。 分為兩部份, 第一部份是 Android Reference 裡的內容, 第二部份是 Api Demo 裡的實作。

Android Reference :  TableLayout

HightLight Principles

1 .  Table 有 row & column 。  column 可以 Span (像 HTML  )
2.  Column 寬度的定義是 - 所有 row 裡有著最寬的cell的那個column 的寬度。
3. Table 總寬度就是他的 container 的寬度, Table 的 children 寬度必須是MATCH_PARENT, 但高度可以是其它, 像 TableRow default 就是 WRAP_CONTENT

4.  TableLayout 可以設定特定 Column 是 shrinkable 與stretchable (兩者可同時存在)
5.  Shrinkable 就是說 column width 可以減縮到讓 table 放在他的 parent object 裡 (感覺好偉大 www)
6. Stretchable  就是說  column 可以延展自己的寬度把空白填滿
7. 如果要隱藏column 用 Collapse
8. Column - number ,  Cell ( ie. view object)  可以設定 column-number 如果不自訂的化系統會幫忙定   以 increase +1 的方法. Column number 是從 0 開始的
9. 如果你的view object 不放在 Table row 裡, layout會把這個 view 當作一個 row 來看 (span all columns)


ApiDemo 解析 : 


Api TableLayout Demo 06. More spanning and stretchable (學習  Column Number / Stretch  )


[Android] Weibo Share via sso 微博分享 sso 方法


SSO 說明參考 官方文件
移动应用SSO授权

這是 微博分享的番外篇 呀!

簡單的來說, 如果使用者的手機有安裝 Weibo  客戶端, 那麼要分享的 App 就可以直接調用這個 weibo APP 來進行分享.

微博分享的番外篇  提到怎樣使用weibo sdk 進行 OAuth2.0 授權已及怎樣調用 api 分享文件。 現在要這基礎上, 加上透過 sso 的方式獲取授權

1. Import SSO packages 

SSO 的 package 有兩個 1. com.sina.sso 2 com.weibo.skd.android.sso  import 到 ShareWeibo(My own App)

2. 在 Program 中呼叫使用 SsoHandler 來進行 sso 授權

直接調用 ssoHandler 的 authorize 就好!  如果APP 有支援 3.0 以上的微博版本, 就會透過 sso 來授權, 要不然 SsoHandler 就會直接呼叫 Weibo.java 作OAuth2.0 授權。 User 並不用再寫一個判斷了

  mSsoHandler = new SsoHandler(ShareActivity.this, m_weibo);
  mSsoHandler.authorize(new WeiboAuthDialog(ShareActivity.this));

       (OAuth2.0 授權是  m_weibo.authorize(this, new WeiboAuthDialog(this));)


2013年4月7日 星期日

[Android] Menu icon 製作

Android Menu icon 製作規則整理 

整理  Icon Design Guidelines

Highlight : 

1. Greyscales and flat-front  and PNG format

2. 版本 variant 

2.1 Android 3.0 以後要參考 Action Bar Icons 因為3.0 以後Action Bar取代了Menu
   2.1.1 PNG transparent no background 
   2.1.2 Size
          xhdpi 48x48  hdpi 36x36           mdpi 24x24           ldpi  18x18
   2.1.3 For 2 android theme
   2.1.3.1  Holo Light
   Color Fill :  #333333, 60% opacity
   Inner Content : Inner content should subtract from the outer shape and consist purely of transparent pixels.