โครงการนี้มีจุดมุ่งหมายที่จะ:
ข้อมูลจำเพาะสรุป:
นี่คือ API เซิร์ฟเวอร์คู่จากที่แอพนี้ใช้ข้อมูล-> Rails-Api-Base
ติดตั้ง 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 เพื่อเชื่อมต่อกับมัน
แอปพลิเคชันนั้นเกือบจะว่างเปล่ามันมีจุดมุ่งหมายเฉพาะที่จะให้โมดูลพื้นฐานบางอย่างใช้โครงสร้างด้วยรูปแบบบางอย่างและให้รหัสตัวอย่าง นี่คือข้อกำหนด:
เป้าหมายหลักของแอปพลิเคชันนี้คือการหลีกเลี่ยงการเขียนแอพ Basic Boilerplate Code ดังนั้นฟังก์ชันต่อไปนี้จะถูกนำไปใช้แล้ว:
สิ่งนี้สามารถใช้งานได้จากนี้และยังมีวิธีที่มีโครงสร้างในการเพิ่มรหัสเพิ่มเติม
เพื่อให้รหัสตัวอย่างเพิ่มเติมได้รับการพัฒนารหัสเพื่อจัดการ notes (เช่นการแสดงกระดาษบันทึกย่อที่เขียนด้วยลายมือ) ซึ่งประกอบด้วย title และ content ดังนั้นแอพจึงมีดัชนีบันทึกรายละเอียดสร้างและแก้ไขหน้าจอ
วัตถุประสงค์ที่เป็นเอกลักษณ์ของมันคือการเป็นโค้ดตัวอย่างดังนั้นมันจะถูกลบเมื่อคุณเรียกใช้ ./bin/remove_notes remove_notes สคริปต์
รหัสได้รับการจัดโครงสร้างตามแนวทางสถาปัตยกรรมที่สะอาดและรูปแบบ Model-View-Presenter (MVP) ตรวจสอบสิ่งนี้และโพสต์นี้และโครงการนี้สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้
หลักการผกผันของการพึ่งพาอาศัยอยู่ในแอพโดยทั่วไปเพื่อให้การทดสอบง่ายขึ้นและทำให้ส่วนประกอบแยกและนำกลับมาใช้ใหม่ได้ นอกจากนี้ยังช่วยลดรหัสหม้อไอน้ำและช่วยในการจัดการขอบเขตอินสแตนซ์ ห้องสมุดที่ใช้เพื่อให้บรรลุนั่นคือกริช 2. Butterknife ใช้สำหรับการฉีดชม
สถาปัตยกรรมที่สะอาดทำให้คุณสร้างเลเยอร์ที่แตกต่างกันและเพื่อหลีกเลี่ยงการโทรกลับกระบวนทัศน์การเขียนโปรแกรมปฏิกิริยาจะถูกนำไปใช้โดยใช้ไลบรารี Reactivex
ในฐานะแอพไคลเอนต์เป้าหมายหลักคือให้ผู้ใช้โต้ตอบกับข้อมูลจาก API เซิร์ฟเวอร์ โครงการแสดงวิธีจัดการกับสิ่งนั้นได้อย่างง่ายดาย ไลบรารีติดตั้งเพิ่มเติมใช้เพื่อใช้วิธีการโทร API การรับรองความถูกต้องเวอร์ชัน API และการทำให้เป็นสากลรวมอยู่ในคำขอ
หนึ่งในสิ่งที่น่าสนใจที่สุดของโครงการนี้คือมีความครอบคลุมการทดสอบหน่วยเต็มรูปแบบตั้งแต่โมดูลข้อมูลไปจนถึงมุมมอง Android รวมถึงเลเยอร์กลางทั้งหมด นั่นเป็นผลมาจากการใช้สถาปัตยกรรมที่สะอาดการผกผันการพึ่งพาและการทดสอบที่ดี ตัวอย่างหนึ่งของนั่นคือการทดสอบมุมมองที่ผู้จัดทำมุมมองถูกล้อเลียนโดย Mockito และฉีดโดยการทดสอบองค์ประกอบกริชซึ่งจัดทำโดยนักวิ่ง Junit ที่กำหนดเอง
ที่นี่คุณสามารถค้นหาบทเรียนที่อธิบายการทดสอบนี้:
รูปแบบอื่นและแนวทางปฏิบัติที่ดีถูกนำมาใช้ในโครงการเช่นการใช้กิจกรรมและชิ้นส่วนพฤติกรรมทั่วไปด้วยการสืบทอดใช้ชิ้นส่วนและกำหนดการนำทางในกิจกรรมเพื่อให้การเปลี่ยนแปลงหน้าจอไม่เจ็บปวดใช้อินเทอร์เฟซเพื่อแยกส่วนประกอบ ... ที่นี่หนึ่งในแหล่งข้อมูลที่ใช้แล้ว -> แนวทางปฏิบัติที่ดีที่สุดของ Android
Travis-CI ได้รับการเพิ่มเป็นระบบการรวมอย่างต่อเนื่องเพื่อเรียกใช้การทดสอบทั้งหมดในการกดแต่ละครั้ง (ทั้งการทดสอบ Java และ Android)
ในการเรียกใช้การทดสอบในเครื่องเพียงเชื่อมต่ออุปกรณ์หรือเรียกใช้อีมูเลเตอร์และดำเนินการ:
./gradlew clean build cAT
ที่จะเรียกใช้ทั้งการทดสอบ Java และ Android
มีสคริปต์บางส่วนภายใต้ /bin โฟลเดอร์เพื่อให้ง่ายมากเริ่มโครงการใหม่ตั้งแต่เริ่มต้นโดยใช้เทมเพลตนี้ เพียงทำตามส่วน 'เริ่มต้นอย่างรวดเร็ว' ที่วางไว้ด้านบน
สคริปต์เชลล์ทั้งหมดได้รับการตรวจสอบโดยเครื่องมือ Shellcheck
นี่คือ API เซิร์ฟเวอร์คู่จากที่แอพนี้ใช้ข้อมูล-> Rails-Api-Base
คำแนะนำและการมีส่วนร่วมทั้งหมดเป็นมากกว่าการต้อนรับ!
./gradlew clean build cAT
น่าเสียดายที่ยังไม่มีผู้มีส่วนร่วม
http://jordifierro.com