原创 SQLite數據訪問

execSQL->executeSql->executeUpdateDelete->native_executeSql 最終會通過JNI調到sqlite3_exec(存在於external文件夾中) 出錯處理:android_databa

原创 圖解Java類加載器

  Java是介於編譯型和解釋型之間的編程語言,編譯器將java源代碼編譯成中間層字節碼文件(bytecode),由Java虛擬機(Java Vir

原创 Android Windows 顯示層次

在Android的display系統中,不是僅僅只有一個顯示窗口那麼簡單,其中包括了: TYPE_APPLICATION_PANEL, TYPE_APPLICATION_MEDIA, TYPE_APPLICATION_SUB_PANE

原创 java import和package

有些人寫了一陣子 Java,可是對於 Java 的 package 跟 import 還是不太瞭解很多人以為原始碼 .java 檔案中的 impor

原创 Android 創建新的Product

Android源碼使用一個可定製的編譯系統來生成 特定的,針對自己硬件平臺的Android系統,比如不使用缺省的out/target/prodect/generic目錄,本文檔簡單介紹了這個編譯系統,並做一個針對自己硬件平臺的Androi

原创 網絡編程學習(四)

套接字選項粗分爲兩大基本類型: 一是啓用或禁止某個特性的二元選項(稱爲標誌選項),二是取得並返回我們可以設置或檢查的特定值的選項(稱爲值選項) SOL_SOCKET 下面的套接字選項是由TCP已連接

原创 網絡編程學習(六)

SCTP是一個可靠的面向消息的協議,在端點之間提供多個流,併爲多宿提供傳輸級支持。 儘管SCTP和TCP之間存在一些本質性的差別,然而SCTP的一到一接口與TCP提供的應用接口非常接近。 SCTP套接字分爲:一到一套接字;一到多套接字 一

原创 C Primer Plus隨筆

1.C99遵循C++的規範,可以將聲明放在代碼的任何位置;C99之前的編譯器大多不支援此項 2.聲明爲變量分配內存,而賦值則是在內存中存值 3.函數原型不同於聲明,聲明省略參數的描述 4.整數和浮點數的存

原创 網絡編程學習(七)

SCTP中的流不同於TCP中的字節流,它是關聯內部具有先後順序的一個消息序列。這種以流本身而不是以流所在關聯爲單位進行消息排序的做法用於避免僅使用單個TCP字節流導致的頭端阻塞現象。 SCTP流可以說是一個既能避免頭端阻塞又能在相關的消息

原创 vim 相關使用

Vim的學習曲線相當的大(參看各種文本編輯器的學習曲線),所以,如果你一開始看到的是一大堆VIM的命令分類,你一定會對這個編輯器失去興趣的。你想以最快的速度學習人類史上最好的文本編輯器VIM嗎?你先得懂得如何在VIM倖存下來,然後一點一點

原创 網絡編程學習(十)

1.守護進程(daemon)是在後臺運行且不與任何控制終端關聯的進程。Unix系統通常有很多守護進程在後臺運行,執行不同的管理任務。 守護進程沒有控制終端通常源於它們由系統初始化腳本啓動。然而守護進程也可能從某個終端由用戶在shell提示

原创 網絡編程學習(八)

gethostbyname和gethostbyaddr在主機名字與IPv4地址之間進行轉換, getservbyname和getservbyport在服務名字和端口號之間進行轉換, getaddrinfo和getnameinfo分別用於主

原创 Android 屬性系統 property

  屬性(property)系統對Android來說是一個重要的功能。他作爲一個系統服務管理着系統的配置和狀態,所有的這些系統配置和狀態都是屬性(property)。屬性(property)是一對鍵/值(key/value)組合,鍵和值

原创 i2c相關知識

     在內核中有兩種方式的i2c設備驅動的編寫方法,一種legacy方式,一種是newstyle方式。韋東山視頻和宋寶華書籍裏講解的都是legacy方式,但是在新版本內核中,legacy方式的i2c設備驅動已經編譯不過去了,因爲幾個主

原创 網絡編程學習(九)

IPv4的TCP客戶和一個IPv6的TCP服務器進行通信的步驟如下: 1.IPv6服務器啓動後創建一個IPv6的監聽套接字,我們假定服務器把通配地址捆綁到該套接字 2.IPv4客戶調用gethostbyname找到服務器主機的一個A記錄。