打造一個高逼格的android開源項目——小白全攻略 (轉)


轉自:打造一個高逼格的android開源項目

小引子

在平時的開發過程中,我們經常會查閱很多的資料,最常參考的是 github 的開源項目。通常在項目的主頁面能看到項目的簡介和基本使用,並且時不時能看到頁面匯中有好多的彩色標簽,看起來很酷,很專業,很有逼格,能提升很多的好感度。

前言

本文又是一篇很長的文章,如之前寫的某篇文章一樣,基本是一口氣連續兩三天的寫。寫啊寫啊寫,不知不覺就寫了好多,其實有很多是素材圖片,務必做到每個細節我都實踐一遍。

考慮到同學們的時間有限,各取所需,所以按照我的慣例,首先有一篇完整版,其次,有一篇縮略版。可是這次縮略版不好做,所以綜合考慮,把每個單獨的知識點拆分出來,抓住重點,盡量讓大家看的開心。

這里需要提醒的是:

看了完整版就不用看精簡集合了,內容都一樣。完整版具有一定的連貫性。
精簡版就看的清爽哈,以備自己玩的時候,快速查找相關資料和步驟。

這里優先匯總下:

相關鏈接:

完整版:
打造一個高逼格的android開源項目——小白全攻略

精簡集合版:
徽章系列1: Top 30 android 開源項目徽章
徽章系列2:JitPack 的使用
徽章系列3: Travis CI 的使用
徽章系列4: Circle CI 的使用
徽章系列5: Codecov 的使用
徽章系列6: Api_Level 的使用
徽章系列7: codacy 的使用
徽章系列8:生成個性徽章

總分類:
徽章(shields )系列文章總分類

github 地址:
徽章項目 Demo github 地址:
https://github.com/gdky005/AndroidBadge

下面正文,正式開始。

范例

我們以最流行的 android 開源項目 MPAndroidChart 為例來看看。

  1. 前兩個藍色的標簽:開始兩個藍色的標簽是開源項目主要貢獻者 Twitter 的聯系方式,點擊后可以跳入到 Twitter 的主頁,查看該大神的 動態。
  2. 橘色的標簽:是國外比較有名的 開源項目網站 android-arsenal, 很多開源項目都會在這里找到,有該項目的詳細介紹。包含組員,版本號,github 項目基礎信息等等。點擊后會進入 MPAndroidChart 項目的首頁,能看到有好多想知道的,不想知道的各種信息。
  3. release藍色的標簽: 點擊后能進入到比較有名的 jitpack.io 對應的MPAndroidChart 頁面,直接獲取 MPAndroidChart 的最新版本,也能看到之前的構建歷史。下面會重點介紹 jitpack.io 的使用。
  4. 綠色的標簽: 這個比較有意思,是 當前想支持的最低版本,MPAndroidChart的最低版本是 api-8。 點擊后會進入到Android 2.2–2.2.3 Froyo (API level 8) 的詳細介紹。這個功能是 android-arsenal 專門提供 開發者使用的。 下面也會有所介紹。

下面我們將 這些標簽稱之為 徽章 (shields)。

Top 30 android 開源項目徽章

我們嘗試在 github 里面搜索 以 android 關鍵字 開發語言為 java 的開源項目。


統計情況如下:

  1. Retrofit 0
  2. okhttp 0
  3. Butter Knife 0
  4. MPAndroidChart 4
  5. Android-Universal-Image-Loader 2
  6. glide 1
  7. leakcanary 0
  8. EventBus 1
  9. picasso 0
  10. zxing 3
  11. iosched 0
  12. Fresco 1
  13. lottie-android 0
  14. RxAndroid 3
  15. libgdx 1
  16. SlidingMenu 0
  17. PhotoView 1
  18. android-async-http 1
  19. material-dialogs 5
  20. AndroidUtilCode 0
  21. androidannotations 3
  22. Material-Animations 1
  23. fastjson 5
  24. ViewPagerIndicator 0
  25. plaid 0
  26. PocketHub 1
  27. tinker 4
  28. Android-CleanArchitecture 2
  29. Android-PullToRefresh 0
  30. MaterialDesignLibrary 1

我們是篩選容器就是 30個,統計日期:2017年04月27日(隨着時間推移,可能略微有變動)。使用標簽的有 18個,未使用的有12個。 使用概率大約是:60%。如果篩選容器的范圍再大一點可能更多,沒有使用徽章的12個項目,可能由於歷史原因,或者個人原因未使用,但是不管怎么說,使用徽章的人會越來越多。

