Time of Update: 2018-12-03
本文截取自《Android開發權威指南》 轉寄微博有機會贏得《Android開發權威指南》
Time of Update: 2018-12-03
本文為原創,如需轉載,請註明作者和出處,謝謝! 看到有很多網友不太理解dp、sp和px的區別:現在這裡介紹一下dp和sp。dp也就是dip。這個和sp基本類似。如果設定表示長度、高度等屬性時可以使用dp或sp。但如果設定字型,需要使用sp。dp是與密度無關,sp除了與密度無關外,還與scale無關。如果螢幕密度為160,這時dp和sp和px是一樣的。1dp=1sp=1px,但如果使用px作單位,如果螢幕大小不變(假設還是3.2寸),而螢幕密度變成了320。那麼原來TextView的寬度設成1
Time of Update: 2018-12-03
雖然在OpenCV官網上有如何在Android中使用OpenCV庫的文章,但是按照那個文章來根本沒法成功調入OpenCV庫。因此特撰寫此文給出正確的掛載庫的方法和掛載OpenCVManager時,函數調用的順序。首先本文不討論如何通過static靜態塊的方法掛載OpenCV庫(因為這個方法我沒有成功),討論的是通過實現 CvCameraViewListener 介面同步掛載OpenCV庫,這也是OpenCV官網上推薦的做法:Using async initialization is
Time of Update: 2018-12-03
Android下載入驅動和Linux下類似,不過需要使用JNI技術來調用c語言中的open、close、read和write等函數。這個實驗中做了一個取數傳數的驅動作為練習。把中間遇到的問題說明一下,為以後做一個備忘:1、編譯Linux標頭檔 使用arm-linux-gcc交叉編譯工具,對Linux源檔案進行編譯,如果不編譯Linux源檔案,在編譯自己的模組的時候會產生標頭檔不存在的錯誤。編譯完成Linux標頭檔後就可以編譯自己的模組了2、編寫核心模組源檔案
Time of Update: 2018-12-03
原貼連結:http://rayleung.javaeye.com/blog/411860 剛剛開始接觸android線程編程的時候,習慣好像java一樣,試圖用下面的代碼解決問題Java代碼 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start(); 然而發現這樣是不行的,因為它違背了單執行緒模式:
Time of Update: 2018-12-03
在android開發中ListView是比較常用的組件,它以列表的形式展示具體內容,並且能夠根據資料的長度自適應顯示。今天對ListView的用法了做了主要瞭解,主要參考的以下三篇文章:1.純資料繫結,不需要響應點擊事件:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html上面主要介紹了使用ArrayAdapter,SimpleCursorAdapter,和SimpleAdapter三個適配器綁定資料。其中以ArrayAdapt
Time of Update: 2018-12-03
為了使用Tab,必須使用TabHost和TabWidget,TabHost必須是布局檔案中的根節點,它包含了tabWidget顯示tabs,以及FrameLayout來顯示tab的內容。你可以用以下兩種方式實現你的tab內容:A.在同一個Acitivity裡交換不同的View。B.每一個Tab使用一個不同的Activity。在這裡先介紹第2種的實現方式,具體步驟如下:1.建立一個項目HelloTabWidget2.建立三個不同的Activity用來代表不同的Tab,在此建立了ArtistsAc
Time of Update: 2018-12-03
由於光碟片中帶的Ubuntu Linux12.04虛擬環境需要CPU支援虛擬化,所有可能有一部分PC無法成功開啟虛擬化環境,AMD的CPU也不可以。不過這不要緊,光碟片中包含了原始碼(sources目錄)。只需要將這些原始碼放到ubuntu
Time of Update: 2018-12-03
Android的init過程(二);初始化語言(init.rc)解析本文使用的軟體版本Android:4.2.2Linux核心:3.1.10 本文及後續幾篇文章將對Android的初始化(init)過程進行詳細地、剝絲抽繭式地分析,並且在其中穿插了大量的知識,希望對讀者瞭解Android的啟動過程又所協助。本章主要介紹了與硬體相關初始設定檔案名的確定以及屬性服務的原理和實現。 Android本質上就是一個基於Linux核心的作業系統。與Ubuntu Linux、Fedora
Time of Update: 2018-12-03
本文用《Android深度探索(卷1):HAL與驅動開發》的隨書原始碼為例詳細說明如何配置Android驅動開發與測試環境,並且如何使用原始碼中的build.sh指令檔在各種平台(Ubuntu Linux、Android模擬器和S3C6410開發板)上編譯、安裝和測試Linux驅動。建議讀者使用Ubuntu Linux12.04或更高版本實驗本文的方法。最好用root帳號登入Linux。一、安裝交叉編譯器 如果只是在Ubuntu
Time of Update: 2018-12-03
本文截選自《Android開發權威指南》 Android
Time of Update: 2018-12-03
本文截選自《Android開發權威指南》 在4.5.6節介紹過一個<include>標籤,該標籤可以在布局檔案中引用另外一個布局檔案,並可以覆蓋被引用布局檔案根節點所有與布局相關的屬性,也就是以android:layout開頭的屬性。通過<include>標籤可以將一個非常龐大的布局檔案分解成若干個較小的布局檔案,而且這些小的布局檔案也可以被多次引用,從而達到一個重用的目的。
Time of Update: 2018-12-03
由於有些同學安裝隨書光碟片虛擬環境時發現CPU不支援虛擬化,所以我特意做了個不需要虛擬化的虛擬環境,使用Virtual Box,Ubuntu Linux10.04 LTS(4G左右)有需要的可以下載使用。該虛擬環境包含了書中所需的實驗環境(除了Android原始碼,太大,需要自己下,否則得接近20G了)。其他的使用說明詳見虛擬環境案頭的readme.txt 使用者名稱:root秘密:12345678 virtual
Time of Update: 2018-12-03
在OpenCV4Android中沒有nonfree module,因此也就沒有了SURF和SIFT組件。但是我們可以通過OpenCV for Windows的nonfree module開原始碼通過NDK將其編譯為Android可以使用的.so庫檔案,然後通過JNI技術,將該.so檔案掛載到JNI的庫中。具體實現方法如下:需要的工具:NDKOpenCV for AndroidOpenCV for Windows(其實只需要兩個標頭檔)Android ADT 電腦作業系統為Windows7
Time of Update: 2018-12-03
在AndroidSDK發布的官方文檔裡,實際上已經對Activity所包含的各個重要狀態的概念和相互之間轉換機製作了較為詳細的描述,但梨子的滋味總是自己嘗了才能體會的深刻,筆者就在開發一些應用過程中出現過奇怪的錯誤,後來經過確定發現是由於沒有對Activity狀態轉換的一些細節理解到位,從而導致應用本身的一些運行狀態被打亂而出現各種錯誤。因此筆者找個時間特地基於AndroidSDK的Activity描述(AndroidSDK路徑/docs/reference/android/app/
Time of Update: 2018-12-03
如果要使Activity的View介面全屏,只需要將最上面的訊號欄和Activity的Title欄隱藏掉即可 隱藏Title欄的代碼: requestWindowFeature(Window.FEATURE_NO_TITLE); 或者寫在設定檔裡: android:theme="@android:style/Theme.NoTitleBar" 如:<activity
Time of Update: 2018-12-03
android提供的工具鏈和開發工具比較完善,因此它的開發環境的搭建比較簡單,相信許多朋友都已經搭建好環境,並編寫了HelloActivity入門程式了。這裡先看幾個問題: 1、android的檔案系統結構是怎樣的,我們安裝的程式放在那裡?編譯android源碼之後,在out/target/product/generic一些檔案:ramdisk.img、system.img、userdata.img、 system、 data、root其中, system.img是由
Time of Update: 2018-12-03
1. NotificationManager和Notification用來設定通知。 通知的設定等操作相對比較簡單,基本的使用方式就是用建立一個Notification對象,然後設定好通知的各項參數,然後使用系統後台啟動並執行NotificationManager服務將通知發出來。 基本步驟如下: 1)得到NotificationManager: String ns = Context.NOTIFICATION_SERVICE;
Time of Update: 2018-12-03
一直沒有學習Linux,最近,學習在ubuntu11.10 64BIT系統上配置android環境,遇到一些問題。1)安裝軟體Ubuntu上安裝軟體,一般注意兩個關鍵點即可。a.修改為可執行模式 chmod b.使用root許可權,即命令前加上sudo 即可。2)啟動模擬器時,提示缺少庫安裝32bit的共用庫輸入以下命令sudo apt-get install ia32-libs 即可。 3)編譯android源碼時編譯錯誤 主要原因是迷信一些國內書籍了,按照android
Time of Update: 2018-12-03
android開機畫面就是linux開機畫面。在code/10.9.7-00.v19.00/kernel/drivers/video/logo目錄下面l的ogo_linux_clut224.ppm 。把自己定義的png轉為ppm圖片格式即可。 pngtopnm logo_linux_clut.png > logo_linux_clut.pnm pnmquant 224 logo_linux_clut.pnm > logo_linux_clut224.pnm