http://code.google.com/p/android/issues/detail?id=5596這裡提出了一個問題,並在18樓有人給出瞭解決方案。是在Android2.0/2.1兩個平台上出現的framework層的BUG。如果一個應用程式嵌入了WebView,那麼使用者使用這個程式開啟一個Web頁面輸入密碼時,密碼的上半部分顯示不出來。而輸入普通的文本輸入框和瀏覽器頁面中的文本和密碼輸入框都不存在這樣的問題。現在這個連結已經打不開了,大家可以開啟手機內建瀏覽器,開啟人人網,輸入使用
按官方的說法系統啟動時每一個進程的STDIO都被定向到了/dev/null。而logwrapper可以讓一個進程啟動時STDIO重新導向到log結點,然後通過logcat查看。這裡記錄一下它的實現機制。 init.c中的service_start方法中有這麼一句:needs_console = (svc->flags & SVC_CONSOLE) ? 1 :
1、人員組織老手幫新手檢查代碼。根據新手具體水平,可採取每動一行都檢查、關鍵代碼檢查等。2、代碼風格代碼風格需要對公開變數/方法有統一規定。代碼注釋需要對類、關鍵變數/方法、重要邏輯有注釋。3、CodeReviewsvn可以看到代碼提交記錄,供抽查。定期組織程式碼檢閱。4、提測前自測提測前一小時、半天打包自測所負責的功能和準系統。DDMS對程式運行過程中記憶體的佔用/增長,最多同時啟動並執行線程數進行測試5、Monkey測試6、靜態程式碼分析常見的有Findbugs,PMD,checkstyle
安裝minicom:sudo apt-get install minicom 檢查系統對USB轉串口驅動的支援:預設情況下ubuntu已經安裝了USB轉串口驅動(pl2303)。1、# lsmod | grep usbserial如果有usbserial,說明系統支援USB轉串口。2、插上USB轉串口,在終端輸入命令#dmesg | grep ttyUSB0,如果出現串連成功資訊,則說明ubuntu系統已經識別該裝置了。 配置minicom:運行# sudo minicom
Android源碼內建的Gallery不支援兩個手指頭縮放圖片這樣的多點觸摸功能,所以這個得自己添加。具體添加的代碼很簡單,修改一下/packages/apps/Gallery/src/com/android/camera/ViewImage.java中的rootListener就行了。 下面的代碼只做了兩點的情況,根據兩點之間的距離長度的變化計算出縮放比例:float scale = value / baseValue;再乘片原本的縮放比例:originalScale =
ContactProvider介紹:這是一個PDF文檔教程,裡面詳細解釋了ContactProvider的表結構,以及它們之間的關係。對照這個很容易看明白Android
為了方便說話,先來幾個定義。使用者自己手動安裝的程式,稱為第三方程式。編譯系統時,源碼放在packages下面產生的程式,稱為系統程式。/system/lib/下的so庫稱為系統庫/data/data/包名/lib/下的so庫稱為第三方庫系統程式只能調用系統庫,即使在編譯時間packages下面的源碼中放入jni代碼,也不會編譯產生so庫。觀察了一下packages/apps/下面內建程式,發現只有res/,src/,Android.mk,AndroidManifest.xml這幾個東西是有用的
這回說一下su程式和Superuser.apk是如何配合讓APK運行時具有root許可權的。看這篇文章之前,先看一下這一篇:http://blog.csdn.net/a345017062/archive/2011/05/24/6441986.aspx 1、APK中調用su命令2、su檢索資料庫(/data/data/com.koushikdutta.superuser/databases/superuser.sqlite),如果找到記錄的話,說明當前進程已經被使用者允許擷取ROOT許可權,則進
產品與研發溝通中需要注意的問題一、研發自身需要注意的地方:1.所有需求評審(包括討論方案)在會議之前必須要有準備材料郵件,評審完以後必須有結果郵件。2.需求相關的郵件必須要快速反饋3.對風險,建議要以郵件形式反饋出來。視具體情況,可以三五次溝通發一次郵件4.對需要有明確反饋的問題,如長時間無反饋,需要郵件繼續追問,同時注意一件事情,不要另起郵件。如果對方沒有遵守這個規則,把他拉回來。5.對於產品,可以提問題,對最後確定權在產品6.所有口頭溝通,結果必須匯總,有郵件紀錄7.對於總體時間規劃,產品如
一個軟體的UI和UE更多的是細節功夫,往往被人忽略。但作為軟體的臉面,使用者最容易注意到的又是它們。如何把它們搞好有很多地方需要慢慢摸索,但從個人經驗來看,溝通配合可能是擺在第一位的。設計師和工程師的職業思維差別很大,因此在溝通上會存在不少問題,解決這些問題沒有統一的標準答案,但有一些經驗體會說出來拋磚引玉。當在一個問題上比去年僵持不下時,可以想想。1、與設計師配合工作也是研發的一部分,因此,需要在項目前期就把各個資源的時間點、配合流程細化出來。2、尊重每個人的專業性,在介面效果、互動體驗上面糾
近日拜讀任正非的大作,講到一個很有趣的理念。管理要做到宏觀管理與微觀管理並重。回想自己過去這些日子做的事,深有感觸。這方面我自己是吃過虧的,只顧制定結構、確定方向、外部溝通這些宏觀管理,卻沒有在Code
JDK:1.直接解壓縮到開發目錄2. 配置環境變數:1.1 進入使用者根目錄1.2 查看——>顯示隱藏檔案1.3 開啟.bashrc1.4 在檔案的最後一行加入export PATH=$PATH:/你jdk的bin路徑,儲存檔案夾(如果不知道自己bin 的路徑,可以通過ls進入jdk的bin目錄然後通過pwd拿到路徑)ADT:開發android 的eclipse 外掛程式,安裝方法:1 進入eclipse,點擊Help——>Install New Software——>Add—
這個程式是把SuperUser中的su進行改版後做成的例子,關於SuperUser,可以看一下這兩篇文章:RootExplorer怎麼樣擷取root許可權的http://blog.csdn.net/a345017062/archive/2011/05/24/6441986.aspxRootExplorer怎麼樣擷取root許可權的——續http://blog.csdn.net/a345017062/archive/2011/05/24/6442306.aspx 這裡只描述一下這個程式如何運行,
以前也分不清這這兩者倒底有什麼區別,動手測試了一下,明白了。 編譯時間用g++,.c和.cpp檔案都當作c++來編譯。用gcc,.c當c檔案編譯,.cpp當c++檔案編譯。如果test.c中使用的是c++文法,只能用g++編譯。只有源碼是.c,且用gcc編譯時間,才會有__cplusplus宏定義。 連結時gcc連結的話,不能自動連結c++庫,需要手工添加-lstdc++gcc -lstdc++ test.cpp -o test象下面這樣,可以編譯但連結不了。gcc -c test.cpp
項目的源碼在這裡:http://code.google.com/p/flying-on-android/ 因為用到了dlopen等函數,所以,編譯ToolLibrary時,需要給LOCAL_SHARED_LIBRARIES加上libdl。 調用目前的目錄的子目錄下面的Android.mk時,寫法如下:include $(LOCAL_PATH)/lib/Android.mk如果像下面這樣寫的話include
這個頁面只記錄最新版本支援的文法。 操作符,按優先順序由高到低排列()-(負)*/%+-< <= > >=== !=&&||=變數定義number a = 1;text b="hello world!";if語句if a<2;{a=a+1;}elseif a==2;{}else{}for語句for number i=0;i<10;i=i+1;{}while語句number b=0;while
這是對開源項目flying中的ToolSensor.cpp的說明。flying項目的源碼在這裡:http://code.google.com/p/flying-on-android/這篇文章是對下面這個開源項目中ToolSensor.cpp的詳細描述和知識點記錄。http://code.google.com/p/flying-on-android/framework層有一個感應器服務,負責把驅動的資料提供給應用程式使用。封裝的繞來繞去,最根本的地方還是通過sensors.xxx.so與驅動打交導
先轉載一篇文章:activity contex and memery
win7與ubuntu10.10雙系統,這一年來win7就沒開過幾次,不管是速度還是開發方便性上面,都用熟了ubuntu。只是這幾天向SD卡複製檔案時,只要檔案在五、六十M以上的時候,就複製得很慢很慢,幾十分鐘吧,複製完成以後燒到板子上還用不了。就把ubuntu10.10升級到11.04,一邊升級一邊看網頁,不料弱出個對話方塊來,讓選擇grub安裝位置。當時也沒注意機器上還插著SD卡,就隨便點了個下一步,結果把grub給裝SD卡上了。結果就進入了傳說中的grub
布局中存在一個ImageSwitcher和一個ImageButton,按下ImageButton後釋放Bitmap數組中的資料(其中有一張正被ImageSwitcher使用),再調用finish()結束Activity,如下:private void finishUserGuid() {for (int i = 0; i < bitmapBuffer.length; i++) {if (bitmapBuffer[i] != null) {bitmapBuffer[i].getBitmap(