摘要:
第三天,google說,伊甸園(linux世界)要被隔離,于是便創造了亞當(Adm)與夏娃(Eve),稱它為zygote和system_server --xxx 第二天,init跑完了,它對于android系統,最重要的,就是啟動了zygote和system-server,誰是Adam誰是Eve? 從分析init.rc來看service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server --start-system-server只是個參數。 分析源碼 啊,原來夏娃(zygote)
閱讀全文
摘要:
第二天,google說,荒蕪要被開墾,系統便運作了,它是linux。 --xxx 荒蠻大地就要變得肥沃,linux已經運行起來了。。。。 linux就不多講了,這里只講講被google大刀闊斧改了內核后的linux。 第一天最后,內核init已經干完了自己的事,把控制權交給了第一個用戶級進程,也叫做init。 想知道這個init干了什么事,我們只能看看源碼,不貼代碼,這里只說說它干了什么。 (system/core/init/init.c -->main)一、清空umask 也就是設置缺省權限,這里設置為0,umask為0000的話,就相當于chmod中的0777,經常使用linux對于
閱讀全文
摘要:
第一天,google說,要有電,于是電流涌向了電路板,涌入了arm處理器,于是arm運作了。 --xxx 嵌入式世界誕生之出,世界是荒蠻的,電流涌向各個芯片,各種處理器等待著喚醒。 arm覺醒了,開始審視自己。。。。 ---------------下面內容可能有誤,請指正------------------- 人們叫他Bootloader,和PC中的BIOS是哥們,負責芯片各個端口的初始化,以及cpu時鐘等等設置。 在手機中,bootloader一般就是刷機人口中的底包(并不全是,第二天會說),以摩托為例,買到手機后發燒友們總會首先刷底包,什么北歐、港行、巴西什么的底包。首先下載下來100~.
閱讀全文
摘要:
某些安全管理類具有程序鎖功能,大致功能是這樣的:安全管理程序列出系統中的所有應用,用戶選定一些想鎖定的程序,并設置好密碼,這樣以后,再運行那些程序會跳轉到一個權限頁面,要求輸入密碼訪問,或者不訪問并推出。 如何實現呢? 第一個想法就是寫一個service監測activity 棧,如果棧頂有更改,則判斷其是否為受保護的程序,是,就intent轉向自己定義的認證授權activity;否,則什么都不做。找來找去,sdk沒有提供某個回調方法或事件、廣播之類的api,只能自己一直while中檢測。 于是尋找第二種方法,在源碼中找所有service和aidl,也沒發現callback或者broa...
閱讀全文
摘要:
要做一個im軟件,消息收發的即時性就是靈魂了,我在atomQQ中,使用了service來進行對服務器的消息輪詢(-_-!! 除了service還能用啥呢。。)這里首先說明webqq3的消息輪詢機制通過抓包發現,webqq接受各種即時消息是通過這個posthttp://d.web2.qq.com/channel/poll2這個地址實現的POST http://d.web2.qq.com/channel/poll2這個提交的超時時間要長,一定要長,服務器是這樣給你推送消息的:* 客戶端首先post上面那個地址,并在一個長時間內等待服務器返回* 服務器檢查是否有沒有推送出去的消息,如果沒有,而且打到
閱讀全文
摘要:
在list當中,如果自定義item中的內容是從網絡獲取的,并且要求較高的實時性,那么就需要異步加載,這樣,只需要顯示在屏幕上的item以及即將被顯示的item去獲取網絡資源,不至于對網絡訪問占用很大的帶寬,在移動應用中尤其要這么做。下面是我實現item加載頭像、昵稱|備注名稱、個性簽名的異步加載方法。首先,list是與adapter適配器綁定。ListadAdapter與ExpanedListAdapter當中有幾個必須實現的方法:public Object getChild(int group, int child)public long getChildId(int group, int
閱讀全文
摘要:
首先看效果這里,為了方便邏輯與ui分開,在好友列表與群列表使用Activity,而不是view。最后,通過 Window 的 .getDecorView();方法獲得view,具體代碼如下:onCreate(){........//好友列表意圖 Intent ittFriends=new Intent(this,FriendListActivity.class); //這里就獲取到了viewViewGroup friendsView=(ViewGroup) (m_ActivityManager.startActivity("", ittFriends)).getDecorV
閱讀全文
摘要:
在退伍之后本來出于興趣,研究一下很云很云的webqq,分析了兩個星期協議,終于搞出來,再打算提高提高andrdio水平,就想做出來這個東西,期間經歷了一次webqq2協議向webqq3協議的升級,真讓我頭疼,最終還是搞定了,現在完成70%了,把之前做過的事記錄一下。先看看界面:圖標:這個戴紅領巾的企鵝就是登陸界面,放個q娘的logo吧,由于服務器的原因,有可能會輸入驗證碼。 主界面,qq好友與群聊天界面:后面會單獨寫出各個部分具體的細節實現atomQQ 筆記 之 好友列表與群列表atomQQ 筆記 之 列表元素的異步加載atomQQ 筆記 之 聊天消息、狀態消息等各種消息的輪詢
閱讀全文
摘要:
騰訊webqq的登錄時,只需向服務器提交1次密碼和驗證碼,之后服務器會返回兩個會話id,就像令牌一樣,每次ajax向服務器拉取信息時,都會攜帶這兩個令牌,直至用戶注銷登錄或意外退出。上次曾把密碼與驗證碼混合MD5加密的js腳本提取出來,這里再貼一下。md5.jsvar chrsz=8;var mode=32;var hexcase=1;function preprocess(A){ var B=""; B+=A.verifycode.value; B=B.toUpperCase(); A.p.value=md5(md5_3(A.p.value)+B); return tru
閱讀全文
摘要:
Layout--布局常用的的就是線性布局:<?xml version="1.0" encoding="utf-8"?><!--這是個線性布局--><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <!--這個屬性規定它是縱向方式排列控件--> android:orientation="vertical" <!--前面加了layout_的屬性,就是相對于父控件的屬性,這里是填
閱讀全文