This is the list that helped me when I started:
- Download and install Android Studio (that covers setting up JDK and other environment set up)
- Create a project, defining minimum SDK for your app. Give some time to consider and prove Company Domain because the value you give here will determine folder structure and your classes’ namespace. (e.g –
test.leeharvey.me
) - Select your app icon.
- Choose a pre-defined Activity to include in your project. As you get more and more experienced, you will find that you like to create and customize activities on your own and selecting a
BlankActivity
orNoActivity
will give you maximum flexibility. - If you plan to test your app on multiple emulator types in addition to on your device (which is recommended), take some time to configure the emulators.
- Define your theme in
res/values/styles.xml
and link your created theme inAndroidManifest.xml
(Custom UI for Android) - Add required permissions in
AndroidManifest.xml
(e.g –uses-permission android:name="android.permission.INTERNET"
) - Plan how many Activities, Menus, layouts you will use on a scratch paper and create them inside your project. You may want to add another project (as
ClassLibrary
) to separate your logic/services. - Include external libraries that you want to use. A compiled list of useful libraries (But, please be very frugal when deciding to use a library. They might make your code more complex unnecessarily and make it hard to debug.)
- Add graphics/icons that you plan to use.
- Centralize your UI labels and other string values inside
res/values/strings.xml
. - You can refer to my answer here on a rough idea of when and what exceptions to handle.
While reading the list, if you don’t know how to accomplish a task in the list, you can refer to: Android Tutorial from raywenderlich. The list above is the summary of what’s described in the article.
If you find some important steps missing or later find out better ways to accomplish some steps, please help edit my answer.
1
solved best approach to android development process [closed]