jollen.org

Jollen 網路學院 2007 !!

Embedded Linux 技術分享與研究網站。

這是一個 Jollen 的分享平臺,這裡有一些 embedded Linux、Linux device driver 與 Linux kernel 的教學文件,也有一些個人想法的分享,都在我的 Blog 裡。

Jollen 的 Linux training 課程領域:Linux kernel、Linux device driver、cross toolchains、root filesystem build-up、ARM9/PowerPC hardware bring-up (U-Boot)。

Jollen's BlogEmbedded Linux 教育訓練

June 18, 2009: Jollen 的 Android 教學,#16: Event Listener的用法: 以Click Listener為例

Event Listener的用法: 以Click Listener為例 以Android所提供的View.OnClickListener來說明程式實作方法。一個較為良好的實作方法是在我們的Acitivty類別裡實作View.OnClickListener介面,即: import android.view.View; public class HelloClickListener extends Activity implements View.OnClickListener { ... } 每一個View都可以註冊一個event listener,當Android框架收到「click」事件後,便回呼event listener的callback method。以Button類別(按鈕元件)為例,當我們想要處理使用者觸控按鈕的事件時,就要呼叫Button類別的setOnClickListener()方法來註冊click listener。上述的實作方方法是,直接在我們的Activity類別HelloClickListener裡實作View.OnClickListener,因此上述Button類別的click listener為「this」。 上述的實作觀念,可用圖1來表示。 圖1: HelloClickListener類別實作View.OnClickListener介面 註冊click listener的程式碼如下: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.btn); button.setOnClickListener(this);...(more)

June 18, 2009: Jollen 的 Android 教學,#15: 什麼是事件監聽器(Event Listener)?

學會產生基本的UI後,接著就要學習UI的事件處理(UI Events),才能讓UI與使用者「互動」。 什麼是事件監聽器(Event Listener) UI的使用者事件處理,即View如何處理使用者的操作,是一個重要的課題。View是重要的類別,它是與使用者互動的前線;在Android框架的設計中,以事件監聽器(event listener)的方式來處理UI的使用者事件。 Android框架提供了非常良好的UI事件處理機制。先前的教學提到,View是繪製UI的類別,每個View物件都可以向Android框架註冊一個事件監聽器。每個事件監聽器都包含一個回呼函數(callback method), 這個回呼函數(callback method)主要的工作就是回應或處理使用者的操作。 Event Listener: 以Click Listener為例 以「使用者觸碰(touch)」的動作來說,當View要處理使用者觸碰的事件時,就要向Android框架註冊View.OnClickListener事件監聽器;當「touch」事件發生時,Android框架便回呼事件監聽器裡的回呼函數。 View.OnClickListener是click listener,故名思意,這是UI的「Click動作監聽器」;當使用者對View進行Click操作時(即觸控畫面上的UI元件),Android框架便會回呼這個View.OnClickListener的回呼函數。 View.OnClickListerner的回呼函數為OnClick()。 這裡所提到的監聽器泛指event listener,主要用來「監聽」使用者的各種動作。除了View.OnClickListener外,Android框架還有以下的event listener(及其callback method): View.OnLongClickListener: onLongClick() View.OnFocusChangeListener: onFocusChange() View.OnKeyListener: onKey() View.OnTouchListener: onTouch() View.OnCreateContextMenuListener: onCreateContextMenu() 另外一種處理UI事件的機制為事件處理器(event handler),event handler與event listener是不一樣的二種處理機制。在自訂Android component的教學裡,再介紹這個部份。...(more)

June 17, 2009: Garmin-Asus的nuvifone G60改用Android作業系統

