Time of Update: 2018-12-03
1.資來源物件沒關閉造成的記憶體流失描述:資源性對象比如(Cursor,File檔案等)往往都用了一些緩衝,我們在不使用的時候,應該及時關閉它們,以便它們的緩衝及時回收記憶體。它們的緩衝不僅存在於java虛擬機器內,還存在於java虛擬機器外。如果我們僅僅是把它的引用設定為null,而不關閉它們,往往會造成記憶體流失。因為有些資源性對象,比如SQLiteCursor(在解構函式finalize(),如果我們沒有關閉它,它自己會調close()關閉),如果我們沒有關閉它,系統在回收它時也會關閉它,
Time of Update: 2018-12-03
介紹一下常見的幾種:HVGA(Half-size VGA) 即VGA(640*480)的一半,解析度為(480*320),(3:2寬高比)。QVGA 即"QuarterVGA"。顧名思義即VGA的四分之一尺寸,亦即在液晶螢幕(LCD)上輸出的解析度是240×320像素。WQVGA 全稱 : Wide Quarter Video Graphics Array
Time of Update: 2018-12-03
1.從google搜尋內容Intent intent = new Intent();intent.setAction(Intent.ACTION_WEB_SEARCH);intent.putExtra(SearchManager.QUERY,"searchString")startActivity(intent);2.瀏覽網頁Uri uri = Uri.parse("http://www.google.com");Intent it = new
Time of Update: 2018-12-03
在Android中對Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。簡單介紹一下:大致可以分為四個主要的類ScanResult,wifiConfiguration,WifiInfo,WifiManager(1)ScanResult,主要是通過wifi 硬體的掃描來擷取一些周邊的wifi 熱點的資訊。(2)wifiConfiguration 在我們連通一個wifi
Time of Update: 2018-12-03
其實這篇文章有點標題黨,代碼沒有幾行,真不好意思,但是確實給出瞭解決方案,這個我覺得還是很重要的,代碼寫了幾年之後其實比較注重的就是思路跟方法了。背景:手機用戶端有這麼一個需求,使用者忘記密碼了,然後輸入自己的手機號碼,點擊找回密碼,系統會把密碼發到他手機上,實現密碼找回功能。這個我相信非常常見。我們這邊採用的是跟第三方簡訊平台進行合作,叫億美軟通,官網是:http://www.emay.cn/,基本是7分錢一條簡訊,如果你儲值更多,可能更優惠。下面我真不好意思了,發簡訊就幾句話:引入他們提供的
Time of Update: 2018-12-03
在啟動另外一個Activity的時候,有兩種方法,一種是直接使用startActivity,另外一種就是使用startActivityForResult。前一種想必大家都明白怎麼使用了,我就不廢話了。本文主要通過一個Demo來學習一下第二種。startActivityForResult的主要作用就是它可以回傳資料,假設我們有兩個頁面,首先進入第一個頁面,裡面有一個按鈕,用於進入下一個頁面,當進入下一個頁面時,進行設定作業,並在其finish()動作或者back動作後,將設定的值回傳給第一個頁面,
Time of Update: 2018-12-03
Eclipse的ADT外掛程式更新到最新的16.0以後,發現在Eclipse功能欄裡多了一個紅色對號的表徵圖,:簡單實用了一下之後,發現這個工具實在是太強大啦。它能夠對你的Android項目進行全面分析,然後會給你一個診斷結果。告訴你的工程裡有哪些不太妥當的地方,例如:1,項目中有哪些資源檔引入了卻沒有在代碼中使用的話,會給提示。既包括圖片資源、layout檔案,也有定義的String常量和Color常量等。2,layout檔案中編寫不規範的地方,會給出提示。例如考慮到國際化,如果直接在xml中
Time of Update: 2018-12-03
之前有一篇文章已經簡單的講過Wifi的基本知識,請見Android之Wifi學習(1)。本文主要在此基礎上,進一步完善程式功能,主要功能有開啟無線網卡、關閉無線網卡、檢查網卡狀態、掃描網路、掃描結果、串連Wifi、斷開Wifi、Wifi串連狀態。運行如下:其中串連Wifi是比較讓我頭疼的。需要在程式中進行串連,這會有兩種情況。第一,Wifi沒有密碼,可以直接連接;第二,Wifi有密碼,在程式中給出密碼,然後串連。第一種我查閱相關資料好像確實是可以實現的,第二種我沒找到,我自己也不知道該怎麼去搞。
Time of Update: 2018-12-03
對於一些大型Android項目或遊戲來說在演算法處理上沒有問題外,影響效能瓶頸的主要是Android自己記憶體管理機制問題,目前手機廠商對RAM都比較吝嗇,對於軟體的流暢性來說RAM對效能的影響十分敏感,我們可以強制定義自己軟體的堆記憶體大小,可以使用Dalvik提供的dalvik.system.VMRuntime類來設定最小堆記憶體:private final static int HEAP_SIZE = 6* 1024* 1024 ;//設定最小VMRuntime.getRuntime().
Time of Update: 2018-12-03
在開發Android和iPhone應用程式時,我們往往需要從伺服器不定的向手機用戶端即時推送各種通知訊息,iPhone上已經有了比較簡單的和完美的推播通知解決方案,可是Android平台上實現起來卻相對比較麻煩,最近利用幾天的時間對Android的推播通知服務進行初步的研究。在Android手機平台上,Google提供了C2DM(Cloudto Device Messaging)服務,起初我就是準備採用這個服務來實現自己手機上的推送功能。Android Cloud to Device
Time of Update: 2018-12-03
最近項目中要實現這個功能,在後台傳送簡訊,我承認這個功能使用者無法感知,是一個不好的東東,但是如果加上介面上的提示的話,也還是可行的。發簡訊有兩種方法,第一種很簡單,就是使用intent跳轉到系統內建發簡訊的介面,然後由使用者點擊Send。第二種方法就是本文所說的,其實很簡單,使用SmsManager這個類就可以簡單實現,直接上代碼吧,我想你可以看懂^_^package org.sunchao;import android.app.Activity;import
Time of Update: 2018-12-03
從這一節我們將正式進入Android編程世界,希望大家多多給我留言以及提些建議.首先我們開啟Eclipse選擇左上方的菜單[File->New->Project->Android Project]雙擊後會出現建立Android工程對話方塊,如所示:如果你不知道為什麼這麼填的話,就先模仿我這樣寫,具體會在以後章節中提及,建完工程後,我們會發現HelloAndroid有第四節講的目錄結構如:我們不在程式裡改動一個代碼,運行這個程式看最後會是什麼樣的結果呢?,首先右擊選擇[Run
Time of Update: 2018-12-03
學習一段時間以後如果想測試一下對Android的掌握程度,一個比較好的方式就是去找點考試題做做。昨天無意中看到移動MM有一個線上考試,60分鐘40道題。我就去試了試,Android的考了90分,當然你也可以再考一個Ophone的或者其他平台的。他們的認證雖然簡陋了些,不過看這還不錯,如果你想弄一個的話可以訪問:http://dev.10086.cn 的MM學院,註冊個使用者就可以參加考試了,祝你考試愉快^_^遺憾的是現在只有初級跟中級認證,等進階認證出來以後我會再考一下。
Time of Update: 2018-12-03
至少在T-Mobile
Time of Update: 2018-12-03
本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處! 上一篇簡單介紹了SurfaceView的基本使用,這次就介紹SurfaceView與多線程的混搭。SurfaceView與多線程混搭,是為了防止動畫閃爍而實現的一種多線程應用。android的多線程用法與JAVA的多線程用法完全一樣,本文不做多線程方面的介紹了。直接講解SurfaceView與多線程的混合使用,即開一條線程專門讀取圖片,另外一條線程專門繪圖。 本文程式運行如下,
Time of Update: 2018-12-03
本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處! 介紹過AlertDialog之後,接下來就介紹一下PopupWindow這種對話方塊。PopupWindow是阻塞對話方塊,只有在外部線程 或者 PopupWindow本身做退出操作才行。PopupWindow完全依賴Layout做外觀,在常見的開發中,PopupWindow應該會與AlertDialog常混用。
Time of Update: 2018-12-03
本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處! 時隔一年,又要準備做Android的開發了,最近複習和整理一下Android的知識。這次要說的是AlertDialog,這種對話方塊會經常遇到。AlertDialog跟WIN32開發中的Dialog不一樣,AlertDialog是非阻塞的,而阻塞的對話方塊用的是PopupWindow。 先貼出程式啟動並執行:main.xml的源碼:<?xml version="1.0"
Time of Update: 2018-12-03
想必 99% 的程式都有一個 "About" 吧?這裡一般都會寫上程式名稱和版本號碼。要知道,AndroidManifest.xml 中也有版本號碼(Version Name),同樣的資訊在兩個地方出現,就引出了一個問題:如何在後續升級時保證二者同步? 我首先想到的方法就是在 res/values/strings.xml 中定義一個 entry,比如 <string
Time of Update: 2018-12-03
本文來自http://blog.csdn.net/hellogv/ ,引用必須註明出處! Android有三個基礎組件Activity,Service和BroadcastReceiver,他們都是依賴Intent來啟動。本文介紹的是Activity的生命週期以及針對Activity的Intent使用。 之前的例子一直都是使用Activity,在一個Layout XML與一個Activity捆綁的情況下可以視為一個Form,多個Layout
Time of Update: 2018-12-03
一位擁有 @android.com 帳號的開發人員說: “檔案上傳”是 Android 版 Chrome 在早期發行版中缺少的眾多瀏覽器特性之一。正是因為大家對這個“開源 BUG”的呼聲如此之高,我們為這個 BUG 分配了一個高優先順序。更重要的是我們已經搞定它了,很快就會開始部署。 這位開發人員就是該 BUG 的負責人(Owner)。 各位苦苦等待的 Android 粉絲可以小小地歡呼一下啦。 但是,我總覺得事情的真相沒有這麼簡單。這個 BUG 從 2009 年 4