原创 讓自己的Android應用支持appwidget

        經常看到一些教程教你如何寫appwidget,但是,你知道你的appwidget是如何被添加到桌面上的嗎?         一般的,如果是做桌面的童鞋,基本上都會讓自己的桌面支持appwidget。下面說說如何實現。  

原创 Android獲取其他包的Context實例然後幹壞事

      Android中有Context的概念,想必大家都知道。Context可以做很多事情,打開activity、發送廣播、打開本包下文件夾和數據庫、獲取classLoader、獲取資源等等。如果我們得到了一個包的Context對象

原创 解決Android的ListView控件滾動時背景變黑

      如果大家在非黑色背景下使用ListView控件時,Android默認可能在滾動ListView時這個列表控件的背景突然變成黑色。這樣可能導致程序的黑色的背景和主程序的主題既不協調。解決的方法Google在設計Android時也

原创 當今世界最爲經典的十大算法

本文轉載自July CSDN博客:http://blog.csdn.net/v_JULY_v/archive/2011/03/07/6228235.aspx   第一部分、來自聖經的十大算法     當今世界,已經被發現或創造的經典

原创 應用程序動態全屏和退出全屏

      讓程序全屏的方法,大家都知道,那是靜態的,程序運行之初就申明瞭。但是如果有這樣的需求:要在程序運行的過程中,執行了某個操作而使之全屏,然後還需要退出全屏,怎麼做?     如下: WindowManager.LayoutPa

原创 Android簡單的圓盤形菜單

      今天偶然看到一個圓盤形的菜單,還可以轉動,感覺挺有意思,然後想了想,做了個簡單的效果。       思路是這樣的,定一個原點和一個半徑,圓的四周均勻分佈每個菜單。爲了方便計算,菜單的座標用度數表示,然後轉化爲極座標計算。   

原创 Android放大鏡的實現

    快三個月了沒寫博客了,因爲工作調動,很多經驗、心得都沒有時間記錄下來。現在時間稍微充裕了點,我會盡量抽時間將之前想寫而沒寫的東西補上。進入正題。     去年某個時候,我偶然看到一篇文章,講android裏面放大鏡的實現。文章很亂

原创 兩個最容易被人忽略的基本代碼優化技術

      本文轉載自http://sd.csdn.net/a/20100921/279732.html   Dr. Dobb’s Blogger 的Walter Bright曾寫了一篇博文《 Overlooked Essential

原创 自定義對象需要重寫hashcode

      Java中的很多對象都override了equals方法,都知道,這是爲了能比較兩個對象是否相等而定義,如果不需要比較,則不需要定義equals方法。比如StringBuffer類,沒有提供equals方法,則說明沒有兩個St

原创 Android畫圖之抗鋸齒

    在畫圖的時候,圖片如果旋轉或縮放之後,總是會出現那些華麗的鋸齒。其實Android自帶了解決方式。     方法一:給Paint加上抗鋸齒標誌。然後將Paint對象作爲參數傳給canvas的繪製方法。 paint.setAnti

原创 ConditionVariable的用法

      線程操作經常用到wait和notify,用起來稍顯繁瑣,而Android給我們封裝好了一個ConditionVariable類,用於線程同步。提供了三個方法block()、open()、close()。 void bloc

原创 快速排序爲什麼那樣快

本文轉載自 http://www.kuqin.com/algorithm/20080615/9581.html 摘要   排序的本質可以這樣來表述:一組未排序的N個數字,它們一共有N!種重排,其中只有一種排列是滿足題意的 (

原创 爲什麼人生氣時說話用喊的

      爲什麼人生氣時說話用喊的?       有一天一個有智慧的教授問他的學生:“爲什麼人生氣時說話用喊的?” 所有的學生都想了很久,其中有一個學生說:“因爲我們喪失了冷靜,所以我們會用喊的。” “但是爲什麼別人就在你旁邊而已

原创 給Android程序簽署platform權限的名

    做Home程序的時候,由於需要提供時間日期的設置功能,所以需要修改系統時間。修改時間的代碼很簡單,就那麼一句,但是要讓它生效可就不那麼容易了。     修改系統時間的條件是,你的程序的user id必須跟system一樣,也就是說

原创 Android自定義長按事件

    Android系統自帶了長按事件,setOnLongClickListener即可監聽。但是有時候,你不希望用系統的長按事件,比如當希望長按的時間更長一點的時候。這時候就需要自己來定義這個長按事件了。     下面是去年我寫代碼的