Time of Update: 2018-12-04
1. Boot系統初始化, 具體過程參見(system/core/init/Init.c)中的main函數,這時候,手機或者模擬器出現的畫面是一個console,顯示“ANDROID”msg。 if (fd >= 0) { const char *msg; msg = "/n" "/n" "/n" "/n" "/n" "/n" "/n" // console is 4
Time of Update: 2018-12-04
之前的一些配置如mainfest.xml,xml/widget ,res/layout/my_widget的具體配置請參考API文檔,有詳細的介紹。 一。對widget的配置。 要實現對widget的configurate的設定有以下幾點要注意的Intent intent = new Intent();intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,
Time of Update: 2018-12-04
資料庫在 data/data/下的com.android.providers.media/databases -->分為2部分external-cfe1d0f.db//外部資料 主要是從sdcard中的資料internal.db//主要是系統的資料,比如系統鈴聲 其中上面的和music有關 後面的跟Vdiao有關後面表 還和Gallery有關 今天我研究的就是針對Musicalbum_art artists_albums_map
Time of Update: 2018-12-04
android 中的touch處理的分成好,使用起來非常方便,收集一些資料,分享如下:Android裡有兩個類 android.view.GestureDetector android.view.GestureDetector.SimpleOnGestureListener 1) 建立一個類繼承SimpleOnGestureListener,HahaGestureDetectorListener ,可以實現以下event事件。 boolean onDoubleTap(MotionEvent
Time of Update: 2018-12-04
開機動畫檔案:bootanimation.zip動畫是由系列圖片連續刷屏實現的。。bootanimation.zip檔案是zip壓縮檔,壓縮方式要求是儲存壓縮,包含一個檔案和兩個目錄: 1.動畫屬性描述檔案:desc.txt 2.第一階段動畫圖片目錄:part0 3.第二階段動畫圖片目錄:part1desc.txt檔案內容: 480 427 30 p 1 0 part0 p 0 10 part1 desc.txt檔案分析: 480 427 3
Time of Update: 2018-12-04
ndroid系統架構和上層應用是類java(不是正統的sun java)開發的,實現了自己的java虛擬機器dalvik,既然用java虛擬機器和java開發,一般都會認為效率低下。其實不然,在基本主流的智能手 機的軟體平台上,android的執行速度是最快的。 那麼android效率為什麼這麼的高呢?特別是一個應用程式的啟動時間很短,本文主要從以下個八方面進行分析: 1、
Time of Update: 2018-12-04
Android作為一個行動裝置的平台,其軟體 階層包括了一個作業系統(OS),中介軟體(MiddleWare)和應用程式(Application)。根據Android的軟體框圖,其軟體階層自下而上分為以下幾個層次:第一、作業系統層(OS)第二、各種庫(Libraries)和Android 運行環境(RunTime)第三、應用程式架構(Application Framework)第四、應用程式(Application) 以下分別介紹Andoid各個層次的軟體的重點及其相關技術:●
Time of Update: 2018-12-04
開機流程中無線模組的原始化流程 ;假如 sim卡鎖開啟,或者pin被鎖住的時刻,會要求輸入pin或者puk,但是這個解鎖動作必須在系統原始化完成以後才能實行。(圖形系統都還沒有原始化如何輸入密碼阿?)當系統原始化完成以後會調用 wm.systemReady()來通知福士。這時刻該做什麼就做什麼。 開機流程中無線模組的原始化流程: rild 調用參考實現 Reference-ril.c (hardware/ril/reference-ril) 中的函數: const
Time of Update: 2018-12-04
1.大量查詢資料庫時cursor沒有關閉錯誤寫法: Cursor cursor = getContentResolver().query( ); if(cursor != null){ cursor.moveTOFirst(); while(!cursor.isAfterLast()) { .............. }}正確寫法:Cursor cursor = getContentResolver().query(
Time of Update: 2018-12-04
1. Accelrator的x,y,z軸的正負向:手機螢幕向上水平放置時: (x,y,z) = (0, 0, -10) 而不是 (0, 0, 10)當手機頂部抬起時: y減小,且為負值當手機底部抬起時: y增加,且為正值當手機右側抬起時: x減小,且為負值當手機左側抬起時: x增加,且為正值2. Accelrator的z軸的變化:手機螢幕向上水平放置時,z= -10手機螢幕豎直放置時, z= 0手機螢幕向下水平放置時,z= 103. 當x變為+5時, 手機畫面切換為豎向當x變為-5時,
Time of Update: 2018-12-04
總體思路為 :1.截取鈴聲2.儲存入sd卡3.擷取鈴聲資訊4.將資訊和檔案路徑寫入資料庫獲得鈴聲Uri5.將獲得的Uri設定為鈴聲。核心實現:在public class DefaultRingtonePreference extends RingtonePreference {private static final String TAG = "DefaultRingtonePreference";public DefaultRingtonePreference(Context context,
Time of Update: 2018-12-04
Android的IME架構比價複雜。從進程的角度來講,相關功能主要分布在下面三個位置: 用戶端應用是一個包含有圖形介面的應用,如地址本。圖形介面上包含有能夠接收輸入的編輯框,如TextView。IME模組提供軟鍵盤,將使用者在軟鍵盤上的按鍵輸入根據某種演算法(如Zi, T9,
Time of Update: 2018-12-04
一、Canvas類android.graphics.CanvasCanvas類好比手機中的畫紙,我們可以在Canvas上畫圖形或者映像。一般我們用android來繪畫的時候,需要四個組成部分:1、位元影像:包含像素2、Canvas畫板:包含繪畫內容,寫入位元影像3、初始圖形:如Rect、Bitmap、text等4、Paint:用來描述上面初始圖形的顏色和類型等Canvas類提供了三個構造方法:Public Canvas();構造一個預設無參的Canvas對象Public
Time of Update: 2018-12-04
Android GWES之Android視窗管理 1基本構架原理 Android的視窗管理是C/S模式的。Android中的Window是表示Top Level等最上層視窗的概念。DecorView是Window的Top-Level View,這個View我稱之為主View,DecorView會預設的attach到Activity的主視窗中。主View被加入到WindowManager中,WM使用WindowState與這個主View對應。
Time of Update: 2018-12-04
android:allowTaskReparenting是否允許activity更換從屬的任務,比如從簡訊息任務 切換到瀏覽器任務。android:alwaysRetainTaskState是否保留狀態不變, 比如切換回home, 再從新開啟, activity處於最後的狀態android:clearTaskOnLanunch比如 P 是 activity, Q 是被P 觸發的 activity, 然後返回Home, 從新啟動 P, 是否顯示
Time of Update: 2018-12-04
android:layout_weight詳細分析介紹:布局檔案是:<?xml version="1.0" encoding="utf-8"?><LinearLayout
Time of Update: 2018-12-04
當我們開發需要和伺服器互動的應用程式時,基本上都需要擷取伺服器端的資料,比如《地震及時通》就需要及時擷取伺服器上最新的地震資訊。要擷取伺服器上不定時更新的資訊一般來說有兩種方法,第一種是用戶端使用Pull(拉)的方式,隔一段時間就去伺服器上擷取資訊,看是否有更新的資訊出現。第二種就是伺服器使用Push(推送)的方式,當伺服器端有新資訊了,則把最新的資訊Push到用戶端上。 雖然Pull和Push兩種方式都能實現擷取伺服器端更新資訊的功能,但是明顯來說Push is better than
Time of Update: 2018-12-04
一、checkbox的介紹與應用:多項選擇(checkbox)介紹和應用首先在main.xml中定義一個Button<Buttonandroid:text="CheckBox"android:id="@+id/check_box_button"android:layout_width="wrap_content"android:layout_height="wrap_content"></Button>然後再WigetDemo.java裡面給該Button添加監聽器But
Time of Update: 2018-12-04
EditText的介紹和應用整體過程:在widgetDemo.java裡面添加下面代碼:在find_and_modify_button()方法裡面添加如下兩句:Button edit_view_button = (Button) findViewById(R.id.edit_view_button);edit_view_button.setOnClickListener(edit_view_button_listener); private Button.OnClickListener
Time of Update: 2018-12-04
今天一上午做了一個關於Button and TextView的學習!具體如下! 這是我所建立的目錄檔案首先是設定布局:main.xml中<?xml version="1.0" encoding="utf-8"?><LinearLayout