Code Monkey home page Code Monkey logo

imovies's Introduction

Android Technical Document (iMovies App)

A technical document for Android, is a comprehensive document that outlines the technical aspects of an Android application. It contains detailed information on the application's design, development, and testing. Some critical elements of a technical document for Android include:

  1. Getting Started
  2. Tech Stack
  3. Code Conventions

Getting Started

Prerequisites

  1. Android Studio Version Dolphin | 2021.3.1 or Higher
  2. Android SDK - download here (By default, Android Studio already contains Android SDK)

Android Specification Overview

  • Minimum: Level 24 ( Android 7.0 - Nougat )
  • Maximum: Level 33 ( Android 13 - Tiramisu )

Installation

These instructions will get you a copy of the project and run it on your local machine for development and testing.

  1. Clone this repo to your local machine using a terminal with this command

https://github.com/whatsername0414/iMovies.git

  1. Import the project into android studio:

File >> Import Project >> Select the cloned repository

  1. Navigate to local.properties from the root project and add the below code

release.jks.path=

release.jks.alias=

release.jks.aliasPassword=

release.jks.password=

keystore credentials

Name Key Description
Keystore path release.jks.path location of your keystore
Password release.jks.password Secure password for your keystore
Alias release.jks.alias Identifying name for your key
Password release.jks.aliasPasswo rd Secure password for your key.
  1. Select Build Variant
Variant Name Description
prod This variant uses an API pointing to the Production Environment
dev This variant uses an API pointing to the Development Environment
  1. Clean and Build Project

Android Tech Stack

Android tech stack combines programming languages, development tools, libraries, and APIs to build and deploy Android applications.

Language

  • Kotlin

Platform

  • Framework
  • Native Android Hilt–Dependency Injection Mockito

Database

  • Room

Security

  • Proguard

Networking, Data, and Concurrency Framework Tools

  • Retrofit
  • Coroutines

Media Processing Tools

  • Glide
  • Model-View-ViewModel (MVVM) SOLID Principle
  • Dependency Injection

Android Development Toolkit

  • Android Studio
  • Android SDK
  • Android Platform Tools
  • Android Jetpack Component Libraries

Android Development Support Tools

  • Postman
  • Gitlab

Android Conventions

Android applications should always be neatly organized, with a clear folder structure that makes your code easy to read. In addition, proper naming conventions for code and classes are essential to ensure your code is clean and maintainable.

Naming Conventions

Java/Kotlin Code

Type Example Description
Variable trackId All variables should be camel cases.
Constant BASE_URL All constants should be uppercase with an underscore delimiter.
Method doGetMovies All methods should be camel cases.
Parameter trackId All parameters should be camel cases.

Android Classes

Should be named with a particular convention that makes their purpose clear in the name. For example, all activities should end with Activity as in MainActivity. The essential naming conventions are:

Name Convention Inherits
Activity MainActivity AppCompatActivity, Activity
List Adapter MovieAdapter RecyclerView.Adapter
Fragment FavoriteFragment Fragment

Android XML (Filename)

Similar to android classes, XML files should be named with a particular convention that makes their purpose clear in the name. For example, all activity's XML layouts should start with the activity plus the name of the corresponding activity class name in underscore delimited format.

Type Example Description
Activity activity_main.xml AppCompatActivity, Activity
List Adapter adapter_movie.xml RecyclerView.Adapter
Fragment fragment_favorite.xml Fragment
Custom View common_dialog Custom views and includable XML views

Android XML (IDs)

Type Example Description
Layout searchEditText

All ids in the layout should be in a camel case format.

Append the complete class name of View in the id

String common_error_message

All ids in the string should be in an underscore delimited format.

Prepend where the string is being used before the name of the string.

Color blue_9C0

All ids in the string should be in an underscore delimited format.

Append the last three alphanumerics in hex color after the color name

Screenshots

imovies's People

Contributors

whatsername0414 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.