Skip to content
This repository has been archived by the owner on Oct 25, 2024. It is now read-only.

Latest commit

 

History

History
48 lines (35 loc) · 1.77 KB

README.md

File metadata and controls

48 lines (35 loc) · 1.77 KB

Design Considerations

User Interface

  • Material Design:

    • Integrated Android's Material Design components like MaterialButton, TextInputLayout, RecyclerView, and CardView.
    • Applied Material themes through Theme.MaterialComponents.* in styles.xml.
    • Used Google’s Material Design library for predefined styles and components.
  • Responsive Layout:

    • Designed to support various screen sizes and orientations using ConstraintLayout.
    • Created separate XML layout files for different configurations (e.g., res/layout, res/layout-large).
    • Used ViewModel and LiveData to handle configuration changes smoothly.
  • Accessibility:

    • Enhanced usability for individuals with disabilities, supporting screen readers and high-contrast themes.
    • Added content descriptions for critical visual elements.
    • Used sp units for text sizes, with android:autoSizeTextType in TextView for text scaling.

Performance

  • Optimized API Calls:
    • Minimized latency through efficient API handling.
    • Implemented caching strategies, using OkHttp’s caching for offline network responses.

Security

  • Secure Network Communication:
    • Enforced HTTPS for all network communication to ensure data protection.

Integration

Third-Party Services

  • Local Data Storage:
    • Used Room Database for local caching of user preferences and vehicle data.

Backend API Integration

  • Retrofit:
    • Employed for efficient HTTP communication.
  • OkHttp:
    • Manages network requests, with GSON used for parsing JSON to facilitate smooth backend API integration.

Testing

  • Testing Configuration:
    • Configured with JUnit and Espresso dependencies to ensure comprehensive test coverage.