為什么要使用徽章?

徽章 shields

徽章的使用不僅僅是為了裝 B,而是為了讓開源想更高效。進入項目主頁一眼能看出需要的東西,例如該項目能否編譯通過,當前最新的版本是什么等。

徽章能突出視野,github 默認給我們展示的是黑白世界,但是通過 徽章,將會得到改變。重要的信息可以一目了然。

最常用徽章有哪些?

一份不太靠譜的標准,不過你應該掌握:


(PS: 上圖中的圖標順序對應下面的順序)

  1. jitpack 徽章:JitPack 是一個倉庫,類似 maven,binary, 主要是幫我們生產 android 項目的 aar or jar 的平台。基於 GitHub,可以很方便將 library 發布到遠程,然后可以用 gradle 依賴到任何一個項目中。
  2. travis-ci 徽章:Travis-CI 是一個線托管的CI服務,不需要自己搭服務器,在網頁上點幾下就好,用起來更方便。最重要的是,它對開源項目是免費的。
  3. circle-ci 徽章:Cricle-CI 是也一個線托管的CI服務,和上面相同,不過這個相對來說比較好用一些,可以 SSH 到測試容器,方便在出問題的時候上去調試找原因,界面相對好看一些。
  4. codecov 徽章:Codecov 是開源的測試結果展示平台,將測試結果可視化。Github上許多開源項目都使用了Codecov來展示單測結果。
  5. api level 徽章:Api-Leavel 是 android-arsenal 網站提供的 android api 展示的徽章。可以在項目主頁中直接使用 badge 的內容。
  6. codacy 徽章:編程代碼自動審查服務平台。幫助開發者及時發現代碼中的 bug,提升軟件運行質量,主要包括代碼質量、語法規范、功能可用性方面的檢查。
  7. 個人專屬 徽章:shiedls 根據自己的需求可以定制很多樣式的徽章,全憑個人 愛好,怎么開心怎么玩。

環境說明

這里我用一個簡單的 android 項目來做一個說明,其他語言也是可以的,這里僅僅展示一個實例。

我的本機的android環境說明如下:

  • Mac
  • Android Studio 2.4 preview 4
  • gradle: 3.4.1
  • java: 1.8.0_73
  • buildToolsVersion: 25.0.2
  • compileSdkVersion: 25
  • minSdkVersion: 14
  • support: appcompat-v7:25.1.0
  • constraint: constraint-layout:1.0.0-beta4
  • classpath: com.android.tools.build:gradle:2.4.0-alpha4

用其他版本或者環境也是可以的, 這里只是說明。 如果任何遇到問題,可以在我的博客里面留言,聯系詳情為:http://www.gdky005.com/about/ 因為該文的完整版真的很長,涉及到很多的技術,所以專門設立了 QQ群:621094999, 有疑問或非常感興趣的同學,可以來次探討,也許一些新功能就是你們發覺的呢。 (PS:本應該在文末尾添加聯系方式的,但是無奈,很多網站都有爬蟲系統,好不容易寫的文章就被爬走了,導致很多小伙伴遇到問題后,各種留言,但是我就是看不到,所以這次采取特殊方式,見諒哈)

JitPack 的使用

官網: https://jitpack.io

創建 Android Library
  1. 在 AS 中創建標准的 android 項目:
  2. 創建 Library:
  3. 創建 badge library 成功。
    配置相關文件
    進入 jitpack android 可以看到 jitpack 為我們提供的文檔幫助。
  4. 在項目的根目錄下的 build.gradle 文件中添加:
  5. 在 library 下的 build.gradle 中添加:
    , 對應官網中說的 『group='com.github.YourUsername’』, 其實可以不寫,寫不寫都會自動生成。 即使你寫成了別的,最終還是以這樣的格式輸出。

AndroidBadge 中 的 build.gradle :

classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' // Add this line

AndroidBadge 里面的 badge (library) :

