Developing for iOS – Avoid using apps for Android which are in reality an iOS clone or designed according to iOS design standards. With Android being in the market for quite some time now, one needs to respect this platform and design apps accordingly.
Developing for Your Device – It is most likely that your app will not look good on each and every device unless it is a simple promo app built for a single tablet. In such a case using Android Emulator for replicating physical devices is a good option.
Avoiding Intents – Amongst Android’s key components, one of them is Intents which help data to pass between the app’s different parts or even between the system’s different apps. Using Intents helps save time and can be applied to everything on the system.
Not using Fragments – Fragments can be of great use as they help optimize different screens, can be managed by the parent activity easily and can also be reused, positioned and combined if need be.
Blocking Main Thread – The main thread’s only purpose is to keep the user interface responsive. Giving a delayed feedback to user’s means that the app will not respond and this might make the user frustrated, forcing him to give negative feedbacks.
Writing your own Code – Never attempt to write down your own code to communicate with your server in a background thread. Use already written, tested and widely used codes instead.
Not Assuming Success – It is always better to assume success and handle failure as need be. Chances are that the network calls will be successful so do not wait for server responses before handling the successful request.
Not understanding Bitmaps – You should try to understand Bitmaps and their importance which helps to load images into the memory before displaying it on the screen.
Using Deep View Hierarchy – Try to flatten out all hierarchy by putting in the required efforts as this will reduce your job related to layouts immensely.
Not Setting the minSdkVersion to 14 – Try to do away with the practice of supporting older devices as this will make the app more complex for code maintenance and also limit the development process.