Time of Update: 2018-12-05
這陣子在做Lephone的適配,測試組提交一個bug:標題列的文字較長時沒有顯示完全,其實這並不能算個bug,並且這個問題在以前其他機器也沒有出現,只是說在Lephone的這個平台上顯示得不怎麼美觀,因為聯想將原生的標題列UI進行了修改。修改的過程中遇到了一個難題,系統內建的那個標題列進度總能夠到達100%後漸退,但是我每次最後到100%那一段顯示不全,嘗試了用線程程式死了卡主了不說,還是一樣的效果,後來同事一句話提醒了我用動畫。確實是這樣我猜系統的也是這樣實現的,等進度到達100%後,用動畫改
Time of Update: 2018-12-05
在使用Android的屬性系統(property system)時遇到了一些問題,結合此次經曆,對屬性系統的使用做以簡單介紹。一、Property系統簡介屬性系統是android的一個重要特性。它作為一個服務運行,管理系統配置和狀態。所有這些配置和狀態都是屬性。每個屬性是一個索引值對(key/value
Time of Update: 2018-12-05
在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函數來修改系統時間,可惜無論你怎麼調用這個函數都是沒用的,無論模擬器還是真機,在logcat中總會得到"Unable to open alarm driver: Permission denied ".這個函數需要root許可權或者運行與系統進程中才可以用。 本來以為就沒有辦法在應用程式這一層改系統時間了,後來在網上搜了好久,知道這個目的還是可以達到的。
Time of Update: 2018-12-05
前文僅瞭解了overlay HAL的架構,下面繼續看看系統層是如何調用Overlay模組。1、 測試代碼frameworks/base/libs/surfaceflinger/tests/overlays/overlays.cpp提供了一個簡單的overlay調用流程,可惜這個測試程式有錯誤, 在sp<Surface> surface = client->createSurface(getpid(), 0, 320, 240, PIXEL_FORMAT_UNKNOWN,
Time of Update: 2018-12-05
Android 是基於Linux 核心的,對於喜歡研究底層的朋友來說,自然不會放過搞明白Linux 層面上一些東西的機會。當然,最終目的還是要搞清楚 Linux 是如何和上層lib以及虛擬機器結合的,但是這得等Google完全開源Android 之後了。很多關於Linux啟動並執行細節,都可以通過adb 的shell來看到。 首先用emulator console來啟動模擬器並進入shell介面,試一試,發現雖然很多命令不能用,比如find,但是ls之類的基本操作還是可以的。然後echo
Time of Update: 2018-12-05
列印指定過濾資訊adb logcat -s "System.out" wanqi@wanqi-System-Product-Name:~/huiye_QRD_e8/7x27a-11302301$ adb shell# logcat -helpunknown option -- hUnrecognized OptionUsage: logcat [options] [filterspecs]options include: -s Set default filter
Time of Update: 2018-12-05
from : http://blog.csdn.net/android_tutor/article/details/7425021最近剛換了電腦,開始搭建Android開發環境的時候,下載SDK總是會出現如下錯誤:[java] view plaincopyFailed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-1.xml.
Time of Update: 2018-12-05
MainActivity裡面的代碼: public void onConfigurationChanged(Configuration newConfig) { try { super.onConfigurationChanged(newConfig); if (this.getResources().getConfiguration().orientation ==
Time of Update: 2018-12-05
http://www.cnblogs.com/bigben0123/archive/2012/04/13/2445218.html原文:http://kb.cnblogs.com/a/1652230寫了個基於google map api的應用,模擬器一直都順利,移植到真機時由於真機沒有com.google.android.maps.jar包一直運行不了,直到搜到此貼。重點在這部分:手機終端需要支援Google
Time of Update: 2018-12-05
EventHub.cpp檔案中open_device函數淺析 使用者態中,與核心態聯絡緊密的一個函數是open_device,它位於EventHub.cpp檔案中,該函數有大量的底層操作,以完成上層對硬體的操作。該函數的首部為:int EventHub::open_device(const char *deviceName)其中參數有scan_dir()函數獲得。在這裡,deviceName=”/dev/input/event0”for (attempt = 0; attempt
Time of Update: 2018-12-05
分析一下 Android 是如何讀取按鍵及Touch Panel 的驅動的。主要在$(ANDROID_DIR)/frameworks/base/libs/ui/EventHub.cpp這個檔案中,這是在 HAL 層,將一步步分析 Android 上層是如何接受事件的。 一, 先看一下 Android HALClass EventHub 在 $(ANDROID_DIR)/frameworks/base/include/ui/eventhub.h 定義. i. scan_dir(const
Time of Update: 2018-12-05
Android Source Code Download TOP Website android 的最新原始碼下載的官方網站是:http://source.android.com 原始碼的下載說明頁面是:http://source.android.com/download (現在貌似用還用不了) 現在的網站是http://git.android.com TOP Create Directory 在HOME(/home/justin)目錄下建立如下目錄結構:
Time of Update: 2018-12-05
Wake Lock是一種鎖的機制, 只要有人拿著這個鎖,系統就無法進入休眠,可以被使用者態程式和核心獲得. 這個鎖可以是有逾時的或者是沒有逾時的,逾時的鎖會在時間過去以後自動解鎖. 如果沒有鎖了或者逾時了, 核心就會啟動休眠的那套機制來進入休眠.(一).核心維護了:1).兩個鏈表,active_wake_locks[WAKE_LOCK_TYPE_COUNT] active_wake_locks[0]維護的是suspend lock.
Time of Update: 2018-12-05
Android2.3的輸入事件流程與以前版本有了較大的不同,這裡做一下詳細的分析,最後我把自己分析時用的示範代碼放在了這裡:http://code.google.com/p/flying-on-android/下面的分析都是基於這些源碼的,大家可以下載下來一邊看源碼一邊看文檔。源碼裡只要關注FlyingEvent這個類就可以了。如果只想看一下示範結果,可以直接把包裡的flying放到機器的/system/bin目錄執行,開啟logcat後就可以看到示範輸出。運行程式時,機器螢幕會有異象產生,很
Time of Update: 2018-12-05
“點九”是andriod平台的應用軟體開發裡的一種特殊的圖片形式,副檔名為:.9.png 智能手機中有自動橫屏的功能,同一幅介面會在隨著手機(或平板電腦)中的方向感應器的參數不同而改變顯示的方向,在介面改變方向後,介面上的圖形會因為長寬的變化而產生展開,造成圖形的失真變形。 我們都知道android平台有多種不同的解析度,很多控制項的切圖檔案在被放大展開後,邊角會模糊失真。 OK,在android平台下使用點九PNG技術,可以將圖片橫向和縱向同時進行展開,以實現在多解析度下的完美顯示效果。
Time of Update: 2018-12-05
簡而言之 : 每個 Basic4android 程式在它自己的進程中運行. 一個進程擁有一個主線程,這個主線程也叫做UI 線程,它會一直運行到進程結束.一個進程也可以有好幾個線程,這些線程用來做一些後台工作. 當使用者啟動一個應用時,一個進程就開始了工作, 假設其並沒有已經在後台運行. 進程的結束是不確定的. 有時可能發生在使用者或者系統關閉掉所有的activities後. 假設你有一個activity,當使用者按了返回鍵,這個activity被關閉了.
Time of Update: 2018-12-05
android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45f48c40 is not valid; is your activity running?今天在寫android 的google 地圖時遇到一個問題,我在地圖上添加一個Overlay 然後想在點擊這個overlay
Time of Update: 2018-12-05
ListView.getCount()(實際上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 總個數”。 ListView.getChildCount()(ViewGroup.getChildCount) 返回的是顯示層面上的“所包含的子 View 個數”。當 ListView 中的 Item 比較少無需滾動即可全部顯示時,二者是等價的;當 Item 個數較多需要滾動才能瀏覽全部的話,
Time of Update: 2018-12-05
轉自:http://www.cyqdata.com/android/article-detail-25069在Android開發中,時不時的可能要彈出出個視窗,本文為你介紹Android PopupWindow彈窗方面的相關知識,其實Android PopupWindow彈窗,也和AlertDialog對話方塊類似,本文就先介紹Android PopupWindow彈窗的相關內容,下面請看教程:首先:初始化一個Android PopupWindowPopupWindow mPop = new
Time of Update: 2018-12-05
最近在網上看到一篇介紹android window的requestWindowFeature()的使用方法,共用出來大家學習學習requestWindowFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.dialog_activity); getWindow().setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, android.R.drawable.ic_dialog_