apply plugin: 'com.github.dcendents.android-maven'
發布到 Github (這里直接展示 AS 中的界面圖形操作,會命令行的同學隨意)
  1. 登錄自己的 github 賬號,然后創建一個 項目,在首頁右邊能看到:
  2. 點擊 大綠色 按鈕,並填寫信息:
    。 那個協議,你們隨意,這里只是演示。
  3. 創建成功后:
    ,拷貝當前項目地址。
  4. 在 AS 的項目中創建 git 倉庫:
    , 點擊后,直接 選擇 ok。將項目添加到 git 管理
    。 項目中的文件都變成綠色后:
    ,耐心等待完成后, 本地項目已經被 git 管理起來了,然后把代碼提交到 github 即可。可能會有沖突,自行解決即可。
  5. 現在我們給 library 的 badge 項目添加一個工具類:
    , 並提交到 github。
Github 打 release or tag


創建第一個 release 分支:


發布成功以后就能看到:

一般用 release 就可以了, 在適當的時候 用 tag。

在 JitPack 上生成 aar
  1. 進入 https://jitpack.io/
  2. 將 github 的項目地址: https://github.com/gdky005/AndroidBadge, 直接拷貝 到 jitpack 網頁中的文本框中。
  3. 點擊 Look Up 后:
    , 等里面的那個圈圈 轉完 以后,出現 綠色的這個:
    說明已經發布 aar 成功,那么我們 可以直接使用了。 如果點開這個東西,會看到編譯的和發布的過程。
  4. 如果是紅色的,說明有錯誤,點開查看,修改后重新構建。
在 app Demo 中測試是否生效

點擊 get 后,能看到:

  1. 給項目根目錄下的 build.gradle 添加:
  2. 給app 項目里面的 build.gradle 添加:

AndroidBadge 中 的 build.gradle :

maven { url 'https://jitpack.io' }

AndroidBadge 里面的 app 的 build.gradle :

compile 'com.github.gdky005:AndroidBadge:v1.0.0'

好的,現在我們已經添加成功了,在 MainActivity 里面是是吧,看能否調到之前在 library 里面的寫的 Utils.getVersion()。很高興的是我們調出來了:


在項目的最底下也能看到:

。 運行 app 項目:

問題來了,我們修改library 后也能調用到嗎?

讓咱們一起試試吧:

  1. 修改 badge 項目中的 1.0.0 為 1.0.1 :
  2. 提交代碼后,push 到 github。 提交成功以后,我們重復上面的打 release 步驟
    ,
    ,
  3. 然后再去 jitpack 上看看:
    多了一個 v1.0.1, 點擊 get 吧。
  4. 發布成功后,我們去 app 里面試試。
  5. 同步后,直接運行 app。非常好,我們的修改的東西已經變了:

至此, jitpack 基本也差不多了,但是貌似缺少了最重要的一點吧。

jitpack 的徽章怎么弄

還是在剛剛的 jitpack 界面,只是我們把 頁面拉倒底部。

點擊后:

是不是看到了熟悉的 md 文檔的格式呢? 看不懂也沒關系,下面會專門講解。

  1. 拷貝內容:
  2. 打開 github 的 AndroidBridge 項目:
    ,點擊該文件。
  3. 讓我們在線編輯下:
  4. 給 github 中的 這個 readme.md 文件添加點東西吧。
  5. 讓我們 保存下。
  6. 然后回到項目首頁看看:
    棒棒的,添加成功。

Travis CI 的使用

官網: http://travis-ci.org/
ps: 這個是公開的,如果需要使用私有的,請使用 .com 域名。
需要提醒的是:每次提交代碼后都會重新下載需要的資源文件哦,所以時間很長,耐心等待吧。

TravisCI 有什么用?

travis-ci 就是 自動化 CI 工具,類似於大公司經常使用的 Jenkins,但是 travis-ci 是在雲端的,而是支持 github, 還免費,我們可以 用 travis-ci 做很多的事情,不僅僅是 編譯看 項目有沒有問題。例如在項目構建結束以后,我們可以打包,並發布 apk 到都 蒲公英, fir,也可以用郵件通知給相關的開發人員和業務任務。 做一些簡單處理,輕輕松松。這部分內容到后面盡快整理,在寫一篇。

添加 github 項目到 travis-ci
  1. 進入 Travis 官網后,使用 GitHub 賬號 登錄,成功后:
  2. 點擊 加號 ,能看到你 GitHub 里面的所有:
    , 如果沒有項目或者沒有你新建的項目,請點擊右上方的 Sync account 按鈕。
  3. 點擊這里:
    ,開啟 Travis 構建。點擊這個可以配置該項目:
  4. 默認是空的:
在 項目中添加 travis-ci 需要的 .travis.yml 文件
  1. 在項目根目錄下直接創建 一個 .travis.yml 的文件。
  2. 直接在文件里面添加代碼:

.travis.yml 文件 源代碼

language: android jdk: oraclejdk8 sudo: false android: components: - tools - build-tools-25.0.2 - android-25 - extra-android-m2repository - extra-android-support licenses: - android-sdk-license-.+ - '.+' before_install: - chmod +x gradlew - mkdir "$ANDROID_HOME/licenses" || true - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" script: - ./gradlew assembleRelease

因為該文很長很長,所以暫時就不解釋具體含義了,可以看看官方文檔。

push 項目到 github, travis-ci 自動監測構建
  1. 提交到代碼,並 push 到 github。會自動觸發 Travis 的自動構建。
  2. 下面黑色部分是構建的過程:
    , 黑框上的白色點點點擊后會變成綠色,會自動滾動到最下面。

喝一杯咖啡,慢慢等待吧,最難熬的時候已經過去,此刻是享受的時候了。

回到首頁刷新后,能看到:

說明我們已經構建成功了。

.travis.yml 需要注意的地方

初次使用 Travis 的試試,總遇到 說 android 的一些協議未接受而構建失敗,導致耗費了一兩天,曾經一度想放棄,但是最終堅持了下來,通過各種搜索,摸索,猜測,終於搞定。其實最初的項目是這個:https://github.com/gdky005/TestJitpack ,里面有很多辛酸史記錄,從提交記錄能看得出來,有興趣的可以研究研究,也許能解決你現在的問題。

Travis CI 協議問題解決方法:http://stackoverflow.com/questions/37615379/travis-ci-build-doesnt-work-with-android-constraint-layout

最重要部分在這里:

machine:
  environment:
      ANDROID_HOME: /usr/local/android-sdk-linux dependencies: pre: - mkdir -p "$ANDROID_HOME/licenses" - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license"
添加 travis-ci 徽章到 github

激動的時刻再次到來,讓我們找找徽章在哪里呢?

讓我們來選擇 markdonw 格式:

並復制上。

同樣如上修改 readme.md。

加空格后,直接貼上去:

,這里需要說明的是,如果換成,圖標也會換行哦。這樣寫就能保證所有的圖標在一行了。

回到項目首頁以后就能發現:

添加 Travis 徽章成功。

Bye the way! 上面是最初級的構建過程,如果遇到單元測試就不行了,還得參考 我的開源項目 TestJitpack。 不過有點亂,后面整理下。

Circle CI 的使用

官網: https://circleci.com/

Circle CI 和 Travis CI 有什么區別?需要一起使用嗎?

Circle CI 相對來說比 Travis CI 好一些,至少界面上來說哈。還提供 ssh 的連接,構建過程相對來說 比較透明直觀。例如:

Travis CI 的文檔資料相對 Circle CI 來說 比較多, Circle CI 資料少之又少。

Travis CI 的使用率還是很高的, 不過 Circle CI 相對來說比較 年輕化,符合主流的科技感,更智能。

說到是否需要一起使用,其實都行,不過我在觀察 github 主流項目的時候 有不少項目都是同時使用的,多一個技能總沒有壞處吧。其實會了 Travis CI,在加 Circle CI 真是簡單不少呢,只是基本語法不太一樣。

添加項目到 Circle CI
  1. 登錄主頁面:
    , 在 project 里面自己的賬號下搜索剛創建的項目。
  2. 一般直接選擇 Ubuntu 即可:
    ,點擊綠色 Build project.
  3. 能看到:
    , 但是這次肯定會失敗,因為我們還沒有添加 Circle 需要的文件呢。
在 項目中添加 Circle CI 需要的 circle.yml 文件
  1. 在項目的根目錄下 添加 circle.yml 文件;
  2. 添加 circle 的代碼到文件中:

circle.yml 源代碼:

machine:
  java: version: oraclejdk8 environment: ANDROID_HOME: /usr/local/android-sdk-linux dependencies: pre: - mkdir -p "$ANDROID_HOME/licenses" - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" override: - echo y | android update sdk --no-ui --filter "android-25" - echo y | android update sdk --no-ui --filter "build-tools-25.0.2" - echo y | android update sdk --no-ui --filter "extra-android-m2repository" - echo y | android update sdk --no-ui --filter "extra-android-support" - echo y | android update sdk --no-ui --filter "extra-google-m2repositor" - ./gradlew dependencies || true test: override: - ./gradlew build