CNET ASIA上的一則報導[Android to replace Garmin-Asus' current Linux platform]指出,Garmin-Asus的nuvifone G60將改採Android作業系統。 (圖片來源:CNET) 2009年二月,Garmin與Asus正式宣佈策略聯盟,並以「Garmin-Asus」雙品牌策略進行行銷。nuvifone G60是Garmin-Asus雙品牌行銷策略下的第一個產物,nuvifone G60則是以導航功能為主軸的手機。 如同Garmin的PND產品都是採用Linux作業系統一樣,原本nuvifone G60也計畫採用Linux作業系統,不久前,在engadget上的報導也出現實機照片;但是,隨著CNET這則報導的出現,整個開發計畫是否有了改變,頗令人好奇。 Android原本就對Google Map有很好的支援,再加上nuvifone G60是以導航以及地圖應用為主的手機,若是改採Android作業系統,也是一個合理的做法。...(more)

June 16, 2009: Linux 2.6.30 釋出

Linux 2.6.30於2009年6月9日釋出,Linux kernel的發展進入了Linux 2.6.3x的時代。最近一年的 Linux 2.6核心發展有相當重大的進展,除了幾個知名大廠不斷貢獻程式碼外,新產品的開發,也帶動Linux kernel的快速發展。 Linux 2.6.30加入了新的filesystem: 1. NILFS2 一種log-structured filesystem,由John K. Ousterhout與Fred Douglis於1988年提出的設計,主要針對high write throughput的應用。 2. POHMELFS (Parallel Optimized Host Message Exchange Layered File System) 一個分散式平行處理的檔案系統,在讀寫操作方面,根據[POHMELFS]官方的數據指出,POHMELFS的效能比NFS還好。 3. DST(Distributed STorage) 一個具高效能與可信賴的網路儲存檔案系統。 4. EXOFS(Object-Based Storage Devices) 支援OSD protocol的檔案系統。 5....(more)

Embedded Linux Free Learning (自由學習)

說明 1.:把 Jollen's Blog 的心得儘量系統化起來(變成專欄形式),讓大家更有效率的使用日誌。目前已經整理好的專欄如下表,請由右邊鍊結進入。

說明 2.:專欄只是儘量把內容系統化,所有的日誌麻煩大家到 Blog 的歸檔查閱 :)

嵌入式 Linux 自由專欄分類 子專欄 最後更新時間
Embedded Linux Nano-X 2007-01-13
  BSS Section Concepts 2006-12-29
  System Calls 2006-12-01
  uClinux-dist 2006-12-28
  Executable and Linking Format 2006-12-12
  Linux System Calls' Forum 2006-11-26
  Linux Video Streaming 2006-11-26
  Embedded Linux Administration 2006-11-26
  Name Service Switch 2006-11-27
Linux Device Driver Linux Device Driver 入門:架構層 2006-12-02
  Linux Device Driver 入門:I/O 處理 2006-12-29
Web-enabled PHP 2006-11-22

訂閱 jollen.org 電子報: 最新消息與專欄動態
Email:

Jollen.org 專注於 Embedded Linux

◎ 核心課程 ◎
1. Embedded Linux / x86: 基礎能力與系統管理  
2. GNU Toolchains 與 Embedded Linux Programming  
3. Embedded Linux / ARM9: 移植與開發實戰  
4. Linux Device Driver 入門  
5. Linux Device Driver 進階  
6. U-Boot 入門與進階-以 ARM9/PowerPC 為例  
◎ Jollen 講座 ◎
7. Linux 驅動程式: MMC/SD 驅動程式架構分析
8. Linux 驅動程式: SDIO 驅動程式案例講解
9.  Linux 驅動程式: Framebuffer 驅動程式-以 Jollen-Kit! 的 Panel 為例
10. Linux 驅動程式: Interrupt I/O 驅動程式-以 Jollen-Kit! 的 GPIO 為例
11. Linux 驅動程式: I2C 驅動程式-以Jollen-Kit!的 I2C EEPROM 和 LM75 溫度 IC 為例
12. Linux 驅動程式: 類比處理驅動程式-以 Jollen-Kit! 的 ADC 為例 (溫度與速度之 Sensor)
13. Linux 驅動程式: NIC 驅動程式-以 BROADCOM 54xx GigaLAN與 GMII 為例
14. Linux 驅動程式: Console 驅動程式-以VGA fbcon為例
15. Linux 系統下的視訊影像擷取: /dev/video0
16. GNU Automake 與 GNU Autoconf
17. 使用 Monotone
* 整體課程關係,可先了解「Jollen 的課程規劃」。

Jollen-Kit! 開發板 (專為 Embedded Linux Training 課程打造)

Jollen 的 Embedded Linux 電子出版

Copyright(c) 2006,2007 www.jollen.org