原创 ArrayAdapter和自己創建BaseAdapter用於ListView的示例

ArrayAdapter非常簡單,但是用於ListView的時候限制太多,一般只用於顯示單行的文本。 最常見的是ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, a

原创 非UI thread更新UI的方式

Android的UI thread並非線程安全,因此所有UI的操作必須在UI thread完成。 主要方法有: 1,使用AsyncTask, AsyncTask中的onXxxxx callback都在UI thread中執行, 後臺任務在

原创 我是不是該換個工作

我是不是該換個工作 移動互聯網從公司層面大概可以分爲三大層:網絡層,終端層,應用層 網絡層是是指3G,4G,WiFi之類的,多以通信設備製造商爲主,感覺是夕陽產業而且我也沒有興趣。 終端層指的是手機或者平板電腦相關的公司,有技術含量的是芯

原创 感悟和讀書筆記20131110

中國的移動互聯網最初的商業模式是從日本學來的,也就是移動夢網。 中移動的移動夢網就像一個超市,各個ISP(internet service provider)就像是商家,負責給超市供貨。 在這個超市裏面用戶可以下載壁紙,手機鈴聲等等,靠流

原创 android中share文件

例如app1請求app2的文件, 1,app1發intent啓動app2的一個activity顯示文件列表 2,user選擇一個文件 3,app2的activity返回文件的uri給app1 (本節主要面向app2怎麼實現,也就是提供服

原创 發送數據給其他activity

ACTION_SEND:沒有指名送給誰,一般用Intent.chooser把它包起來,這樣會詢問user到底發給誰。 ACTION_SENDTO:在data的uri中指明瞭發給誰。 他們都可以putExtra(k,v);這個k必須是對方能

原创 BB和modem

我本碩一直是計算機專業搞軟件的,剛入職的時候分不清BB和modem,總看有人在論壇上說AP+BB,有的時候又說AP+modem。 AP很清楚就是應用處理器,modem也很清楚就是調制解調器,但是BB基帶對我來說真挺陌生的。 其實基帶中就包

原创 感悟和讀書筆記20131109

1,移動互聯網真正要想普及那麼無線網絡最好滿足三個條件:速度快,覆蓋範圍廣,資費低。 從目前北京的情況看這幾個條件都很一般:速度一般,覆蓋範圍在城區還有斷檔,資費貴。 3G網絡無論是TD、WCDMA還是CDMA2000都只能滿足刷刷微博,

原创 Android Support Library

Android support library是google以jar包形式提供的一個代碼庫,裏面包含一些向後兼容的framework API以及一些只有在這個library中才提供的feature。 support library的jar

原创 sharedUserId

如果兩個apk在manifest中聲明相同的sharedUserId,那麼就可以配置成運行在同一進程中(當然也可以運行在不同進程中),這樣就可以互相讀取對方的文件。 系統中定義好的sharedUserId有:“android.uid.sy

原创 達爾文《物種起源》

最近稍微瞭解了一下達爾文,瞭解到在物種的演變過程中除了自然的選擇之外還有一種選擇是性選擇,雌性動物的態度也可以決定一些生物的很多性狀,比如孔雀的長尾,它其實不利於孔雀的捕食或者躲避天敵,但是卻一直保留了下來就是這個原因。可能曾經有一種雄孔

原创 讀書筆記

1.  Getting Started 1.1  Building YourFirst App 1.1.1  Createing anAndroid Project 1.1.2  Running YourApp 1.1.3  Buil

原创 Performance——layout相關

1,layout層級不要嵌套太深,嵌套層級深了加上使用layout_weight會顯著降低performance,主要是影響measure時間 2,複用layout可以使用 <include layout="@layout/xxxx"  

原创 如何讓手機保持喚醒狀態

手機的正常行爲是閒置一段時間後屏幕變暗,然後熄滅,然後CPU關閉。 有些場景需要改變這種行爲,例如播放視頻時希望屏幕不要熄滅; 正在進行一些後臺操作比如下載東西的時候希望CPU不要停止; 保持屏幕點亮: 在activity中執行如下co

原创 Synchronized和ReentrantLock

import java.util.LinkedList; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLo