該項目的目的是:
規範摘要:
這是該應用程序消耗數據 - > rails-api-base的對應服務器API
安裝您喜歡的IDE或僅安裝Android SDK(BuildTools 23.0.2和CompilesDK 23,或在dependencies.gradle中定義您自己的版本)。我使用Android Studio。
克隆存儲庫並進入其中:
git clone git://github.com/jordifierro/android-base.git --origin android-base YourProjectName
cd YourProjectName
./bin/remove_notes
./bin/rename_project YourProjectName your.package.name
./gradlew clean build cAT
./bin/reset_git https://github.com/yourusername/YourProjectName.git
就是這樣,您現在可以開始開發自己的應用程序!
注意:要運行該應用程序(您可以立即僅運行測試)記住設置API服務器(Rails-API-Base已經開發為服務此應用程序,但您也可以自行製作)並配置RestApi以連接到它(只需修改Restapi.java params)即可。
應用程序本身幾乎是空的,它僅旨在提供一些基本的模塊,以某些模式實現結構並提供示例代碼。以下是規格:
此應用程序的主要目標是避免編寫應用程序基本樣板代碼,因此已經實現了以下功能:
從現在開始可以使用,它還提供了添加更多代碼的結構化方法。
為了提供更多的示例代碼,它已經開發了用於管理notes代碼(例如由title和content組成的手寫筆記表示)。因此,該應用具有註釋索引,詳細信息,創建和編輯屏幕。
它的獨特目的是成為示例代碼,因此在運行./bin/remove_notes腳本時將刪除它。
該代碼是按照乾淨的體系結構方法和模型視圖 - 總計(MVP)模式結構的。查看此信息以及此項目,以獲取有關它的更多信息。
依賴性反轉原理基本上是在應用程序上使用,以使測試變得更加容易,並使組件分解和重複使用。它還減少了樣板代碼,並有助於實例範圍的管理。用於實現這一點的圖書館是匕首2。黃油小刀用於觀看注入。
乾淨的體系結構使您創建不同的層,為了避免回調地獄,使用Reactivex庫應用了反應性編程範式。
作為客戶端應用程序,其主要目標是讓用戶與服務器API的數據進行交互。該項目顯示瞭如何輕鬆處理這一點。改造庫用於實現API調用方法。請求包括身份驗證,API版本和國際化。
該項目中最有趣的事情之一是它具有完整的單元測試覆蓋範圍,從數據模塊到包括所有中間層在內的Android視圖。這是使用清潔體系結構,依賴性反轉和良好測試實踐的結果。其中一個示例是視圖測試,其中視圖主持人是由overito模擬的,並通過自定義Junit Runner提供的測試匕首組件注入。
在這裡,您可以找到解釋其中一些測試的教程:
項目中使用了另一種模式和良好的實踐,例如實施活動和片段具有繼承,使用片段並在活動中定義導航,以使屏幕毫無痛苦地重塑,使用接口來解除組件... Android特定的良好實踐,例如弦樂國際化,樣式表和其他小方法。這裡是二手資源之一 - > Android最佳實踐。
Travis-CI已被添加為連續集成系統,以在每個推動(Java和Android測試)上運行所有測試。
要在本地運行測試,只需連接設備或運行模擬器並執行:
./gradlew clean build cAT
這將同時運行Java和Android測試。
有一些腳本/bin文件夾,可以使使用此模板從從頭開始啟動一個新項目。只需按照上面放置的“快速啟動”部分即可。
所有Shell腳本均通過ShellCheck工具驗證。
這是該應用程序消耗數據 - > rails-api-base的對應服務器API。
所有建議和貢獻都非常歡迎!
./gradlew clean build cAT
不幸的是,還沒有貢獻者。
http://jordifierro.com