在第一節 Android使用binder訪問service的方式(一)中我們介紹了使用Messenger
Android自動開關機實現關於android自動關機,網上有很多應用程式和例子。 相對於自動開機來說,自動關機可以在應用程式層通過設定alarm來實現。而自動開機,網上的介紹就比較少了,因為它需要底層rtc時鐘的支援。前段時間根據客戶需求實現了自動開關機。在這裡分享一下。1.
編譯,簽名,打包你的android程式成為apk,在eclipse上是件很簡單的事情,那我們為什麼還要自動化指令碼呢?1. eclipse 實現這些功能的機制也是靠的這些命令。2. 自動化指令碼更靈活,我們可以指定打包的簽名檔案,直接將產生好的apk重新命名並拷貝到某個位置。3. 更快速,速度遠遠快於eclipse,對於不斷偵錯工具的程式員來說,減少等待時間,保持好心情更能提高工作效率。>>>>>>>>>傳送門<<<<
1.intent 決定Activity所在的Task(Activity 堆棧)對於"standard" 和 "singleTop" 模式, 是task在產生intent,除非intent裡設定了FLAG_ACTIVITY_NEW_TASK 標誌,設定了此標誌,這個activity將選擇另外一個task。相對的 singleTask 和 singleInstance 模式標記activity作為一個task的根,他們永遠不會選擇另外一個task。 2.一個activity可以不可以有多個執行個體?
Android
我們經常會編譯不同庫在不同的場合下,而也經常與第三方有合作,對方提供靜態庫,動態庫及設定檔,也有可能需要提供庫給對方等等,藉此機會將所使用的一些情況作個總結。下面寫的android.mk都是一些模板,可能模組可能不需要但加上也無所謂,必要時直接加即可。1、編譯產生動態庫LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)# [optional, user, eng] # eng = required# optinal = no install on
linux核心提供了一個Input子系統來實現的,Input子系統會在/dev/input/路徑下建立我們硬體輸入裝置的節點,一般情況下在我們的手機中這些節點是以eventXX來命名的,如event0,event1等等,可以利用EVIOCGNAME擷取此事件結點名稱。這就是android中對於input事件處理資料的來源點,至於驅動寫入資料這塊就不說了。首先,簡而言之的介紹一下android事件傳遞的流程,按鍵,觸屏等事件是經由WindowManagerService擷取,並通過共用記憶體和管道
一些手機app(如、QQ等)有新訊息來到達,手機螢幕即使在鎖屏狀態下也會亮起,並提示使用者有新訊息。但是,一般情況下手機鎖屏後,Android系統為了省電以及減少CPU消耗,在一段時間後會使系統進入休眠狀態,這時,Android系統中CPU會保持在一個相對較低的功耗狀態,而收到新訊息必定有網路請求,而網路請求是消耗CPU的操作,那麼如何在鎖屏狀態乃至系統進入休眠後,仍然保持系統的網路狀態以及通過程式喚醒手機呢?答案就是Android中的WakeLock機制。官方對於WakeLock的解釋:
最近做Recovery的規範及操作指導文檔,花了一些時間將流程搞清。Android利用Recovery模式,進行恢復出廠預設值,OTA升級,patch升級及firmware升級。而在進入Recover前面其實還有升級檢測,資料下載,啟動檢查等等操作。系列文章將會將整個流程梳理清楚。1、Android啟動流程簡要的流程圖示,升級到新的版本或指定版本:系統上電時的詳細檢測流程圖:下面我們從代碼的情況簡略分析一下:機頂盒上電一般都是從地址 0x00000000 處開始啟動,此時啟動的程式叫 boot
在今年的Google IO大會上,Google推出了Android專用的IDE, 雖然是0.1版本,雖然還有很多bug,但畢竟是Google的親兒子,廣大Android開發人員想必是會擁邁的,接下來我們看看這個“神器”的廬山真面目。安裝成功後進入項目操作頁面,跟eclipse一樣你可以建立,引入和從cvs上checkout,在eclipse上要實現checkout遠程代碼還需要其他的外掛程式。Recent Projects
private static Drawable sBackground;@Overrideprotected void onCreate(Bundle state) { super.onCreate(state); TextView label = new TextView(this); label.setText("Leaks are bad"); if (sBackground == null) { sBackground =
Android 系統使用OpenGL的標準介面來支援3D圖形功能,包含架構層及本地代碼兩個主要部分,這裡先介紹本地代碼部分。 原始碼目錄為:frameworks\base\opengl\libs 在這個代碼路徑下面會編譯產生三個庫: libEGL , libGLESv1_CM.so , libGLESv2.so ,那麼這三個庫之間是個什麼關係呢? 首先說明一下主要實現的功能: EGL是用來管理繪圖表面的(Drawing surfaces),並且提供了如下的機制 (1)
這裡給出一個簡單的手電筒製作的源碼:1,xml布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"
/* * 觀察者模式 * 定義對象間的一種一個(Subject)對多(Observer)的依賴關係,當一個對象的狀態發送改變時,所以依賴於它的 * 對象都得到通知並被自動更新 * * 當然,MVC只是Observer模式的一個執行個體。Observer模式要解決的問題為: * 建立一個一(Subject)對多(Observer)的依賴關係,並且做到當“一”變化的時候, * 依賴這個“一”的多也能夠同步改變。最常見的一個例子就是:對同一組資料進行統計分析時候, *
android裡面對於非同步訊息的處理,提供了一套Handler的實現方案。Handler有很多適宜的應用和微妙之處,使它在和Thread以及Service等一起使用的時候達到很好的效果。一. Handler與Thread的區別。Handler與調用者處於同一線程,如果Handler裡面做耗時的動作,調用者線程會阻塞。Android
1、單例模式常見情景設計模式中,最簡單不過的就是單例模式。先看看單例模式原文:http://www.iteye.com/topic/575052Singleton模式可以是很簡單的,它的全部只需要一個類就可以完成(看看這章可憐的UML圖)。但是如果在“對象建立的次數以及何時被建立”這兩點上較真起來,Singleton模式可以相當的複雜,比頭五種模式加起來還複雜,譬如涉及到DCL雙鎖檢測(double checked
AppWidget進階篇在appWidget中事件可分成三種類型a、開啟Activityb、開始Servicec、發送按鈕Action下面開始一個一個分析,如何?。2.1、開啟Activity2.11、首先先定義個開啟Activity的intenteg: Intent fullIntent=new Intent(this ,FullScreen.class);若要傳遞資料,則使用intent.putExtra()方法eg: fullIntent.putExtra(“isCircle”, isCi
常用的Regex有: "^d+$" //非負整數(正整數 + 0) "^[0-9]*[1-9][0-9]*$" //正整數 "^((-d+)(0+))$" //非正整數(負整數 + 0) "^-[0-9]*[1-9][0-9]*$" //負整數 "^-?d+$" //整數 "^d+(.d+)?$" //非負浮點數(正浮點數 + 0) "^(([0-9]+.[0-9]*[1-9][0-9]*)([0-9]*[1-9]