Time of Update: 2014-01-14
1 RIL_J與RIL_C通訊 上層通常要和RILD通訊,是通過Socket,在RIL_JAVA層實現;沿著這樣代碼流程進行Framework——native: Phone——RIL_JAVA——>RIL_CPP 那麼可不可以直接和RILD(RIL_CPP)進行通訊呢? 肯定是可以的,因為通訊使用的rild socket,只要通過這個socket就可以和RILD進行通訊
Time of Update: 2014-01-14
Android藍芽串口通訊閑著無聊玩起了Android藍芽模組與單片機藍芽模組的通訊,簡單思路就是要手機通過藍芽發送控制指令給單片機,並作簡單的控制應用。單片機的藍芽模組串連與程式暫且略過,此文主要描述Android手機藍芽用戶端遇到的那點破事。進入正題:串連藍牙裝置——藍芽用戶端:Android手機一般以用戶端的角色主動串連SPP協議裝置(接上藍芽模組的數字感應器),用戶端串連流程是:1.使用registerReceiver註冊BroadcastReceiver來擷取藍芽狀態、搜尋裝置等訊息;
Time of Update: 2014-01-14
讓TextView和EditText發出聲音在撥打到電話等應用中很常見,如果採用TTS語音引擎未免太麻煩!所以可以採用MediaPlayer播放語音檔案的形式下面是關鍵代碼:關鍵變數定義private TextView numInput;private int length = 0; //當前字串長度private int beforeLength = 0;//上一次字串長度private MediaPlayer mediaPlayer;private ArrayList mListeners
Time of Update: 2014-01-14
下面開始實現一個閃屏的效果,首先自訂類繼承於View,然後重寫onDraw方法,之前使用onDraw方法可以繪圖,但是只是繪製一次,那如何?迴圈呢。很容易想到使用invalidate()這個方法,因為使用這個方法它就會調用onDraw方法,這樣就形成了一個死迴圈,不斷重新整理繪製介面。當然還有一個postInvalidate().方法,它與invalidate()的區別在於它用於非UI的線程,invalidate()必須在UI線程使用。所以,代碼可以這樣寫:import
Time of Update: 2014-01-14
在平常android應用開發中,多數只是調framwork中的API進行application layer的coding,而在系統開發中可能會自己添加系統服務;系統服務如任何添加,服務如何調native code,以及service如何被manager調用...這裡我給出一個結果驗證的demo。1、實現編寫native code,framwork/base/services/jni/com_android_server_VirtualInputService.cpp;
Time of Update: 2014-01-14
首先Android架構架構圖:(來自網上,我覺得這張圖看起來很清晰) Linux核心啟動之後就到Android Init進程,進而啟動Android相關的服務和應用。啟動的過程如所示:(圖片來自網上,後面有地址) 下面將從Android4.0源碼中,和網路達人對此的總結中,對此過程加以學習瞭解和總結,以下學習過程中程式碼片段中均有省略不完整,請參照源碼。 一
Time of Update: 2014-01-14
Intent應該算是Android中特有的東西。你可以在Intent中指定程式要執行的動作(比如:view,edit,dial),以及程式執行到該動作時所需要的資料。都指定好後,只要調用startActivity(),Android系統會自動尋找最符合你指定要求的應用程式,並執行該程式。下面列出幾種Intent的用法顯示網頁:Uri uri = Uri.parse("http://www.google.com");Intent it = new
Time of Update: 2014-01-14
SQLite是Android中的輕量級的資料庫,其基本操作有增、刪、查、改。每一種操作都有兩個方法,一種是通過SQL語句來執行,一種是用Android提供的方法。 一、建立資料庫(資料庫只建立一次) 複製代碼 1 public class DBHelper extends SQLiteOpenHelper { 2 3 private static final String DB_NAME =
Time of Update: 2014-01-13
印表機其實和Android沒有什麼大的關係,和linux核心關聯才是比較強的。最近調試印表機,有那麼一點心得,一點一點記錄下來。最終的結果是要在Android實現驅動印表機,但是一般調試一個新的驅動的流程是這樣的:1.先在linux PC上進行測試。2.在標準嵌入式linux上進行調試。3.改裝到Android中去。為什麼這麼安排,是有說道的。因為資源是遞減的,可以在第一階段確定裝置有無問題,以及該裝置在linux工作流程;在第二階段是因為標準的嵌入式linux還是遵循GNU規定的,包括大部分,
Time of Update: 2014-01-13
轉載請註明出處:http://blog.csdn.net/singwhatiwanna/article/details/18154335Activity是Android中一個很重要的概念,堪稱四大組件之首,關於Activity有很多內容,比如生命週期和啟動Flags,這二者想要說清楚,恐怕又要寫兩篇長文,更何況分析它們的源碼呢。不過本文的側重點不是它們,我要介紹的是一個Activity典型的啟動過程,本文會從源碼的角度對其進行分析。我們知道,當startActivity被調用的時候,可以啟動一個
Time of Update: 2014-01-13
一、HTML是什嗎?HTML(hypertext mark-uplanguage)是 超文字標記語言 (HTML), 主要的用處是做網頁, 可以在網頁上顯示 文字、映像、視頻、聲音…HTML只能做靜態網頁二、HTML發展曆史html之父-Tim Berners-Lee(Tim Berners-Lee)1955年6月8日出生於英國倫敦關於詳細請看:http://blog.csdn.net/chinayaosir/article/details/2982025三、W3C介紹world wide
Time of Update: 2014-01-13
8位單片機中一個容易被忽視的溢出問題例:uint16 wTmp ; uint8 x ;x=2;wTmp = (uint16)(x*150);各位,以上這個乘法有沒有問題?wTmp的值是多少?相信有很多人都會不加思考的說,沒問題啊!wTmp=300 。好,問題來了!告訴你,其實結果是 wTmp=44。這裡不作具體解釋,請讀者自已思考,下次在遇到類似此情況的時候千萬有小心!正確寫法:x=2;wTmp = (uint16)(x)*150;
Time of Update: 2014-01-13
在上一篇中我們提到學習HTML5要具備CSS的知識,在頁面設計的時候HTML5知識頁面的布局與結構,要實現一個很絢麗漂亮的介面就需要藉助CSS。下面我們先來回顧一下css2的基本用法,再來看看和css3的關係與區別。1、css是什嗎?cascading
Time of Update: 2014-01-13
Time of Update: 2014-01-13
Github地址:https://github.com/JakeWharton代表作:ActionBarSherlock,Android-ViewPagerIndicator,Nine Old Androids,SwipeToDismissNOA,hugo,butterknife,Android-DirectionalViewPager,
Time of Update: 2014-01-13
2014年新年伊始,向大家拜個早年兒,祝所有看了這篇貼子的,沒看的,即將要看的和以後有機會能再看到的新老朋友們,道一聲:“新年快樂,和家團圓,萬事如意,心想事成,平安順利!”在過去的一年裡,世界有很多大事發生,我們國家也有很多大事,對於我來說,那麼值得慶祝的,那就是在 2013-12-31 駕駛員考試最後一科考完順利通過。幸福來得太快,有些招架不住。不過
Time of Update: 2014-01-13
voip,目前的版本已經更新到3.0了,可使用視訊通話。sipdroid的源碼和apk可在該項目的首頁下載到。一 sipdroid項目官方地址項目首頁:http://code.google.com/p/sipdroid/代碼地址:svn checkout http://sipdroid.googlecode.com/svn/trunk/sipdroid-read-only二
Time of Update: 2014-01-13
手持功能進入低功耗模式,降低工作電流,提供待機時間。如果某些裝置開啟了沒有關閉,導致浪費能源。影響功耗的因素有時鐘,GPIO,電源。 時鐘引起的可以通過檢查系統的時鐘樹,看看低功耗模式那些時鐘開啟了,順藤摸瓜找出沒有關閉的裝置,通過suspend函數介面關閉模組,在resume介面將系統被喚醒的時候重新開啟模組。
Time of Update: 2014-01-13
)如果Demo打不開請選擇一下版本:#import<CoreData/CoreData.h>NSManagedObject#import <Foundation/Foundation.h>#import "News.h"#define TableName @"News"@interface CoreDateManager : NSObject@property (readonly, strong, nonatomic)
Time of Update: 2014-01-13
Java中使用線程特別簡單,實現Runnable介面 或者 繼承Thread.NDK中使用線程可以在Activity中直接調用java線程,也可以通過JNI啟動線程,這個線程源於POSIX中的線程庫。需要使用POSIX中pthread標頭檔<pthread.h>如果啟動了Posix線程,是無法與Android Java層互動的,主要是因為POSIX線程中無法直接調用JNIEnv 。因此我們需要先把native