Time of Update: 2018-12-03
1 ./packages/providers/MediaProvider/編譯後產生MediaProvider.apk。會在開機時掃描本機和sdcard上的媒體檔案(圖片、視頻、音頻),並在/data/data/com.android.providers.media/databases 目錄下產生internal.db(/system/meida)和external-?.db(/sdcard)兩個資料庫檔案.此後,所有的多媒體資訊都從這兩個資料庫中擷取。2
Time of Update: 2018-12-03
以前只注意到appwidget,最近做項目發現了相關的還有shortcut。自己做的是music,因此就說說這個。在建立時,會向播放清單PlaylistBrowserActivity發送一個intent,ACTION_CREATE_SHORTCUT,(當然,要在androidmanifest中的playlistbrowseractivity中聲明次intent,android.intent.action.CREATE_SHORTCUT)將mCreateShortcut設定為true。mCreat
Time of Update: 2018-12-03
在Android應用開發中,特別是UI開發,調整布局時經常用dip和px的概念,自己老是搞不清楚。顯然,為了具有可移植性,用dip會方便很多,所以懂得兩者之間的換算非常重要。功夫不負苦心人,今天終於找到一個萬能公式。1. dip: device independent pixels(裝置獨立像素). 不同裝置有不同的顯示效果,這個和裝置硬體有關,一般我們為了支援WVGA、HVGA和QVGA 推薦使用這 這個,不依賴像素。 這裡要特別注意dip與螢幕密度有關,而螢幕密度又與具體的硬體有
Time of Update: 2018-12-03
Apk檔案的格式 Android application package檔案.每個要安裝到android平台的應用都要被編譯打包為一個單獨的檔案,尾碼名為.apk,其中包含了應用的二進位代碼、資源、設定檔等. apk檔案實際是一個zip壓縮包,可以通過解壓縮工具解開.可以用zip解開*.apk檔案,下面是一個helloword的apk樣本檔案java代碼:|– AndroidManifest.xml |– META-INF | |– CERT.RSA | |– CERT.SF
Time of Update: 2018-12-03
如何分析和研究Log檔案 ,如何看日誌資訊 Log 在android中的地位非常重要,要是作為一個android程式員不能過分析log這關,算是android沒有入門吧 。 下面我們就來說說如何處理log檔案 。什麼時候會有Log檔案的產生 ?Log的產生大家都知道 , 大家也都知道通過DDMS來看log , 但什麼時候會產生log檔案呢 ?一般在如下幾種情況會產生log檔案 。 1,程式異常退出 , uncaused exception2,程式強制關閉 ,Force Closed (簡稱FC)
Time of Update: 2018-12-03
先參考一下老羅同志的關於key事件的分發流程。http://blog.csdn.net/luoshengyang/article/details/6882903#comments這裡主要是寫一下事件從native層上到Java層後,即到了InputQueue後的分發流程,以keyEvent為例。InputQueue.java中 private static void dispatchKeyEvent(InputHandler inputHandler,
Time of Update: 2018-12-03
一、Handler的定義: 主要接受子線程發送的資料, 並用此資料配合主線程更新UI. 解釋: 當應用程式啟動時,Android首先會開啟一個主線程 (也就是UI線程) , 主線程為管理介面中的UI控制項,進行事件分發, 比如說,你要是點擊一個 Button,
Time of Update: 2018-12-03
寫了Android中解析xml檔案的介面。注意傳入的xml路徑類型是 String path = "file:///data/data/com.example.androiddemo/network.xml";否則會報異常的。這個在Android模擬器上測試過,可以正常使用。package com.example.androiddemo;import java.util.HashMap;import javax.xml.parsers.DocumentBuilder;import
Time of Update: 2018-12-03
本文旨在記錄在研究和開發 Android 系統的過程中學習到的星星點點,以備日後之用~ 內容包括:開發環境、安裝程式、系統磁碟分割、目錄概覽、進程分析、核心對比。> 開發環境1、安裝 Eclipse 和 android-sdk 並解壓安裝2、Eclipse 安裝 AVD 外掛程式 https://dl-ssl.google.com/android/eclipse/ 並配置 SDK Location3、開啟 SDK Manager 安裝 android packages 並配置
Time of Update: 2018-12-03
偉大長城需要天朝子民努力跨越……為了這個偉大的長城,我用了兩天半的時間基本實現了跨越……問題一:直接從google官網下載repo指令碼不成功。直接download吧,下面我個資源的連結給大家:http://download.csdn.net/detail/kaiwii/4214098不過,要正常使用,還需要更新。不過運行該指令碼的時候是會有提示的,不用擔心!問題二:repo逾時。主要參考下面轉載的一篇博文:repo逾時不過,關於這篇博文有以下幾點根據個人使用的實際情況,要指出一下的:第一:-
Time of Update: 2018-12-03
最近在移植Android過程中遇到了Android程式(apk)許可權的問題。最近也對這方面進行了一些瞭解,在此和大家分享。Android架構是基於Linux核心構建,所以Android安全系統也是基於Linux的安全架構建立的。在Linux安全系統中,使用者和組起著重要的作用,Linux中所有的資源給不同的使用者和使用者組設定了不同的訪問屬性。如果你對Linux下面使用者和組的概念不熟悉,請先補習一下Linux基礎知識。在Android系統中,系統為每一個應用程式(apk)建立了一個使用者和組
Time of Update: 2018-12-03
大家都知道Android資料庫使用的是SQLite,但是Google為了給我們簡化操作,可以不用經常編寫容易出錯的SQL語句,直接通過 ContentProvider來封裝資料的query查詢、添加insert、刪除delete和更新update,我們就以Android系統的 SDK中的例子來給大家簡單的說明下吧。public class NotePadProvider extends ContentProvider { private static final String TAG =
Time of Update: 2018-12-03
1、錯誤資訊:ERROR: the symlink include/asm points to asm-x86 but asm-arm was expected set ARCH or save .config and run 'make mrproper' to fix it make: *** [include/asm] 錯誤 1最後發現,將linux/include/asm 目錄刪除以後,該問題得以解決原因:linux/include/asm
Time of Update: 2018-12-03
英文原文:http://developer.android.com/guide/topics/ui/menus.html?#intents根據傳入Intent對象添加Menu組件在一些情況下,你需要通過菜單組件,使用intent來啟動一個activity(無論這個activity在否當前應用中)。當你知道這個你使用的intent的詳情和準備好一個菜單組件來啟動這個intent的時候,你可以在這個組件所對應的選擇回呼函數(例如onOptionsItemSelected() )中執行以這個inten
Time of Update: 2018-12-03
Internal Storage內部儲存空間
Time of Update: 2018-12-03
native的Socket發送位元組流預設是GB2312的,所以在Java方面需要指定GB2312byte[] buffer = new byte[50];StringBuffer strBuf = new StringBuffer();InputStream input = receiver.getInputStream();while((len = input.read(buffer)) != -1) { String newStr = new String(buffer, 0,
Time of Update: 2018-12-03
原文連結:http://android.tgbus.com/Android/tutorial/201105/353147.shtml 建立AIDL服務要比建立普通的服務複雜一些,具體步驟如下: (1)在Eclipse Android工程的Java包目錄中建立一個副檔名為aidl的檔案。該檔案的文法類似於Java代碼,但會稍有不同。詳細介紹見執行個體52的內容。 (2)如果aidl檔案的內容是正確的,ADT會自動產生一個Java介面檔案(*.java)。 (3)
Time of Update: 2018-12-03
大體步驟:從這裡下載CTS包確保Android SDK已經安裝好,adb命令已經添加到系統路徑$PATH參考google CTS Guide配置主機和裝置;//這裡說明的很詳細連上ADB;啟動CTS;切換到android-cts目錄,這個目錄在第1步驟下載後的包裡;運行下面命令進入cts控制台android-cts$ ./tools/cts-tradefed在cts控制台下下面命令是,羅列出有效測試計劃:cts-tf > list p測試特定的測試計劃run cts --plan <
Time of Update: 2018-12-03
使用Android打包工具(aapt)將DEX檔案,資源檔以及AndroidManifest.xml檔案(二進位格式)組合成一個應用程式套件組合(APK)。對於Android DEX檔案進行最佳化,需要注意的一點是DEX檔案的結構是緊湊的,但是我們還是要想方設法的進行提高程式的運行速度,我們就仍然需要對DEX檔案進行進一步最佳化。調整所有欄位的位元組序(LITTLE_ENDIAN)和對齊結構中的沒一個域 驗證DEX檔案中的所有類 對一些特定的類進行最佳化,對方法裡的作業碼進行最佳化
Time of Update: 2018-12-03
在ubuntu 11.10或12.10 64位下編譯android 4.04源碼,出現的錯誤和解決方案如下:/****************************************************/錯誤:<命令列>:0:0: 錯誤: “_FORTIFY_SOURCE”重定義 [-Werror]解決方案:修改build/core/combo/HOST_linux-x86.mk 61行,將HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0