Time of Update: 2014-04-05
我們在項目開發的時候可能會遇到安全退出應用的情境,如何能夠安全退出多個Activity?網上有很多方法,如下:1、拋異常退出該方法通過拋異常,使程式Force Close。驗證可以,但是,需要解決的問題是,如何使程式結束掉,而不彈出Force
Time of Update: 2014-04-05
假如要Google Play上做一個最失敗的案例,那最好的秘訣就是介面奇慢無比、耗電、耗記憶體。接下來就會得到使用者的消極評論,最後名聲也就臭了。即使你的應用設計精良、創意無限也沒用。耗電或者記憶體佔用等影響產品效率的每一個問題都會影響App的成功。這就是為什麼在開發中確保最佳化、運行流暢而且不會使Android系統出問題 是至關重要的了。這裡不需要討論高效編程,因為我們不會關心你寫的代碼是否能夠經得起測試。即使高效的代碼也是需要時間來運行。今天這篇文章我們就講講怎
Time of Update: 2014-04-04
當調用 RequestQueue的 add()方法添加 Request 的時候,會根據請求的一個參數 shouldCache,來判斷要不要去緩衝中查詢,如果是去緩衝中查詢,那麼就會把請求放到CacheQueue中,如下: mWaitingRequests.put(cacheKey, null); mCacheQueue.add(request);這個時候,線程CacheDispatcher其實已經在跑了,到它的run方法中來看一下:
Time of Update: 2014-04-04
要求點擊一個地址,直接調用百度地圖,將地址顯示到百度地圖上,參數只有一個地址,沒有對應的座標,這就想到了以前做的地圖是傳送一個座標,將該地址顯示到地圖上,就有了這樣的思路:怎麼將一個詳細地址轉換成座標,然後再傳送給百度地圖,但是這樣做好像是雖然能把詳細地址轉換成座標,但是這個是在顯示地址之後轉換的所以就出現了null
Time of Update: 2014-04-02
快速開關機時出現問題的時候,可以使用如下三種方法來抓取log:1、 抓取mobile log。由於有些IPO的問題是出現在sd card unmount之後,而原來手機預設的mobile log是存放在sd card上的,所以建議用GAT工具抓取mobile log,以保證關機流程的完整性。另外,抓取到log後,請check一下mobile log中是否存在xxx.ipo類似的檔案,例如main_log.ipo;並且保證內容不為空白後提交。 2、
Time of Update: 2014-04-02
分享以前調試alarm關機鬧鐘時,寫的關於alarm的總結; alarm上層調用包括RTC喚醒和鬧鐘,前者使用的更頻繁,介面一樣;上層應用頻繁調用rtc喚醒系統會增加功耗,所有有些廠家做了所謂的同步心跳技術來統一規劃RTC喚醒系統; alarm本質是底層起了timer,在系統未睡眠時當達到上層設定時間之後timer會trigger同時調用alarm的回呼函數來改變全域變數,從而使上層發起的ioctl ANDROID_ALARM_WAIT成功返回,要是未成功返回會一直不停ioctl
Time of Update: 2014-04-02
Android---如何提高模擬器的速度 做Android開發的程式猿們,很多人心中有一糾結:“Android模擬器怎麼這麼慢啊,用自己的愛機測試有點小小不舍”,Google推出的adt-bundle-windows-x86在省去了Android程式猿辛苦安裝adt外掛程式的時候還是沒有直接解決Android模擬器的速度上的劣勢,就在這一點上有點輸給了Mac上的ios,今天袁老師悄悄地來揭曉GoogleADT中的一個小秘密--如何提高模擬器的速度。
Time of Update: 2014-04-01
一、應用情境前段時間一位老友跟我提了一個附在邊上的功能表按鈕,這段時間比較忙,沒有完美實現,只做了個原型Demo出來,先發出來記錄一下,到有時間在最佳化這個View,如果有高手能修改最佳化分享出來的話,小弟在此謝過了。也趕在這個月底要出一個博文,不能荒廢了這個技能~_~。成功在于堅持!廢話又吹了半天,來看下需求原型圖。二、分析個人認為這種按鈕一般可以放兩個到四個選擇,應該是比較好的體驗,超出這個範圍的話,我覺得用這個方式就不行了。而且Android裡面的空間都是方形的,只是加了透明的背景讓我們看
Time of Update: 2014-03-30
我的機子很老,開啟個android模擬器都要好幾分鐘,但幸虧有個android的真機,這樣直接在andriod手機上調試也是一個不錯的選擇。下面我就介紹 一下使用android手機來調試android應用程式所需要的步驟:(典型的Hello World程式)1、手機通過資料線串連在電腦上2、設定android手機為USB偵錯模式。步驟: menu—> 設定 —> 應用程式 —> 開發 ,
Time of Update: 2014-03-30
本文來自http://blog.csdn.net/yihongyuelan 轉載請務必註明出處 本文代碼以MTK平台Android 4.4為分析對象,與Google原生AOSP有些許差異,請讀者知悉。前置文章:《Android 4.4 Kitkat Phone工作流程淺析(一)__概要和學習計劃》《Android 4.4 Kitkat Phone工作流程淺析(二)__UI結構分析》《Android 4.4 Kitkat Phone工作流程淺析(
Time of Update: 2014-03-27
如前文所示的TCP區域網路傳送東西,除了對傳輸層的TCP/UDP支援良好外,Android對HTTP(超文字傳輸通訊協定 (HTTP))也提供了很好的支援,這裡包括兩種介面:1、標準Java介面(java.net)
Time of Update: 2014-03-27
Service AIDL簡述Android系統中的進程之間不能共用記憶體,因此,需要提供一些機制在不同進程之間進行資料通訊。Android應用程式組件中的4個(Activity、Broadcast、 Service和Content Provider)都可以進行跨進程訪問,Service就是通過AIDL服務來完成不同進程之間的通訊。在AIDL服務中有兩種對象: 服務程式:給調用者提供服務.將自己的服務介面暴露在外,讓使用者通過這些介面來調用自己的方法.
Time of Update: 2014-03-26
(部分初稿)正在做一個android檔案管理工具,代碼基本完成,但由於一直以來面向過程開發的,到後期代碼量不斷增大,Bug頻繁出現,修改代碼變得非常繁瑣、困難。於是我想從需求分析開始重新對項目進行整合、編碼。算是第一次寫需求分析,必然會出現很多Bug,希望前輩們能給予一些建議,求大家給予修正或分享一些想法。檔案管理工具需求分析一、準系統。1、檔案操作:快捷目錄,首頁,收藏夾,多項選擇,檔案開啟(點擊檔案時啟動開啟檔案,不另設定按鈕),檔案隱藏,添加到案頭,建立,剪下,複製,粘貼,刪除,重新命名,
Time of Update: 2014-03-26
首先,引發這種問題的原因可能比較多,但多數情況下是SDK與ADT的版本不一致造成的。 學習Android開發之初,在Android Developers 上直接下載了ADT Bundle,其ADT版本為22.3,後來SDK自動更新到了22.6,但ADT沒有更新,所以就出現了以上的問題。
Time of Update: 2014-03-26
(原文連結:點擊開啟連結)幾天前,Google官博發布Android Wear的訊息給智能可穿戴市場引爆了一顆重磅炸彈。這個雄心勃勃的項目雖說現在還只能用在智能手錶上,但是Google的目的已經很明顯了,他們會針對性的專門最佳化這種Android版本,用到儘可能多的穿戴式裝置上。僅在發布當天的24小時之內,各方面關於Android Wear的討論、分析和預測就已經鋪天蓋地,可以預計,在未來幾天裡還會有更多滔滔不絕的討論。今天,我們拿到了目前的版本Android
Time of Update: 2014-03-26
ViewSwitcher常用於兩個視圖帶動畫效果的切換,如果試圖裡面只是圖片也可以使用ImageSwitcher,前面有介紹,本文類比手機上螢幕菜單,將應用分屏顯示和切換的功能,並實現滑屏動畫,部分內容來源網路,這裡將其完善和最佳化:SlideMenuActivity:package com.home.testviewswitcher;import java.util.ArrayList;import android.app.Activity;import
Time of Update: 2014-03-26
鬱悶了半天,今天發現一點擊手機 menu 鍵應用就崩潰了,記得之前都是好好的,調試了半天代碼還是搞不定,於是網上google了一番,發現僅國外有一兩篇文章有提到類似問題,據說是 0.5.2 版本的 BUG,目前尚未修複,只能手動修改項目根目錄下的 gradle.build 檔案中的 gradle 版本 dependencies { classpath 'com.android.tools.build:gradle:0.9.0' }原來是 0.9.+
Time of Update: 2014-03-26
本文均屬自己閱讀源碼的點滴總結,轉賬請註明出處謝謝。歡迎和大家交流。qq:1037701636 email:gzzaigcn2012@gmail.comAndroid源碼版本Version:4.2.2; 硬體平台 全志A31
Time of Update: 2014-03-25
前一段時間在做一個項目的時候遇到了一個關於BaseAdapter的notifyDataSetChanged()方法無效問題,當時在網上搜了一個解決方案,今天又遇到了一個類似的問題,我在這裡做個記錄,防止以後再次發生,或者其他朋友再次遇到。一、ScrollView中嵌套ListView或GridView原因:兩個的滾動監聽衝突解決方案:重寫ListView或GridViewpackage com.meritit.lottery.view;import
Time of Update: 2014-03-25
本篇的主題就是揭露CC_CALLBACK 與 std::bind之間不可告人的秘密......首先看一段代碼://先是建立3個精靈boy = Sprite::create("boy.png");//建立boyboy->setPosition(Point(visibleSize.width/2,visibleSize.height/2));this->addChild(boy,1);girl_1 =