Android App 開發技能圖譜

来源:http://www.cnblogs.com/wuyudong/archive/2016/09/20/5888406.html
-Advertisement-
Play Games

操作系統 Windows/MacOSX/Linux 編程語言 Java HTML/JS (Hybrid/Web App) C/C++ (NDK) SQL (DB) Kotlin 開發工具 IDE Android Studio Eclipse 調試工具 網路調試 Charles Wireshark F ...


操作系統

  • Windows/MacOSX/Linux

編程語言

  • Java
  • HTML/JS (Hybrid/Web App)
  • C/C++ (NDK)
  • SQL (DB)
  • Kotlin

開發工具

  • IDE

    • Android Studio
    • Eclipse
  • 調試工具

    • 網路調試

      • Charles
      • Wireshark
      • Fiddler
      • tcpdump
      • Paw/Postman
    • 記憶體分析

      • monitor
      • MAT
    • Android tools

      • adb
      • draw9patch
      • hierarchyviewer
      • uiautomatorviewer
  • 版本管理

    • Git

      • Git命令
      • Github/GitLab
    • SVN

  • CodeReview

    • Gerrit
    • Github pull request
  • Bug/任務管理

    • Redmine
    • JIRA
    • Bugzilla
    • Teambition
    • Tower
  • 編譯工具

    • Gradle
  • 持續集成

    • Jenkins
    • Travis CI
  • 應用分發

    • 蒲公英
    • fir.im

App基礎

  • 基本組件

    • Activity
    • Service
    • Content Provider
    • Broadcast Receiver
    • Intent/Intent Filter
    • App Manifest File
  • UI

    • Layouts
    • Widgets
    • Resources
    • Animations
    • 設備適配
  • Connectivity

    • WiFi
    • Mobile網路
    • 網路狀態監聽
  • MultiMedia

    • Audio/Video
    • Camera/Gallery
  • GPS&Location&Map

    • 系統定位

      • GPS定位
      • Network定位
    • 3rd Map定位

      • 百度Map
      • 高德Map

App進階

  • Process&Thread

    • Process

      • Linux進程
      • App進程原理
    • AIDL

      • 實現方式
      • 原理
    • Handler/Looper/MQ/Thread

    • Loader

    • AsyncTask

  • 性能優化

    • ANR

    • 佈局層級性能優化

  • 記憶體優化

    • 記憶體檢測工具

    • 記憶體分析工具

    • Bitmap優化

    • 記憶體泄露查找及分析

  • 網路優化

    • API優化

    • 低網速下優化

    • 流量使用優化

      • 判斷當前網路類型
      • 使用緩存
  • 單元測試

App高級

  • 相關原理熟悉

    • Activity

      • 啟動流程
      • 生命周期回調原理
      • 與View/Window的關係
      • 與Fragment的關係
    • View/Window

      • View/Window關係
      • View渲染
      • View事件分發處理流程
    • 編譯打包

      • 編譯打包原理
      • 逆向工程分析
      • 熱修複
  • Hybrid App

    • 與Native App的異同

    • 主流框架

      • PhoneGap
      • ionic
      • React Native
  • 架構能力

    • 架構

      • MVC
      • MVP
      • MVVM
      • Flux
      • Clean Architecture
    • App框架

      • 分包
      • 分層
    • 設計模式

      • OOD原則
      • 常用設計模式運用
  • ART&Dalvik

    • AOT compilation
    • GC
    • Bytecode&.Dex
  • 自動化測試

    • monkey/monkey runner
    • UIAutomator
    • Espresso
    • Robotium

擴展學習

  • 響應式編程

    • Rx

      • RxJava
      • RxAndroid
      • RxBinding
    • Agera

  • 主流開源庫

    • 快速開發

      • Android Annotation
      • ButterKnife
    • Views

      • 太多
    • HTTP模型

      • Retrofit
      • OkHttp
      • Volley
    • 圖片處理

      • Glide
      • Fresco
      • Picasso
      • UIL
    • 依賴註入

      • Dagger2
    • 資料庫

      • ORMLite
      • GreenDAO
      • Realm
      • Sugar
    • 輔助

      • Logger
      • LeakCanary
      • DbInspector

本文轉載自:https://github.com/TeamStuQ/skill-map/blob/master/data/map-MobileDev-AndroidDev.md


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • html, xhtml和xml 1.定義及特點: 1) html:Hyper Text Markup Language 超文本標記語言 是最早寫網頁的語言,但編碼不規範,主要用於控制數據的顯示和外觀。語法較為鬆散,不嚴謹的web語言; ① 簡易性:超級文本標記語言版本升級採用超集方式,從而更加靈活方 ...
  • 就是準備跟著W3C上的教程過一遍HTML啦,邊看邊記錄更便於理解記憶吧~ 1、屬性 HTML 標簽可以擁有屬性。屬性提供了有關 HTML 元素的更多的信息。屬性總是以名稱/值對的形式出現,比如:name="value"。 屬性總是在 HTML 元素的開始標簽中規定。 屬性例子 1: <h1> 定義標 ...
  • $.ajax()是所有ajax方法中最底層的方法,所有其他方法都是基於$.ajax()方法的封裝。這個方法只有一個參數,傳遞一個各個功能鍵值對的對象。 $.ajax()方法對象參數表: 註意:對於data屬性,如果是GET模式,可以使用三種之前說所的三種形式。如果是POST模式可以使用之前的兩種形式 ...
  • http://www.techweb.com.cn/irouter/2016-09-14/2393183_2.shtml ...
  • 第一種方法:獲取手機的IMSI碼,並判斷是中國移動\中國聯通\中國電信 第二種方法 ...
  • 2014.7版本 ADT Bundle http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.ziphttp://dl.google.com/android/adt/adt-bundle-windows-x86_64-201 ...
  • ➠更多技術乾貨請戳:聽雲博客 0x01 iOS體系架構 1.1 iOS 系統的整體體系架構 用戶體驗( The User Experience layer ):SpringBoard 同時支持 Spotlight。 應用軟體開發框架(The Application Frameworks layer) ...
  • 當應用不再使用時,通常需要關閉應用,可以使用以下三種方法關閉android應用: 第一種方法:首先獲取當前進程的id,然後殺死該進程。android.os.Process.killProcess(android.os.Process.myPid()) 接下來實踐一下: 添加點擊事件代碼 在點擊按鈕之 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...