Time of Update: 2016-01-09
標籤:英文原文:Resources every Android developer must know隨著 Android 平台持續驚人的增長,越來越多的開發人員開始工作於 Android 應用程式。而且現在的 Android 平台已經非常成熟了。這篇文章比較適合於初學者和有一定經驗的 Android 開發人員,文中羅列了最棒的資源。書也許你會認為從書中去學習新的開發架構會有點落伍,但這也確實是一條正確的道路。參見 Jeff Atwood 的《Programmers Don’t
Time of Update: 2016-01-09
標籤: 在我們閱讀boot loader代碼時,遇到了兩個非常重要的概念,實模式(real mode)和保護模式(protected mode)。 首先我們要知道這兩種模式都是CPU的工作模式,實模式是早期CPU啟動並執行工作模式,而保護模式則是現代CPU啟動並執行模式。 但是為什麼現代CPU在運行boot loader時仍舊要先進入實模式呢?就是為了實現軟體的向後相容性不得已才這樣的。 下面我們分別看下這兩種工作模式的基本原理。實模式(real
Time of Update: 2016-01-09
標籤:Native App與Web App的自動化測試方法Android自動化測試常用工具介紹 RobotiumAndroid的Instrumentation機制Robotium環境搭建及基本使用方法Robotium基本API的使用基於Robotium搭建測試架構 UIAutomatorUIAutomator架構與原理介紹UIAutomator環境搭建及基本使用方法UIAutomator基本API的使用(案例演練) UiDevice
Time of Update: 2016-01-09
標籤:行動裝置 App在處理網路資源時,一般都會做離線緩衝處理,其中以圖片緩衝最為典型,其中很流行的離線緩衝架構為SDWebImage。但是,離線緩衝會佔用手機儲存空間,所以緩衝清理功能基本成為資訊、購物、閱讀類app的標配功能。今天介紹的離線緩衝功能的實現,主要分為快取檔案大小的擷取、刪除快取檔案的實現。擷取快取檔案的大小由於快取檔案存在沙箱中,我們可以通過NSFileManager API來實現對快取檔案大小的計算。計算單個檔案大小 +(float)fileSizeAtPath:(
Time of Update: 2016-01-09
標籤:HTTP Live Streaming直播(iOS直播)技術分析與實現 不經意間發現,大半年沒寫部落格了,自覺汗顏。實則2012後半年,家中的事一樣接著一樣發生,實在是沒有時間。快過年了,總算忙裡偷閒,把最近的一些技術成果,總結成了文章,與大家分享。 前些日子,也是項目需要,花了一些時間研究了HTTP Live
Time of Update: 2016-01-08
標籤:前言:剛開始學習android(堅持每天1篇筆記哈^_^),比較實用的命令是adb,所以就先學習這些,主要用真機調試,模擬器用的是genymotion,所以emulator暫時不大需要哈,可以後續再補1.查看模擬器/串連裝置:預設情況下,所有adb用戶端使用5037連接埠號碼與adb服務進行通訊。每個模擬器/裝置執行個體需要一對連續的連接埠:偶數連接埠用於控制台串連,奇數連接埠用於adb串連。(adb有時候不能啟來,需要查看下連接埠號碼是否被佔用:netstat -aon |
Time of Update: 2016-01-10
標籤:今天更新sdk,遇到了更新下載失敗問題: Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xmlFetched Add-ons List successfullyFetching URL: https://dl-ssl.google.com/android/repository/repository-8.xmlDone loading packages.Fetching https://dl-
Time of Update: 2016-01-08
標籤: android修複了添加賬戶代碼中的2處bug,retme取了很酷炫的名字launchAnyWhere、broadAnywhere(參考資料1、2)。本文順著前輩的思路學習bug的原理和利用思路。 我們先看下源碼裡setting中添加賬戶的代碼,來理解bug產生的原理。 /packages/apps/Settings/src/com/android/settings/accounts/AddAccountSettings.java下oncreate: public
Time of Update: 2016-01-07
標籤: Android單執行緒模式是這樣描述的:Android UI操作並不是安全執行緒的,並且這些操作必須在UI線程執行 如果在其它線程訪問UI線程,Android提供了以下的方式:Activity.runOnUiThread(Runnable)View.post(Runnable)View.postDelayed(Runnable,
Time of Update: 2016-01-09
標籤:項目地址:https://github.com/JoanZapata/base-adapter-helper1. 功能介紹1.1. base-adapter-helperbase-adapter-helper 是對傳統的 BaseAdapter ViewHolder 模式的一個封裝。主要功能就是簡化我們書寫 AbsListView 的 Adapter 的代碼,如 ListView,GridView。1.2 基本使用mListView.setAdapter(mAdapter = new
Time of Update: 2016-01-07
標籤:很多朋友在開發Android JNI的的時候,會遇到findlibrary returned null的錯誤,因為某種原因,so沒有打包到apk中。下面淺析下引起該錯誤的原因以及平台相容性問題。一、沒有將so打包到apk中的原因。當你發現到findlibrary returned
Time of Update: 2016-01-07
標籤: http://www.cnblogs.com/hyzhou/archive/2012/12/10/2810861.html 看到一篇文章,感覺博主寫的這個比喻特別形象。 協議相當於一份任務表,有必須完成的任務,也有可選完成的任務。委託相當於實踐任務表的個體。 之前想過為什麼必須用委託,傳值的方式有全域變數,公開類屬性等方式,可能委託的優勢就在於可以在調用委託的同時處理資料,更新ui。 就能想到這個,算是會用了,但意義還是不明朗,有懂的前輩還望指教一二。對iOS中協議和委託的理解
Time of Update: 2016-01-05
標籤: MTK+Android開發(66) Ubuntu 12.04搭建 MTK 6577安卓開發環境1. 下載並安裝Vmware虛擬機器;2. 下載並在虛擬機器上安裝Ubuntu 12.04 iso 安裝包:: http://releases.ubuntu.
Time of Update: 2016-01-06
標籤:目錄[-]使用MPVolumeView編程實現系統音量大小2通過MPVolumeSlider的執行個體來作業系統音量有問題!我不喜歡系統彈出音量提示還有問題,我修改了系統音量但是不是通過我的UIiOS的AVFoundation架構提供了基本的音視頻播放工具,我們基本上可以靠其中提供的類完成絕大部分的音視頻播放任務。但是在音頻播放的輸出音量的處理上,蘋果的策略比較保守。儘管AVPlayer和AVPAudiolayerzhe這些類提供了音量大小功能,但這些音量控制屬於App層級的控制。好處就是
Time of Update: 2016-01-03
標籤:One of the really compelling features of .NET is its ability to call "legacy" unmanaged C++ APIs. I say "legacy", but we use this facility regularly to call APIs that are far from being considered defunct (the C++ version of ObjectARX is alive
Time of Update: 2016-01-05
標籤:Cookie是為了辨別使用者身份、進行session跟蹤而儲存在使用者本地終端上的資料,在Android中也經常用到,接下來我們介紹Cookie在Android裡是如何進行讀寫的。 Cookie其實就是一個字串,由服務端產生。請求某些需要Cookie的URL的時候,將該字串設定到Header中即可。 找到一個讀寫Cookie的情境還算容易: 寫Cookie的情境
Time of Update: 2016-01-06
標籤:一、安卓系統 安卓系統設定鎖屏密碼的方法較多,可以有數字密碼、圖案密碼和數字 PIN
Time of Update: 2016-01-06
標籤:一、Ant 打包:(下載ant、配置環境變數就不說了)1、進入命令列模式,並切換到專案檔夾。運行例如以下命令為ADT建立的項目加入ant build支援:android update project -p . -t "android-17"2、build指令碼預設target是help。所以會顯示如上資訊,改動target為debug或release就能夠像無ant時一樣編譯、產生以及調試了。3、使用release時
Time of Update: 2016-01-04
標籤: 良好的使用者體驗是可以被預測的。如果你的App需要播放多媒體,那麼你的使用者可以通過你的App利用硬體或軟體的方式來控制他們的裝置的音量,藍芽耳機,頭帶耳機等對於他們來說是非常必要的。 同樣的,在哪個位置合理恰當地提供播放、停止、暫停、跳過以及回放功能的按鈕需要根據他們各自在你的App中對於audio stream的處理來決定。
Time of Update: 2016-01-05
標籤://1、建立常量字串。NSString *astring = @"This is a String!"; //2、建立Null 字元串,給予賦值。NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; [astring release]; NSLog(@"astring:%@",astring);//NSString *astring = [[NSString alloc]