push 項目到 github, Circle CI 自動監測構建
  1. 提交代碼后,發布到 github,Circle CI 會自動執行。
  2. 點擊進來后,會看到:
    , 說明已經開始 構建了, 下載需要的東西:
  3. 構建中的一些步驟:
    , 相對 Travis 來說展示更直觀。
  4. 看到
    說明構建成功。
添加 Circle CI 徽章到 github

我們再來把 Circle CI 的徽章找到,並添加到我們的 github 上去吧。

我們把 徽章的 markdown 鏈接拷貝下來放入到我們的 主項目頁面的里面。

回項目主頁刷新后:

非常 happy, 已經添加成功了。

接下來添加什么呢?

Github上許多開源項目都使用了Codecov來展示單元測試結果, 就它了。

Codecov 的使用

根據文中的指示:我們能看到一個開源的 github 項目https://github.com/codecov/example-android, 不過看起來點暈暈的,於是摸索了一段時間。

我們之后都直接使用 Trivas CI 構建了。

添加項目就不說了,進入后,點擊 project changes, 找到自己的項目:

,等生產報告后,進入該網站就能看見結果。

利用 Jacoco 生成報告

Codecov不支持自己生成Android的測試覆蓋率報告,它能做的是接收Jacoco生成的報告並進行可視化

1) 在 app 的 build.gradle 文件中 添加依賴

        //Jacoco 生成報告的依賴 androidTestCompile('com.android.support.test:runner:0.5', { exclude group: 'com.android.support', module: 'support-annotations' }) // Set this dependency to use JUnit 4 rules androidTestCompile('com.android.support.test:rules:0.5', { exclude group: 'com.android.support', module: 'support-annotations' }) // Espresso-contrib for DatePicker, RecyclerView, Drawer actions, Accessibility checks, CountingIdlingResource androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'support-v4' exclude group: 'com.android.support', module: 'appcompat-v7' exclude group: 'com.android.support', module: 'design' exclude group: 'com.android.support', module: 'recyclerview-v7' }) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' })

2) 在 需要構建測試覆蓋率報告的Module (AndroidBadge 項目中的 app) 的gradle文件中設置。

debug{
        testCoverageEnabled true }

3) 可以在嘗試在本地生成報告:

./gradlew :app:createDebugAndroidTestCoverageReport 生成測試報告。 app 就是咱們項目中要測試的 module

測試報告地址:app/build/reports/coverage/debug/index.html。

