Time of Update: 2018-12-06
PhoneApp作為Android系統中首屈一指的Application,其在建立的時候會構造出對整個系統來說至關重要的ril.java的實體,在這個rilj構造出來後,會與底層的rild connect上,並且連通他們之間通訊的socket,這樣手機的通話、簡訊功能才可用;PhoneApp如此重要和基礎,其是在哪裡被建立出來的呢,(在一位同事的協助下,終於找到了)首先需要注意下在Phone的AndroidManifest.xml檔案中,定義了PhoneApp的一些屬性:
Time of Update: 2018-12-06
鎖定互斥鎖使用 pthread_mutex_lock(3C) 可以鎖定 mutex 所指向的互斥鎖。pthread_mutex_lock 文法 intpthread_mutex_lock(pthread_mutex_t *mutex); #include <pthread.h>pthread_mutex_t mutex;int ret;ret = pthread_ mutex_lock(&mp); /* acquire the mutex */當 pthread_mutex_
Time of Update: 2018-12-06
如果任務處理完畢,最好讓線程休眠,任務來了再喚醒它,在ios中你可以用以下2種方法。1.使用pthread線程pthread_mutex_lock 加鎖pthread_mutex_unlock 解鎖pthread_cond_broadcast 喚醒所有線程pthread_cond_singal 喚醒任意等待的線程pthread_cond_wait 解鎖並進入等待狀態以下是apple文檔的例子 pthread_mutex_t mutex; pthread_cond_t
Time of Update: 2018-12-06
//// ThreadPool.h/** * 繼承此類,重寫execute方法*/@interface WorkItem : NSObject-(void)execute;@end@class ThreadPoolInner;@interface ThreadPool : NSObject { ThreadPoolInner*
Time of Update: 2018-12-06
//// MyView.h//#import <UIKit/UIKit.h>@interface MyView : UIView { UIButton* m_button;}/** * 關聯event,delegate*/-(void)connection:(id)target;-(void)setButtonText:(NSString*)text;@end//// MyView.m//#import "MyView.h"@implementation MyView- (
Time of Update: 2018-12-06
這個是之前解決一個Andorid上簡訊發送報告錯誤的BUG時在別人的blog裡學到的,描寫的很細緻,仔細讀了就能自己解CDMA的簡訊PDU格式了,而且原作者還用顏色給位元組做了區分,很偉大啊 【粘過來沒顏色了,杯具,原文連結:http://blog.lytsing.org/archives/180.html 】
Time of Update: 2018-12-06
有兩種方法可以使用:1、命令列: 首先開啟模擬器,然後在命令列裡輸入,telnet localhost xxx,這裡的xxx的地方填你所啟動的模擬器的名稱的前面幾個數字,一般是5554;斷行符號後出現OK就說明串連成功了,接下來就可以使用sms send 和 gsm call類比收簡訊和電話中了。簡訊:sms send 10086 “This is a test.” // 好像中文不怎麼支援,模擬器收到簡訊後都是亂碼撥號:gsm call +10086 //
Time of Update: 2018-12-06
編譯時間遇到些問題,這裡記錄下來,方便回顧:1、arm-eabi-4.4.3prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-gcc -mthumb-interwork -Ibionic/libc/private -o out/target/product/generic/obj/lib/crtbegin_dynamic.o -c
Time of Update: 2018-12-06
1) 遠程倉庫相關命令檢出倉庫:$ git clone git://github.com/jquery/jquery.git查看遠程倉庫:$ git remote -v添加遠程倉庫:$ git remote add [name] [url]刪除遠程倉庫:$ git remote rm [name]修改遠程倉庫:$ git remote set-url --push [name] [newUrl]拉取遠程倉庫:$ git pull [remoteName]
Time of Update: 2018-12-06
在工作中遇到一些概念模糊的地方, 需要記住了 bit意為“位”或“位元”,是電腦運算的基礎; byte意為“位元組”,是電腦檔案大小的基本計算單位; 說到usb2.0標準介面傳輸速率。許多人都將“480mbps”誤解為480兆/秒。其實,這是錯誤的,事實上“480mbps”應為“480兆位元/秒”或“480兆位/秒”,它等於“60MB/秒”,大家看到差距了吧。 這要從bit和byte說起:bit和byte同譯為"位元"
Time of Update: 2018-12-06
首先手裡必須有release的版本的備份出來的/.repo/manifests/default.xml檔案,該檔案記錄了每個git庫的在該版本下的具體的版本情況,整個代碼的sync都是依據他來的; 1、repo sync 將本地代碼更新至最新;2、將手裡的manifests.xml(release版本下備份得到的default.xml),更名為default.xml,並替換/.repo/manifests/下的同名檔案;3、執行repo sync; 這樣就可以獲得了指定release版本的代碼;
Time of Update: 2018-12-06
我之前使用了wubi(Ubuntu官方提供的工具)安裝了Ubuntu10.10,是雙系統,這樣在ubuntu下也可以訪問windows盤符,但其實都是其mount上的,安裝時空間分小了,需要再使用一塊空間進行另一份代碼的編譯,ubuntu的盤符不夠用了,一開始想到的是擴充ubuntu disk的大小,找到使用lpvm工具進行複製的方法,可是我安裝ubuntu的盤符的空間也已經不夠了,不得已想到可以在掛載的windows盤符上編譯啊,
Time of Update: 2018-12-06
備忘: 在開發時經常會在git庫下建好幾個本地分支來做修改,驗證正確後再push到伺服器上,這裡需要注意的一點是:在repo sync 更新本地代碼到伺服器上時,只會更新你當前所在的本地分支到最新,比如說在/packages/apps/Mms這個git 庫下被建立了3個本地分支,分別是 master *work test * 號表示當前在work分支上,如果現在執行repo sync 那麼只有work分支下的內容會到最新,這時使用git checkout
Time of Update: 2018-12-06
卡片的數字 PIN 碼特性如下:a) PIN1碼的特性: 1) 4位十進位數字組成 2) 初始值固定為“1234” 3) 初始狀態為未啟用 4) 允許啟用 5) 連續3次校正失敗後將被鎖 6) 允許使用者修改b) PUK1碼的特性: 1) 8位十進位數字組成 2)
Time of Update: 2018-12-06
就是那個訪問近端分享或網站時彈出的Windows標準的使用者驗證對話方塊,如果選擇了“記住密碼”之後下次就不需要登入了。副作用就是當對方修改了登入使用者或密碼資訊之後,再去訪問就永遠提示訪問錯誤,而不會重新彈出驗證對話方塊讓你輸入。這時候需要清除windows之前儲存的使用者密碼資訊。在命令列下執行命令:control userpasswords2在彈出的設定對話方塊選擇“進階”選項卡,然後點擊“管理密碼”按鈕。找到對應的地址刪除,重啟windows系統即可
Time of Update: 2018-12-06
轉自:http://liubin.nanshapo.com/2010/12/28/memory-leak-for-the-thread/ 最近解決的一個記憶體泄露,竟然是由於線程問題引起的看看下面代碼,如何?1 new Thread(new Runnable() {2 public void run() {3
Time of Update: 2018-12-06
成功裝上Mac之後發現IME不能儲存,每次開機只有一個US English,還要手動添加中文IME,甚是麻煩。今天終於找到解決辦法了,原來儲存IME需要UUID.步驟:1. 開啟 /Application/Utilities 裡面的Disk Utility2. 選中 Mac 的分區,點Info,複製下它的UUID3. 在 BootThink 安裝的 Darwin 裡找 ./Darwin/System/LibrarySL/Extensions/PlatformUUID.kext修改裡面的
Time of Update: 2018-12-06
使用Eclipse定義一個ImageVIew的時候 總是提示這個[Accessibility] Missing contentDescription attribute on image警告,雖說可以不理 但總是感覺怪怪的,在網上一搜 發現原來這是ADT
Time of Update: 2018-12-06
有時候程式運行出現死結或者訊號量卡死是很糾結的問題,單看代碼很難分析定位問題,這時候可以藉助DDMS來查看threads的運行情況,一目瞭然。 手機串連上USB,確保adb連通,然後啟動Eclipse裡的DDMS,這時候應該手機就正常串連上了 就如中顯示的,只要串連上了就可以查看某個進程裡的所有線程的活動了; 下面具體解釋下Threads標籤頁裡給出的每個欄位的意思:ID: 虛擬機器分配的唯一的線程ID,在Dalvik裡,它們是從3開始的奇數。
Time of Update: 2018-12-06
問題描述: 如果我想讓一個 sprite 顯示3秒鐘然後消失,應該怎麼做?解決:使用 CCDelayTime 和 CCCallFuncCCSprite *sprite = [CCSprite spriteWithFile:@"blabla.png"];[layer addChild:sprite];CCDelayTime* waitAction = [CCDelayTime actionWithDuration:3]; //等待3秒CCCallFunc* vanishAction =