A. android開發實戰項目課程一般是怎麼學習的啊
這個每個地方學習的不一樣,我覺得比較好的地方應該是極客學院,他們是通過超級手電筒、記事本、NDK、系統安全等具體實戰項目,既鞏固了android理論知識,又能提高實操技能,寓學於練,使學員對所學知識有更深入的了解和認識。
B. Android2.0游戲開發實戰寶典的介紹
本書以Android手機游戲的開發為主題,結合真實的游戲案例向讀者詳細介紹了Android平台下游戲開發的整個流程,同時在游戲開發的介紹過程中還分享了筆者多年積累的開發技巧與經驗。本書的講述由淺入深,從游戲開發的基礎知識到開發大型游戲,結構清晰、語言簡潔,非常適合Android游戲初學者和Android游戲進階開發者閱讀參考。
C. 有哪些android開發技巧
1、android:clipToPadding
意思是控制項的繪制區域是否在padding裡面。默認為true。如果你設置了此屬性值為false,就能實現一個在布局上事半功陪的效果。先看一個效果圖。
上圖中的ListView頂部默認有一個間距,向上滑動後,間距消失,如下圖所示。
如果使用margin或padding,都不能實現這個效果。加一個headerView又顯得大材小用,而且過於麻煩。此處的clipToPadding配合paddingTop效果就剛剛好。
同樣,還有另外一個屬性也很神奇:android:clipChildren,具體請參考:【Android】神奇的android:clipChildren屬性
2、match_parent和wrap_content
按理說這兩個屬性一目瞭然,一個是填充布局空間適應父控制項,一個是適應自身內容大小。但如果在列表如ListView中,用錯了問題就大了。ListView中的getView方法需要計算列表條目,那就必然需要確定ListView的高度,onMesure才能做測量。如果指定了wrap_content,就等於告訴系統,如果我有一萬個條目,你都幫我計算顯示出來,然後系統按照你的要求就new了一萬個對象出來。那你不悲劇了?先看一個圖。
假設現在ListView有8條數據,match_parent需要new出7個對象,而wrap_content則需要8個。這里涉及到View的重用,就不多探討了。所以這兩個屬性的設置將決定getView的調用次數。
由此再延伸出另外一個問題:getView被多次調用。
什麼叫多次調用?比如position=0它可能調用了幾次。看似很詭異吧。GridView和ListView都有可能出現,說不定這個禍首就是wrap_content。說到底是View的布局出現了問題。如果嵌套的View過於復雜,解決方案可以是通過代碼測量列表所需要的高度,或者在getView中使用一個小技巧:parent.getChildCount == position
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (parent.getChildCount() == position) {
// does things here
}
return convertView;
}
3、IllegalArgumentException: pointerIndex out of range
出現這個Bug的場景還是很無語的。一開始我用ViewPager + PhotoView(一個開源控制項)顯示圖片,在多點觸控放大縮小時就出現了這個問題。一開始我懷疑是PhotoView的bug,找了半天無果。要命的是不知如何try,老是crash。後來才知道是android遺留下來的bug,源碼里沒對pointer index做檢查。改源碼重新編譯不太可能吧。明知有exception,又不能從根本上解決,如果不讓它crash,那就只能try-catch了。解決辦法是:自定義一個ViewPager並繼承ViewPager。請看以下代碼:
/**
* 自定義封裝android.support.v4.view.ViewPager,重寫onInterceptTouchEvent事件,捕獲系統級別異常
*/
public class CustomViewPager extends ViewPager {
public CustomViewPager(Context context) {
this(context, null);
}
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
try {
return super.onInterceptTouchEvent(ev);
} catch (IllegalArgumentException e) {
LogUtil.e(e);
} catch ( e) {
LogUtil.e(e);
}
return false;
}
}
把用到ViewPager的布局文件,替換成CustomViewPager就OK了。
4、ListView中item點擊事件無響應
listView的Item點擊事件突然無響應,問題一般是在listView中加入了button、checkbox等控制項後出現的。這個問題是聚焦沖突造成的。在android裡面,點擊屏幕之後,點擊事件會根據你的布局來進行分配的,當你的listView裡面增加了button之後,點擊事件第一優先分配給你listView裡面的button。所以你的點擊Item就失效了,這個時候你就要根據你的需求,是給你的item的最外層layout設置點擊事件,還是給你的某個布局元素添加點擊事件了。
解決辦法:在ListView的根控制項中設置(若根控制項是LinearLayout, 則在LinearLayout中加入以下屬性設置)descendantFocusability屬性。
android:descendantFocusability="blocksDescendants"
官方文檔也是這樣說明。
5、getSupportFragmentManager()和getChildFragmentManager()
有一個需求,Fragment需要嵌套3個Fragment。基本上可以想到用ViewPager實現。開始代碼是這樣寫的:
mViewPager.setAdapter(new CustomizeFragmentPagerAdapter(getActivity().getSupportFragmentManager(), subFragmentList));
導致的問題是嵌套的Fragment有時會莫名其妙不顯示。開始根本不知道問題出現在哪,當你不知道問題的原因時,去解決這個問題顯然比較麻煩。經過一次又一次的尋尋覓覓,終於在stackoverflow上看到了同樣的提問。說是用getChildFragmentManager()就可以了。真是這么神奇!
mViewPager.setAdapter(new CustomizeFragmentPagerAdapter(getChildFragmentManager, subFragmentList));
讓我們看一下這兩個有什麼區別。首先是getSupportFragmentManager(或者getFragmentManager)的說明:
Return the FragmentManager for interacting with fragments associated with this fragment's activity.
然後是getChildFragmentManager:
Return a private FragmentManager for placing and managing Fragments inside of this Fragment.
Basically, the difference is that Fragment's now have their own internal FragmentManager that can handle Fragments. The child FragmentManager is the one that handles Fragments contained within only the Fragment that it was added to. The other FragmentManager is contained within the entire Activity.
已經說得比較明白了。
6、ScrollView嵌套ListView
這樣的設計是不是很奇怪?兩個同樣會滾動的View居然放到了一起,而且還是嵌套的關系。曾經有一個這樣的需求:界面一共有4個區域部分,分別是公司基本信息(logo、名稱、法人、地址)、公司簡介、公司榮譽、公司口碑列表。每部分內容都需要根據內容自適應高度,不能寫死。鄙人首先想到的也是外部用一個ScrollView包圍起來。然後把這4部分分別用4個自定義控制項封裝起來。基本信息和公司簡介比較簡單,榮譽需要用到RecyclerView和TextView的組合,RecyclerView(當然,用GridView也可以,3列多行的顯示)存放榮譽圖片,TextView顯示榮譽名稱。最後一部分口碑列表當然是ListView了。這時候,問題就出來了。需要解決ListView放到ScrollView中的滑動問題和RecyclerView的顯示問題(如果RecyclerView的高度沒法計算,你是看不到內容的)。
當然,網上已經有類似的提問和解決方案了。
給一個網址:
四種方案解決ScrollView嵌套ListView問題
ListView的情況還比較好解決,優雅的做法無非寫一個類繼承ListView,然後重寫onMeasure方法。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
ListView可以重寫onMeasure解決,RecyclerView重寫這個方法是行不通的。
說到底其實計算高度嘛。有兩種方式,一種是動態計算RecycleView,然後設置setLayoutParams;另外一種跟ListView的解決方式類似,定義一個類繼承LinearLayoutManager或GridLayoutManager(注意:可不是繼承RecyclerView),重寫onMeasure方法(此方法比較麻煩,此處不表,下次寫一篇文章再作介紹)。
動態計算高度如下:
int heightPx = DensityUtil.dip2px(getActivity(), (imageHeight + imageRowHeight) * lines);
MarginLayoutParams mParams = new MarginLayoutParams(LayoutParams.MATCH_PARENT, heightPx);
mParams.setMargins(0, 0, 0, 0);
LinearLayout.LayoutParams lParams = new LinearLayout.LayoutParams(mParams);
honorImageRecyclerView.setLayoutParams(lParams);
思路是這樣的:服務端返回榮譽圖片後,由於是3列顯示的方式,只需要計算需要顯示幾行,然後給定行間距和圖片的高度,再設置setLayoutParams就行了。
int lines = (int) Math.ceil(totalImages / 3d);
至此,這個奇怪的需求得到了解決。
可是在滑動的時候,感覺出現卡頓的現象。聰明的你肯定想到是滑動沖突了。應該是ScrollView的滑動干擾到了ListView的滑動。怎麼辦呢?能不能禁掉ScrollView的滑動?
網路一下,你肯定能搜索到答案的。先上代碼:
/**
* @author Leo
*
* Created in 2015-9-12
* 攔截ScrollView滑動事件
*/
public class CustomScrollView extends ScrollView {
private int downY;
private int touchSlop;
public CustomScrollView(Context context) {
this(context, null);
}
public CustomScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent e) {
int action = e.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
downY = (int) e.getRawY();
break;
case MotionEvent.ACTION_MOVE:
int moveY = (int) e.getRawY();
if (Math.abs(moveY - downY) > touchSlop) {
return true;
}
}
return super.onInterceptTouchEvent(e);
}
}
只要理解了getScaledTouchSlop()這個方法就好辦了。這個方法的注釋是:Distance in pixels a touch can wander before we think the user is scrolling。說這是一個距離,表示滑動的時候,手的移動要大於這個距離才開始移動控制項,如果小於此距離就不觸發移動。
看似很完美了。
但是還有另外一個問題:我每次載入這個界面花的時間太長了,每次由其它界面啟動這個界面時,都要卡上1~2秒,而且因手機性能時間不等。並不是由於網路請求,取數據由子線程做,跟UI線程毫無關系。這樣的體驗自己看了都很不爽。
幾天過去了,還是那樣。馬上要給老闆演示了。這樣的體驗要被罵十次呀。
難道跟ScrollView的嵌套有關?
好吧,那我重構代碼。不用ScrollView了。直接用一個ListView,然後add一個headerView存放其它內容。因為控制項封裝得還算好,沒改多少布局就OK了,一運行,流暢順滑,一切迎刃而解!
本來就是這么簡單的問題,為什麼非得用ScrollView嵌套呢?
stackoverflow早就告訴你了,不要這樣嵌套!不要這樣嵌套!不要這樣嵌套!重要的事情說三遍。
ListView inside ScrollView is not scrolling on Android
當然,從android 5.0 Lollipop開始提供了一種新的API支持嵌入滑動,此時,讓像這樣的需求也能很好實現。
此處給一個網址,大家有興趣自行了解,此處不再討論。
Android NestedScrolling 實戰
7、EmojiconTextView的setText(null)
這是開源表情庫com.rockerhieu.emojicon中的TextView加強版。相信很多人用到過這個開源工具包。TextView用setText(null)完全沒問題。但EmojiconTextView setText(null)後就悲劇了,直接crash,顯示的是null pointer。開始我懷疑時這個view沒初始化,但並不是。那就調試一下唄。
@Override
public void setText(CharSequence text, BufferType type) {
SpannableStringBuilder builder = new SpannableStringBuilder(text);
EmojiconHandler.addEmojis(getContext(), builder, mEmojiconSize);
super.setText(builder, type);
}
EmojiconTextView中的setText看來沒什麼問題。點SpannableStringBuilder進去看看,源碼原來是這樣的:
/**
* Create a new SpannableStringBuilder containing a of the
* specified text, including its spans if any.
*/
public SpannableStringBuilder(CharSequence text) {
this(text, 0, text.length());
}
好吧。問題已經找到了,text.length(),不空指針才怪。
text = text == null ? "" : text;
SpannableStringBuilder builder = new SpannableStringBuilder(text);
加一行判斷就行了。
先想到這么多,以後再補充。
D. 安卓開發需要學什麼
安卓開發需要學:
一、應用程序
Android以Java為編程語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個 Activity 類負責創建視窗,一個活動中的Activity就是在 foreground(前景)模式,背景運行的程序叫做Service。
二、中介軟體
操作系統與應用程序的溝通橋梁,並用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
三、硬體抽像層
Android 的 HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL
的目的是為了把 Android framework 與 Linux kernel 隔開。
讓 Android 不至過度依賴 Linux
kernel,以達成 kernel independent 的概念,也讓 Android framework
的開發能在不考量驅動程序實現的前提下進行發展。
四、編程語言
Android 是運行於 Linux kernel之上,但並不是GNU/Linux。因為在一般GNU/Linux 里支持的功能,Android 大都沒有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存儲器管理(Memory Managemeat),程序管理(Process Management),網路堆棧(Network Stack),驅動程序模型等。
下載Android源碼之前,先要安裝其構建工具Repo來初始化源碼。Repo 是 Android 用來輔助Git工作的一個工具。
參考資料來源:網路—android開發
E. Android2.0游戲開發實戰寶典的圖書目錄
第1篇 Android游戲兵法 ——謀攻篇
第1章 Android平台簡介
1.1 Android的來龍去脈
1.2 掀起Android的蓋頭來
1.2.1 選擇Android的理由
1.2.2 Android的應用程序框架
1.3 Android開發環境的搭建
1.3.1 SDK的下載及安裝
1.3.2 Eclipse集成開發環境的搭建
1.3.3 虛擬設備的創建與模擬器的運行
1.3.4 第一個Android程序
1.3.5 Android程序的監控與調試
1.4 小結
第2章 Android游戲開發之前台渲染
2.1 創建Android用戶界面
2.1.1 布局管理
2.1.2 常用控制項及其事件處理
2.2 圖形與動畫在Android中的實現
2.2.1 簡單圖形的繪制
2.2.2 貼圖的藝術
2.2.3 自定義動畫的播放
2.3 Android平台下的多媒體開發
2.3.1 音頻的播放
2.3.2 視頻的播放
2.3.3 Camera圖像採集
2.4 小結
第3章 Android游戲開發之互動式通信
3.1 Android應用程序的基本組件
3.1.1 Activity組件
3.1.2 Service組件
3.1.3 Broadcast Receiver組件
3.1.4 Content Provider組件
3.1.5 Android Manifest.xml文件簡介
3.2 應用程序的內部通信
3.2.1 Handler類簡介
3.2.2 使用Handler進行內部通信
3.3 應用程序組件之間的通信
3.3.1 Intent類簡介
3.3.2 Intent Filter類簡介
3.3.3 示例1:與Android系統組件通信
3.3.4 示例2:應用程序組件間通信示例Activity部分的開發
3.3.5 示例3:應用程序組件間通信示例Service部分的開發
3.4 小結
第4章 Android游戲開發之數據存儲和感測器
4.1 數據存儲在Android平台的實現
4.1.1 私有文件夾文件的寫入與讀取
4.1.2 讀取Resources和Assets中的文件
4.1.3 輕量級資料庫SQLite簡介
4.1.4 SQLite的使用示例
4.1.5 Content Provider的使用
4.1.6 Preferences的使用
4.2 Android平台下感測器應用的開發
4.2.1 感測器應用的開發流程
4.2.2 常用感測器簡介
4.2.3 感測器應用開發示例
4.2.4 使用Sensor Simulator模擬感測器變化
4.2.5 使用新版本的API開發感測器應用
4.3 小結
第5章 Android游戲開發之網路編程
5.1 基於Socket套接字的網路編程
5.2 基於HTTP協議的網路編程
5.2.1 通過URL獲取網路資源
5.2.2 在Android中解析XML
5.3 Android平台下的Google Map
5.3.1 GenPoint與MapView的搭配使用
5.3.2 LocationListener的使用
5.4 其他網路通信方式
5.4.1 使用WiFi進行開發
5.4.2 藉助於藍牙(Bluetooth)技術進行開發
5.5 小結
第6章 不一樣的游戲,不一樣的體驗
6.1 射擊類游戲
6.1.1 游戲玩法
6.1.2 視覺效果
6.1.3 游戲內容設計
6.2 競速類游戲
6.2.1 游戲玩法
6.2.2 視覺效果
6.2.3 游戲內容設計
6.3 益智類游戲
6.3.1 游戲玩法
6.3.2 視覺效果
6.3.3 游戲內容設計
6.4 角色扮演游戲
6.4.1 游戲玩法
6.4.2 視覺效果
6.4.3 游戲內容設計
6.5 闖關動作類游戲
6.5.1 游戲玩法
6.5.2 視覺效果
6.5.3 游戲內容設計
6.6 冒險游戲
6.6.1 游戲玩法
6.6.2 視覺效果
6.6.3 游戲內容設計
6.7 策略游戲
6.7.1 游戲玩法
6.7.2 視覺效果
6.7.3 游戲內容設計
6.8 養成類游戲
6.8.1 游戲玩法
6.8.2 視覺效果
6.8.3 游戲內容設計
6.9 經營類游戲
6.9.1 游戲玩法
6.9.2 視覺效果
6.9.3 游戲內容設計
6.10 體育類游戲
6.10.1 游戲玩法
6.10.2 視覺效果
6.10.3 游戲內容設計
6.11 小結
第7章 游戲背後的數學與物理
7.1 編程中經常用到的數理知識
7.1.1 數學方面
7.1.2 物理方面
7.2 物理小球在游戲中的應用
7.2.1 開發運動體Movable類的代碼
7.2.2 開發物理引擎BallThread類的代碼
7.2.3 開發BallView類的代碼
……
第8章 游戲中的人工智慧
第9章 游戲開發小秘技
第2篇 Android游戲兵法——實戰篇
第10章 體育游戲——瘋狂足球
第11章 益智游戲——推箱子
第12章 滾屏動作游戲——太空保衛戰
第13章 棋牌游戲——中國象棋人機對弈
第14章 D物理感測器游戲——小球快跑
第15章 冒險游戲——勝利大逃亡
第16章 策略游戲——回到戰國
F. 關於Android開發的一些書籍
Android編程入門教程andbook
andbook是我看到的最簡單但最好的Android程序開發入門書籍,內容僅有60多頁,圖文並茂,如果你從來沒有接觸過Android開發,也完全可以通過閱讀此書了解程序開發過程,甚至對APK程序的基本原理和Android UI界面開發有個清晰的認識,相信你花上幾個小時讀過後,一定會躍躍欲試加入Android開發行列,心動吧,那就行動吧。。。
Android應用開發詳解
Android應用開發詳解是一本Android應用開發書籍,既適合Android初學者,也適合具備了一定Android開發經驗但需要開發案例的高級讀者。 該書分為三個部分,共18章,由淺入深地詳細介紹了Android的每個開發細節。 該書基礎翔實,實例豐富,案例真實。從基礎到案例覆蓋了Android應用開發的三大領域:基礎應用、網路應用和游戲應用。讀者所需要學習的,正是該書描述的。
深入淺出Android–Google手持設備應用程序設計
入門書籍,作者寫的很不錯,可以在閱讀SDK的同時閱讀這本書,中間的一些使用介紹的非常清楚,最重要的是中文版的
Google Android應用框架原理與程式設計36技
最早介紹Android的中文書籍,台灣人寫的繁體版的,看得有些影響,不過還是值得耐心閱讀的
Android A Programmer』s Guide
多個專家寫的介紹Android的書籍,內容寫的很不錯,Ask the Expert部分針對一些問題作了詳細的說明
Android Essentials
對Android介紹的比較全面,從安裝到開發,應該有新版本了。
Google Android SDK開發範例大全(第2版)
以Android手機應用程序開發(採用AndroidSDK2.1)為主題,通過160多個範例全面且深度地整合了手機、網路及服務等多個開發領域,為讀者提高程序設計功力提供了很大的幫助。
Google Android開發入門與實戰
內容上覆蓋了用Android開發的大部分場景,從Android基礎介紹、環境搭建、SDK介紹、Market使用,到應用剖析、組件介紹、實例演示等方面。從技術實現上,講解了5個Android平台下的完整綜合實例及源代碼分析,分別是RSS閱讀器、基於Google Map的個人GPS、豆瓣網(Web 2.0)客戶端、在線音樂播放器、手機信息助手,為初學者學習與實踐結合提供了很好的指導。
Android平台開發之旅
涵蓋了Android平台1.5到2.2版本的主要功能特性,立足實際的開發案例,介紹了Android手機平台開發的基礎概念、實用技術和應用模式。主要內容包括:平台基礎、開發環境搭建、程序框架、高級界面和底層界面設計、文件系統管理、網路通信、無線通信、多媒體編程、個人信息管理、電話系統、資料庫應用、XML應用和地圖應用。開發實例多達120例。
如何成為Android高手
成為一名真正的Android 高手必須掌握和遵循的一些准則:
1,學會懶惰
2,精通Android 體系架構、MVC、常見的設計模式、控制反轉(IoC)
3,編寫可重用、可擴展、可維護、靈活性高的代碼
4,高效的編寫高效的代碼
5,學會至少一門伺服器端開發技術
Android開發指南中文版之應用程序框架
Android SDK1.5版的英文開發資料Android Development Guide中應用程序框架部分的翻譯PDF文件。
G. 想買一本android的書,android開發實戰經典好還是瘋狂android開發講義好呢不敢隨便買太貴了
個人推薦瘋狂android講義。網上有很多掃描版的,源碼也有提供下載。不過確實不如買到手實在。
H. 哪裡有Android手機嵌入式開發實戰視頻教程
推薦你看看老夫子老師的《零基礎Android手機嵌入式開發實戰課程(網吧計費系統、多功能播放器、驅動開發)》 本套課程從最礎的C語言和數據結構起步,一步步學習ARM裸機開發、Linux應用開發、Linux系統移植、Linux設備驅動開發、 Android應用開發、Android系統移植、Android設備驅動開發。 本套課程從最礎的C語言和數據結構起步,一步步學習ARM裸機開發、Linux應用開發、Linux系統移植、Linux設備驅動開發、 Android應用開發、Android系統移植、Android設備驅動開發。 潘建藍 18:34:01 以下是課程大綱: 第一部分 嵌入式C與數據結構篇 (20講) 1)課程概述、變數與數據類型 2)運算符與嵌入式位運算 3)分支結構 4)循環結構 5)數組 6)指針 7)函數 8)字元串 9)結構體 10)文件 11)數據結構1--單鏈表1 12)數據結構2--單鏈表2 13)數據結構3--循環鏈表和雙向鏈表 14)數據結構4--棧 15)數據結構5--隊列 16)數據結構6--查找 17)數據結構7--排序 第二部分ARM裸機開發篇 (43講) 21) 嵌入式系統概述 22) ARM硬體開發平台介紹 23) ARM體系結構 24) ARM工作狀態、工作模式 25) ARM工作寄存器、異常處理 26) ARM指令集 27) ARM偽指令 28) ATPCS規則 29) ARM啟動代碼分析 30) GPIO原理 31) 流水燈實驗 32) 按鍵實驗 33) 蜂鳴器實驗 34) 中斷原理 35) 中斷實驗 36) 串口原理 37) 串口實驗 38) PWM原理 39) PWM實驗 40) RTC原理 41) RTC實驗 42) ADC原理 43) ADC實驗 44) 觸摸屏原理 45) 觸摸屏實驗 46) LCD原理 47) Sony X35 LCD晶元規格書解讀 48) LCD實驗1、顯示圖像 49) LCD實驗2、圖像特效及顯示文字 50) IIC原理 51) AT24c08晶元規格書解讀 52) IIC實驗 53) DMA原理 54) DMA實驗第三部分 Linux應用開發 (28講) 64) 課程介紹、VMware及Linux安裝 65) Linux配置及vi使用 66) Linux shell命令及Shell腳本 67) Linux編程基礎:gcc、g++、gdb、Makefile 68) 標准文件操作 69) 不帶緩存IO操作 70) fcntl與select 71) Linux進程原理 72) Linux進程系統調用 73) 守護進程 74) 進程間通信IPC原理 75) 管道通信 76) 信號 77) 共享內存 78) 信息隊列 79) Linux多線程原理 80) 線程同步與互斥鎖 81) 線程同步與信號量 82) 生產者消費者模型 83) Linux網路編程原理 84) TCP網路通信 85) Linux並發網路伺服器 86) UDP網路通信 87) Linux下MySQL資料庫配置使用 88) Linux下C語言資料庫操作 89) Linux應用開發綜合項目:即時通信系統1 90) Linux應用開發綜合項目:即時通信系統2 91) Linux應用開發綜合項目:即時通信系統3 第四部分 Linux系統移植 (5講) 92) 系統移植概述 93) UBoot移植 94) UBoot源碼導讀 95) 內核移植 96) 根文件系統移植 第五部分 Linux設備驅動 (13講) 97) Linux設備驅動開發概述 98) 設備驅動開發的基本框架 99) 同步、互斥 100) 阻塞、睡眠機制 101) Poll和select操作 102) 非同步通知機制 103) 中斷處理程序編寫 104) 驅動程序上/下半部處理與延緩執行機制 105) 內核定時器與延遲機制 106) 內核內存管理機制 107) 字元設備驅動實例 108) 塊設備驅動實例 109) 網路設備驅動實例