You should have a good understanding of Object-Oriented Programming concepts such as Inheritance, Polymorphism (Method overloading and overriding), Object, Class, etc. Additionally, a strong grasp of Core Java fundamentals is necessary for developing Android native apps. Familiarity with Java keywords like static, final, and synchronized is crucial. Error and Exception handling, as well as knowledge of the Collection framework, are required skills for this position. You should also possess a solid foundation in Android fundamentals and basic Android components such as Activity, Broadcast receiver, Service, Content provider, and Intent. Understanding the Activity life cycle is essential. Experience with Design Patterns like MVC, MVP, MVVM, and Singleton is a plus. Proficiency in Android UI/UX design, Layout, and knowledge of Android Known libraries are desirable. Moreover, familiarity with build systems and testing methods is important. Knowledge of Persistent Storage mechanisms like shared preferences and SQLite files, as well as Database Design/Queries, is required. Proficiency in Multithreading concepts including AsyncTask, Threads, Handlers, and Services is essential. Experience in Bluetooth and Wifi based application development is advantageous. Knowledge of Location and Maps, as well as Cloud communication based on REST (MQTT & Socket), is a plus. Strong skills in Debugging, Problem Solving, and Logical thinking are also needed for this role.,