上報數據給 Codecov
  1. 使用Github賬號登錄 https://codecov.io/, 並提供授權給該應用。
  2. 在.travis.yml文件中添加命令將測試覆蓋率報告上傳給Codecov。

    after_success:

     - bash <(curl -s https://codecov.io/bash)
Codecov 需要用到 單元測試,所以必須要在 配置文件中添加模擬器

因為之前修改過很多次,過程很繁瑣,直接給配置文件了,相信大家一眼就能看出來。

完整的配置文件是:

language: android jdk: oraclejdk8 sudo: false env: global: - ANDROID_API_LEVEL=25 - ANDROID_BUILD_TOOLS_VERSION=25.0.2 - ANDROID_ABI=armeabi-v7a - ANDROID_TAG=google_apis - ADB_INSTALL_TIMEOUT=20 # minutes (2 minutes by default) android: components: - platform-tools - tools # to install Android SDK tools 25.1.x - build-tools-$ANDROID_BUILD_TOOLS_VERSION - android-$ANDROID_API_LEVEL - sys-img-armeabi-v7a-google_apis-$ANDROID_API_LEVEL licenses: - android-sdk-license-.+ - '.+' before_install: - chmod +x gradlew - mkdir "$ANDROID_HOME/licenses" || true - echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license" - echo -e "\n84831b9409646a918e30573bab4c9c91346d8abd" > "$ANDROID_HOME/licenses/android-sdk-preview-license" before_script: # Create and start emulator - echo no | android create avd --force -n test -t "android-"$ANDROID_API_LEVEL --abi $ANDROID_ABI --tag $ANDROID_TAG - emulator -avd test -no-skin -no-window & - android-wait-for-emulator - adb shell input keyevent 82 & script: - ./gradlew assembleRelease - ./gradlew :app:createDebugAndroidTestCoverageReport --info --stacktrace after_success: - bash <(curl -s https://codecov.io/bash)
codecov 總結

Travis-CI 對 android 的單元測試支持不是很好,因為需要開啟虛擬機,開啟這個過程就得10分鍾(我的測試時間),很耗費時間。有時候也連接不上,一次跑下來估計得個 20分鍾左右吧。所以,穩定性確實不是很高。如果不做單元測試,而只是做發布之類的,穩定性還是高的。

單元測試應都會吧, 這里檢測的標准就是說 每個類和方法都必須檢測到,否則就算沒有覆蓋。我這里也就簡單在項目中寫過例子,剩下的你們自己玩吧。

所以 要不要使用單元測試 還是根據項目決定吧。

獲取 codecov 的徽章

Api_Level 的使用

讓 codecov 慢慢構建吧,我們先繼續。

官網:https://android-arsenal.com/api

Api_Level 有什么用?

Api_Level 是 arsenal 網站給各位開發者的一個福利,我們的 android 開源項目一般都有一個最低的構建版本。平時我們都是在 md 文件中寫上 支持版本是 14+等很多樣式,但是 不夠醒目,有了 Api_Level 后,打開開源項目主頁就知道,最低版本是多少。 不用看文檔也能明白,輕松不少。 對應的 api 的一些特性和修改也能在這里展現。

Api_Level 怎么玩?

如果你的開源項目最低支持版本是:14,那么就選擇這里:

把這個拷貝下來,放入我們的 md 文檔中吧。

codacy 的使用

官網: https://www.codacy.com

codacy 是什么?

codacy 編程代碼自動審查服務平台,可以幫我們分析存在的問題 或者說是 bug,主要包括代碼質量、語法規范、功能可用性方面的檢查。

codacy 怎么使用?

進入官網,添加自己的需要的 project。

完成后,等待一段時間就好了,會給你發郵件通知,已經完成。

完成后的效果是:

,咱們的這個項目評級是 B。

codacy 徽章呢?

拷貝下來,手動放到 咱們的項目的 md 文檔中把。比較放心一些,如果點擊后面的 add badge ,會自動加到項目中,需要我們 pull request 里面處理下。

搞定。

生成個性徽章

官網: https://shields.io/

有什么用?

彰顯個人魅力,體現某種功能。例如咱們做一個跳轉到我的博客的 個人徽章。

怎么玩?

滾動網頁到最下面:

在對應的地方填寫相應的東西(也支持中文哦), 完成后點擊后面的 Make Badge 按鈕試試看。

我想我的個人圖標是這種淺藍色:

,那么我就在 color 中直接寫:7AD6FD

點擊生成 一個地址, 先保存下面。

這個原理是什么呢? (回答最開始的問題)

徽章的格式即是 markdown 的格式:

[![](B)\](D)

A 表示的頁面中需要顯示的內容, B 表示的是圖片的地址,D 表示的是點擊后需要跳轉的鏈接的地址。

合成我的個人專屬圖標吧

圖片地址是上面存下來的。 前面顯示內容:作者。按照上面的規范出來的結果就是:

[![](https:\//img.shields.io\/badge\/%E4%BD%9C%E8%80%85-gdky005-7AD6FD.svg)\](http:\//www.gdky005.com)

把這段代碼 粘貼到 我們的 md 文檔中,個性專屬徽章就出來了,而且點擊后能到我們想去的地方。

很酷吧,其實還可以做很多這樣的事情。

本文的 中的 項目地址是: https://github.com/gdky005/AndroidBadge
需要逐步了解項目的過程或者 根據步驟出現問題的話,可以check 對應的節點,看看代碼是否不同,然后自行修改,我特意保存了該進度。如果下圖中 git提交的記錄:

相信小伙伴們肯定能做出更有意思的東西,到時候記得與我和大家分享,比較有特色的,我會將你們的鏈接掛載到 github 項目里面。

因為該文真的很長,涉及到很多的技術,所以專門設立了 QQ群:621094999, 有需要幫助或許分享新技能的小伙伴請進入。

本文完整地址請在 我的博客 里面查看,會修復 文章存在的問題,並補充一些相關細節。針對 小伙伴們提出的問題,將在博客中修改和增加。如果大家覺得不錯,並且很喜歡的話,麻煩 GitHub 中 start 下,不勝感激。

最后真想說一句

咱們不玩虛的,玩點有技術含量的東西。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM