Android教學大綱
一、Android學習進度規劃:
第1周:【UI基礎】
- 第1天: Android環境搭建
- 第2天: 常用UI布局及主要控件
- 第3天: 常用UI控件及事件處理
- 第4天: UI高級控件及Android資源
- 第5天: Activity生命周期
【知識點】
- Android環境搭建及工程目錄介紹(前期使用Eclipse,版本:SDK21及以上版本,四周后逐漸接觸Android Studio)
- 常用UI布局及主要控件
- LinearLayout、RelativeLayout常用屬性【重點講解】
- FrameLayout、GridLayout常用屬性
- TextView、EditText、Button、ImageView、Toast的基本用法
- 表單三大UI控件及相應控件的事件處理及部分特殊drawable資源(selector、shape)
- RadioButton及RadioGroup的用法:【重點】單選、監聽事件、利用selector實現選中與否、改變默認單選button的顯示效果、修改topDrawable
- CheckBox的多選效果及監聽。利用selector及shape修改多選框的顯示效果
- Spinner、AutoCompleteTextView、ScrollView及適配器簡介、數組資源
- Spinner的用法
- ArrayAdapter適配器的基本用法
- 數組資源String Array
- AutoCompleteTextView、ScrollView的基本用法
- ProgressBar、SeekBar、RatingBar的基本用法及美化
- Activity生命周期
第2周:
- 第6天: Activity管理及Intent七大屬性
- 第7天: AsyncTask異步任務
- 第8天: ListView基本用法
- 第9天: ListView分頁及優化
- 第10天: 圖文混排+GridView
【知識點】
- Activity頁面跳轉、生命周期及Intent七大屬性
- AsyncTask異步任務
- ListView基本用法及適配器
- ListView分頁及優化 + item多種布局的ListView
- GridView圖文混排
第3周:
- 第11天: Menu+Dialog+Toast
- 第12天: Fragment
- 第13天: SharedPreferences、SDCard及網絡存儲 + HttpURLConnection實現文件上傳
- 第14天: SQLite數據庫 + WebView
- 第15天: ContentProvider之ContentResolver
【知識點】
- Menu(選項菜單、上下文菜單、PopupWindow自定義菜單)+Dialog+Toast
- Fragment基本用法、生命周期、Fragment間傳值
- SharedPreferences、內部文件存儲及外部文件存儲SDCard
- SQLite數據庫 + WebView
- ContentProvider之ContentResolver
第4周:
- 第16天: 自定義ContentProvider
- 第17天: Loader異步裝載
- 第18天: Handler與多線程
- 第19天: ActionBar + LruCache + Bitmap二次采樣
- 第20天: ViewPager
【知識點】
- 自定義ContentProvider
- Loader異步裝載器(CursorLoader及AsyncTaskLoader)
- Handler與多線程及源碼分析
- ActionBar + 圖片緩存(圖片三層緩存策略、LruCache、Bitmap二次采樣生成縮略圖)
- ViewPager(制作歡迎引導頁及加載網絡圖片的ViewPager及自動播放的ViewPager)
第5周:
- 第21天: TAB書簽導航
- 第22天: BroadcastReceiver + Notification
- 第23天: Service1
- 第24天: Service2
- 第25天: 百度地圖1
【知識點】
- TAB書簽導航制作
- FragmentTabHost制作TAB書簽導航
- Fragment + RadioGroup制作TAB書簽導航
- Fragment + ViewPager + RadioGroup制作TAB書簽導航
- Fragment + 帶滑動導航條的ViewPager 制作TAB書簽導航
- Fragment + ViewPager + HorizontalScrollView自定義滑動導航條
- Fragment + ActionBar制作TAB書簽導航
- Fragment + ActionBar + ViewPager制作TAB書簽導航
- BroadcastReceiver + 自定義廣播 + Notification
- Service(一)(服務的概念及分類、被啟動服務和被綁定服務實現音樂播放的用法)
- Service(二)(IntentService的用法及DownloadManager實現大文件下載)
- Service(三)(遠程服務:AIDL及Messenger)
第6周:
- 第26天: 百度地圖 2
- 第27天: 動畫資源 + 樣式、主題及drawable資源
- 第28天: 屏幕適配
- 第29天: 自定義View(上)
- 第30天: 自定義View(下)
【知識點】
- 百度地圖基本用法
- 動畫資源(幀動畫、補間動畫、屬性動畫基本用法)
- 屏幕適配及UI美化(樣式、主題及特殊的drawable資源:selector、shape、level-list、layer-list等)
- 自定義View(繼承于EditText、ListView)
- 自定義View(繼承于View、繼承于ViewGroup)
第8周:
- 第36天: Volley框架
- 第37天: UIL框架
- 第38天: xUtils框架
- 第39天:SlidingMenu及DrawerLayout + PullToRefresh等其他第三方技術
- 第40天: 事件分發及消費機制
【知識點】
- Volley框架
- UIL(Universal-Image-Loader)框架
- xUtils框架(ViewUtils \ HttpUtils \ BitmapUtils \ DBUtils)
- PullToRefresh(下拉刷新)+ 瀑布流及常用第三方菜單技術:SlidingMenu(側滑菜單)、DrawerLayout (抽屜)、ResideMenu(駐留菜單)、SatelliteMenu(衛星菜單)
- 事件分發及消費機制 (TouchEvent)
第9周:
- 第41天:Gesture手勢及 SurfaceView
- 第42天:播放器及攝像頭
- 第43天: RecyclerView、CardView
- 第44天:傳感器、WiFi及藍牙通訊
- 第45天:ShareSDK一鍵分享及第三方登錄 + 第三方支付 + JPush推送
【知識點】
- Gesture手勢 + SurfaceView
- 播放器及攝像頭(音樂播放、視頻播放VideoView、攝像頭)
- RecyclerView、CardView
- 傳感器、水印、QRCode二維碼
- WiFi及藍牙通訊、ShareSDK一鍵分享及第三方登錄 + Alipay第三方支付 + JPush推送
二、常用框架技術
- 網絡訪問框架
- okHttp框架、
- Retrofit(網絡訪問)
- AsyncHttpClient(【了解】)
- Volley框架 (StringRequest、JsonObjectRequest、JsonArrayRequest、ImageRequest、NetworkImageView)
- 反轉注入框架
- ButterKnife、
- Android Annotations
- xUtils框架(ViewUtils \ HttpUtils \ BitmapUtils \ DBUtils)
- 圖片異步加載框架
- Picasso、
- Fresco、
- Glide、
- UIL(Universal-Image-Loader)框架
- 數據庫ORM
- ORMLite、
- GreenDao、
- ActiveAndroid
三、考核內容
必選:
- ListView、GridView、ScrollView、WebView
- assets及各種資源(selector、raw、string、color、dimens、style、array,必須采用軟編碼編程風格)
- 動畫資源(幀動畫、補間動畫)
- 上下文菜單、PopupWindow、Dialog
- 數據存儲:SharedPreferences、內部文件存儲、SD卡存儲、SQLite數據庫操作
- ContentResolver
- CursorLoader異步裝載
- Handler與多線程或AsyncTask
- 圖片緩存
- 屏幕自適應、版本自適應
- 自定義View(至少三個)
- TAB導航(ViewPager、Fragment)
- 廣播、服務、通知
- DrawerLayout、SlidingMenu或其他第三方菜單
- PullToRefresh
項目階段必選:
- TouchEvent及手勢
- Volley、xUtils、UIL框架或其他類似網絡訪問及異步加載圖片的框架
- 瀑布流
- 混淆打包
可選:
- SurfaceView
- 音樂播放器或視頻播放(自定義MediaController)
- 二維碼掃描及生成
- RecyclerView、CardView
- 傳感器
- ShareSDK一鍵分享及第三方登錄
- JPush或其他推送技術
- Alipay或其他支付技術
- WiFi或藍牙通訊
- 文件加密及解密
- 地圖