手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法
前言
作為程序員,寫博客是一件很有意義的事情,可以加深自己對技術的理解,可以結交更多的朋友,記錄自己的技術軌跡,而且分享可以讓更多的人從中受益,獨樂樂不如眾樂樂嘛。
但是要寫好博客也不是件容易的事,一是寫博客是長期堅持的過程,心血來潮寫個一兩篇并沒有什么意義,很多人寫著寫著就放棄了,二是寫博客需要自己用心去寫,一方面需要自己對分享的內容很熟悉,鉆研得深,另一方面需要一些文筆和技巧,能把自己會的東西通俗得展示出來。
對于上面兩個問題,第一個本文就不探討了,我主要探討第二個問題,如何寫出好一篇文章,我將通過兩方面來探討:
- 不斷學習,培養鉆研精神,讓自己有東西可分享
- 如何將會的東西,通俗得展示出來
一、不斷學習,培養鉆研精神
為什么我會講鉆研精神,因為你寫博客首先得有東西可寫,那不然就是紙上談兵了,再好的寫作技巧也沒有用。而要想有好的東西分享出來,自己就得多鉆研,對自己熟悉的領域砥礪深耕,讓自己成為行業佼佼者,而這一切都是很不容易的。
他人勵志的故事特別多,我就講一個自己的吧,讓大家見笑了。
我現在是個Android程序員,但是大學的專業是法學,可能很多人都覺得這跨度也太大了吧,一個法學的文科生居然跑去寫代碼,其實我高中的時候理科就比文科好,當初選法學只是覺得文理要雙修,只會理科的加減乘除會讓自己變得死板,即便現在我已經從事程序開發了,還是后悔當初英語為什么沒好好學,因為好的文檔都是英文的,語文為什么沒好好學,因為寫博客都沒有條理,陳詞濫調,所以多學點東西總是好的。
大學畢業后,同學都去考研,考公務員,然后去當法官,檢察官,律師法務什么的,但是我本身還是對理科的東西感興趣點,正好13年的時候移動互聯網很火,于是我就去報了個培訓班,開始了自己的Hello world!
那時自己內心是彷徨的,因為自己一點基礎都沒有,培訓期間又沒有收入,之間兼職就剩3000塊錢,要管6個月,房租,吃飯,日用,每個月都過得很拮據,租的房子10平米不到,吃飯全是自己做,因為這樣一天只需要8塊。家里的人也不支持,好端端一個法學生,干嘛去學程序,為此還跟家里人吵了一架。。。哎,現在回想那真是一生中最艱苦的半年。
在培訓班里,就我一個外行,其他都是科班出身,我從第一行System.out.println開始惡補,經常為寫好一個功能熬夜到兩三點,我就記得那時候老師讓我們寫一個五子棋的項目,用Swing來寫的,一直寫到凌晨五點,終于第二天交給老師看,全班就我寫出來了,而且老師把源碼展示給大家看,說注釋寫得不錯,那是我進班以來第一次受到表揚,后來就一發不可收拾,經常受到老師關注,學校也破例讓我直接跳到就業班,提前結束了培訓。
現在回想起來,應該歸功于自己對程序的熱愛吧,讓自己有無限的動力去鉆研,不把一個東西弄出來就不甘心,每次成功之后又讓自己信心大增,然后更有動力去學習,形成了良性循環。
后來到了第一家公司,接觸的是跨平臺開發工具Xamarin,用C#寫,用Mac開發,用Git管理代碼,靠!又是一堆搞不懂的東西,畢竟學校用的Eclipse+Java+Windows開發的,代碼管理?壓根沒聽說過,于是學C#,學Mac命令,學Xcode,學Git,經過瘋狂補腦,不到一周時間,已經能順利開發了。這其中關于Git的學習真是刻苦,對我而言,第一次接觸命令行,一臉懵逼,當時老板強制用命令行操作,說這樣快,給了我一本500頁的書,不過也還是自己去寫命令行 + 百度學會了,那本書基本沒看。后來還為此寫了篇博客,Git使用,實戰版
之后到了現在的公司,15年進的,進公司又是接觸新的開發工具Android Studio,那時候Android Studio還是1.3.0版本,又是重新學Android Studio,學Gradle。不過還好我會Git,公司還在用svn,領導覺得Git好,于是就安排我做了次分享,將公司代碼全部用Git管理了。說白了,之前用Xamarin開發都是半調子的Android開發,因為還要開發ios,用Android Studio開發后才真正完全開發Android,于是我開始認真去研究Android,學著用ButterKnife、EventBus、Volley、Glide、Lottie等三方庫,學習MVP框架,學習NDK、C++、編譯so,學習Aes,Des加密算法,學習groovy,寫腳本打多渠道包,皮膚包,資源混淆。
后來又學習代碼組件化,Tinker熱修復,MVVM,Retrofit+RxJava,Robolectric單元測試,我想說新的東西導出不窮,程序員不學習,不去鉆研,很快就落伍了,下面是我這些年收集的Android資料,項目地址 AndroidDoc
如今我打算回歸源碼,會用的東西永遠是別人的,自己卻寫不出來,原因就是源碼讀得少,所以我打算系統地看一下AOSP的源碼,之前看了些Android系統啟動流程,Application啟動流程以及Binder的東西,還不夠多,理解得也不深,現在從頭再來,歡迎大家關注 AOSP
分享了自己的經歷,也是想告訴大家,不管我們過去什么樣,從事過什么工作,只要你現在想去改變點什么,你就去做,只要自己夠努力,有刻苦鉆研的精神,遲早一天也會發光發亮,誰說文科生不能寫代碼呢?
哈哈,說這么多讓大家見笑了,接下來,我講講怎么寫博客吧
二、如何寫出通俗易懂的博客
肚子里有了好東西,我們也需要技巧把它展示出來,俗話說酒好也怕巷子深嘛,沒有好的吆喝功夫,再好的酒也賣不好。接下來我將展示一些我寫博客的技巧:
- 列好提綱,做到條理清晰
- 用好畫圖工具,制作流程圖、思維導圖等
- 用好錄像工具,制作Gif圖
- 好好學習Markdown
2.1 列好提綱,條理清晰
我們寫文章之前,對自己要講的內容必須清楚明白,不然到時候亂寫一通,只會讓讀者看得云里霧里的。我們可以列個提綱,幫助自己整理思路,先講什么,后講什么,文中要注意些什么細節的探討等等。
我們列好提綱后,可以在文章的開頭寫個前言,主要講述寫這篇文章的目的,然后羅列一下這篇文章要講哪些內容,這樣讀者一看開頭就大概知道你要講些什么了,然后就會順著你的思路去看。
接下來我們可以把前言中提到的幾個方面作為大標題,然后開始寫具體內容,如果該內容太多,可以把內容再拆分下,列出幾個小標題。如果小標題內容也還是多,那可以再拆分,介最好不要超過三層,因為層級太多反而看得眼花繚亂。
對于字號,前言,大標題我一般用##,小標題我一般用###,小標題以下,我會用####,對于序號,大標題前用中文的一,二,三,小標題用數字的1.1,1.2,如果小標題以下,就是1.1.1,1.1.2。
在文章結尾寫一個小結,總結一下本文講的內容,也可以提出一些問題給讀者思考。
對于內容要適當地分段落,不要把所有內容都寫在一個段落里,盡量一個段落寫一個方面的東西。段落里也不要一逗到底,說完一個事情就句號結束,啊。。。突然想到以前我們語文老師教我們寫作文也是這么說的。
上張圖吧,一篇文章大概是這樣子的
2.2 畫圖工具使用
光是寫文字有時候并不能很好地展示內容,比如我們要分享一個工具的使用,要點哪些按鈕,光是文字說明并不直觀,截圖卻能一目了然
又比如講一個代碼執行流程,如果我們畫一個圖出來會更加容易理解
對于上面第一種情況,截個圖就可以了,截圖工具我就直接用的QQ的,感覺還是很方便
對于第二種情況,就要用畫圖工具了,畫圖工具有很多,目前我只用過下面這些,當然還有其他的,大家可以在評論里推薦下。
畫圖工具大概分兩種,一種在線版的,一種PC版的,在線版的有:
- processon
- websequencediagrams
- Google Drawings
PC版的有:
- edraw max(億圖圖示)
2.2.1 processon 使用
我平常用的最多的是processon,它有許多優勢:
- 在線版,免安裝,跨平臺,可以在任何時候,任何電腦上使用
- 有云端儲存,只要登錄賬號就可以云同步
- 操作簡單,容易上手
- 國內網站,不需要翻墻,速度快
首先,這個工具需要注冊,這個簡單,直接訪問 processon ,點擊注冊即可
注冊后登錄,然后點擊新建,選擇一個你想要的模版類型,系統已經提供了許多常用的模版,我們可以選擇一個自己最需要的進行克隆。
當然你也可以不用模版,直接點擊新建后,選擇一個你想繪制的類型即可
這里要注意一點,這個工具文件個數有限制,新建的文件不要刪除掉了,畫完一個可以清空內容重新畫,這樣就相當于無限使用了
下面講講如何畫圖吧,這個工具簡單在無腦操作,直接拖控件就可以了
如果你覺得圖形不夠,你可以選擇更多圖形
如果你還是覺得不夠,可以插入你本地的圖片,網絡圖片
圖形風格可以任意切換
插入文字在圖形上直接雙擊就可以了,也可以去拖拽,或者點擊插入菜單,文字可以調整字體大小,顏色
線條可以點擊插入菜單,也可以直接從圖形上拖出來,調整粗細,樣式,顏色
這個工具還有許多快捷鍵,可以方便操作
我平常畫時序圖比較多,我演示下如何畫時序圖
畫完之后我們就可以取個名字,然后保存為png,pdf,svg等格式然后下載
如果還想了解更多功能使用,官方還有 幫助文檔
2.2.2 websequencediagrams 使用
websequencediagrams 這個工具很有意思,它畫圖是直接用代碼來畫的,當然這個代碼只是一種類似于markdown的語法,寫起來非常的方便。
它還可以用Java,PHP等語言來編寫,直接轉為圖片, 官方文檔
但是它功能比較局限,只能畫時序圖,而且必須付費才能有高清的圖片下載,否則只是低清的圖
2.2.3 Google Drawings 使用
這是Google的一個插件,也是非常方便的一個工具,但是前提要翻墻,插件安裝
功能跟processon基本一致,操作也十分類似,比如畫圖形
插入文字,改變字體大小,顏色,樣式
插入線條,改變線條粗線,顏色,樣式等
畫完后保存為png,pdf,svg等下載
Google Drawings 與 processon 各有優缺,下面我對比下,讀者可根據自己喜好選擇
| 在線版 | 是 | 是 |
| 支持圖形、文字、線條 | 是 | 是 |
| 支持png,pdf,svg等高清圖 | 是 | 是 |
| 翻墻 | 不需要 | 需要 |
| 可操作性 | 簡單流暢 | 相對復雜,有時會有些bug,比如畫線的時候要雙擊才能結束,有時會到處跳 |
| 支持畫圖類型 | 全面,包括UML,思維導圖等,有現成的模版可以用 | 只是個畫圖工具,提供的圖形不夠全面,并且沒有模版可用,全部需要手動畫 |
| 是否收費 | 有文件個數限制,初始9個,要無限使用需要付費 | 完全免費,無限制 |
2.2.4 edraw max(億圖圖示) 使用
這個軟件也是非常強大的,功能比processon還豐富,畢竟是PC版!整體界面跟word很像,如果你喜歡使用word,那么你上手會覺得很熟悉,來張界面圖
一進入軟件,會讓我們先選擇我們要畫哪種類型的圖,種類是相當的多,并且每種都有模版可以使用,我們可以選擇一個合適的,比如UML,點擊創建
老規矩,我們先試下畫圖形,這也是非常方便,直接拖拽就是
如果覺得不夠,可以添加其他類型的圖
當然你也可以直接選擇本地圖片插入
文字方面,直接在圖形或線條上雙擊即可,支持修改字體大小等也不在話下,而且支持插入各種特殊字符,只要word能做的,它都能做
畫線方面,可以畫折線,貝塞爾曲線,可以改變線條粗細,樣式,顏色
它支持整體切換主題,字體,顏色,線條風格,加水印等
保存文件除了支持png,pdf,svg等外,還支持保存為word,ppt,ps,visio等,可以進行二次繪制,可謂是非常全面而強大
如果你想了解更多的功能,這里有 官方視頻教程
總之,Edraw max的功能是非常強大的,整理如下:
- 提供全面而實用的模版
- 各種畫圖方式的支持相當完美
- 整體界面類似word,操作容易上手
- 風格切換多樣,可以自由定制
- 保存格式種類全面,可以導入PS,PPT等進行二次繪圖
- Windows,Linux,Mac全平臺支持
官方英文版下載地址 www.edrawsoft.com/download-ed…
官方中文版下載地址 www.edrawsoft.cn/download-ed…
百度網盤下載(8.7 Windows中文版) pan.baidu.com/s/1kVN2mGJ
這個軟件是需要注冊的,不過我們可以免費用30天,如果大家要中文破解版,可以私信找我。
2.3 錄像工具使用
大家在閱讀本文的時候也可以看到,Gif圖可以方便地展示工具的操作,不僅如此,要展示一些App的效果也是很直觀的,這是我朋友的一個項目,趣聞
Gif圖可以直接當作圖片在Markdown中使用,所以如果錄像工具可以直接把視頻轉換成Gif圖,那將是很方便的,這種工具也比較多,今天我介紹下LICEcap
它的使用很簡單:
- 調整錄像位置和大小
- 點擊錄制,然后選擇一個儲存目錄保存
- 顯示鼠標指針選項勾選,錄像會顯示鼠標點擊事件,展示一個圈
- 錄像過程中可以暫停
- 點擊停止結束錄制,然后打開之前選擇的目錄,找到對應gif文件,就可以點擊查看了
下載地址
2.4 好好學習Markdown
我寫博客都是用的Markdown,主要是因為各個平臺都支持,而且本身寫起來也比較方便,我推薦幾個學習的網址:
- 官方文檔
- github官方文檔
- 掘金官方文檔
- 簡書官方文檔
我再推薦幾個寫Markdown的工具
- 掘金 簡書 可能有人會笑,但是我覺得這是目前最好的工具,跨平臺,云同步,支持上傳圖片,關鍵是寫博客順便就發這上面啊!
- github github也是很好的Markdown工具,我們是可以直接在網頁上修改md文件的,并且支持上傳圖片
- gfm插件 這個插件可以直接在Android Studio或IntelliJ里查看和編輯md文件,對于我們平常開發來說非常方便,但是官網下載太慢,我這兒有百度云的下載地址
作為Android程序員,平常寫技術博客比較多,里面會有比較多代碼展示,在代碼展示時,最好在```后面加上代碼類別,比如Java,xml,C++等,這樣代碼會有高亮顯示,另外,寫Markdown時,有時我們展示代碼的時候需要在代碼前加行號,方便補充說明的時候指定某行,類似
1 int main(int argc, char** argv) {2 if (!strcmp(basename(argv[0]), "ueventd")) {3 return ueventd_main(argc, argv);4 }5 6 if (!strcmp(basename(argv[0]), "watchdogd")) {7 return watchdogd_main(argc, argv);8 }9 10 if (REBOOT_BOOTLOADER_ON_PANIC) {11 install_reboot_signal_handlers();12 }13 }第11行主要作用將各種信號量,如SIGABRT,SIGABRT等的行為設置為SA_RESTART復制代碼如果每次都要去手動寫行號是特別麻煩的,我這里有個工具可以直接生成行號 下載地址
小結
要想寫出高質量的博客,技術沉淀和寫作技巧是兩個不可或缺的東。一方面我們要有一顆不斷學習,積極向上的心,通過自己一點一滴的積累,用博客去記錄自己的成長;另一方面,多學習一些寫作技巧,學會畫圖工具,錄像工具的使用,可以更清晰地把內容展示出來。
關于我
- foxleezh
- 我的博客
- github
- 郵箱-foxleezh@gmail.com
總結
以上是生活随笔為你收集整理的手把手教你写高质量Android技术博客,画图工具,录像工具,Markdown写法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js splice
- 下一篇: 轻松访问 Android 系统源码与下载