Where should I start?
- Online tutorials, courses are good but may be obsolete. However Google docs on android are always up to date
I need some guidance
- Best to learn from creators
Which IDE should I use for Android mobile app development?
- Android Studio – it’s an Intellij IDEA based IDE, coming with all features available on IDEA. Supported by Google
- Intellij IDEA – it’s an option
- You could develop Apps for Android on Eclipse or Netbeans, but… just don’t. Those were darker times.
Which Android version should I choose for development?
- Basically one that is supported by most devices
Should I consider Kotlin?
- Yes, assuming that you are fluent Java programmer, otherwise you may not appreciate Kotlin features
Why even bother with Android when I can develop cross-device apps using react native / xamarin?
- I don’t know, ask your lecturer 🙂
- Avoid PhoneGap – it’s just a wrapper that displays web applications without a top bar
- Basically developing apps on Android makes sense when:
- you have a strong Java background
- you need to address only Android users
- you are concerned about performance
- you want to use one of many high quality free libraries available for android
- you want to use android API / features that are not available otherwise
I have a problem.
- Define your problem
- Search on Google / StackOverflow
- If you can’t find answer – redefine your problem
- If you really can’t find any answers, join and ask on groups listed above, community is helpful and will kindly tell you that you defined your problem in a wrong way.
I don’t have any android device to test my app / I don’t want to have an USB constantly attached to my PC.
- You can use BlueStacks as an emulator, it’s convenient
How can I test my applications?
- You can use JUnit for unit tests.
- Spock, Mockito or Powermockito are useful tools to develop high quality tests faster. Using Spock makes tests readable, enforcing self-documenting code
- Espresso allows blackbox UI testing
Ok, but how can I really test my applications on all those devices running android?
- Firebase allows Cloud based testing on multiple devices
How can I deploy an app for UAT testing?
- Fortunately Android means Google Play Store. It allows alpha and beta testing – you don’t have to send .apk files via email
How can I monetize my application?
- Basically freemium model seems to be the best choice. It depends on your brand and type of app you are trying to develop