Is your team is considering creating a companion mobile application for a microprocessor-based product you recently developed and are looking to you for guidance related to design and development? Whether you are an inexperienced software engineer, or have years of experience in areas like embedded development, these Android software development tips can help you hit the ground running.

If you need software development related assistance, we can help. Please schedule a complementary consultation with one of our consultants.

Schedule a Free Consult


TRANSCRIPT

(Casandra) Hi everyone, today I’m going to be talking about Android development, more specifically, sharing tips for beginner app developers. You may be an inexperienced software engineer, or have years of experience in say, embedded development, just expanding your knowledge base, as many engineers do. Perhaps your team is considering creating a companion mobile application for a microprocessor-based product you recently developed and are looking to you for guidance related to design and development.

The PSI team is experienced in creating Android and iOS applications and so I asked my colleague Eugene to share his tips to hit the ground running as it relates to Android development.

Eugene shared that first and foremost, understand if you’re strictly developing for Android, or if your product roadmap includes a future iOS app. If you only develop for Android, you probably don’t care if your code is portable for iOS, so you can use an Application Programming Interface, or API for native Android development. If you do; however, plan to develop for iOS as well, use a tool that allows you to utilize as much code as possible, minimizing the amount of code that would need to be rewritten.

Once you’ve concluded that Android is your application of choice, Eugene encourages all software engineers to learn the Android User Interface and coding guidelines. These are provided directly from Android and I’ll share a direct link in the description. Following these guidelines will help you create the best application possible for your users and utilize the Android controls as they are intended to be used. In other words, building an app that Android users find intuitive.

While familiarizing yourself with the Android guidelines is very important, it’s also critical to understand application lifecycles. Understand how app works when other apps are opened or when the user returns to home screen. For example, if the user starts other applications or does an activity on a different screen, the developer should make sure the app maintains the same state that it was in so that when the user returns to your application they don’t notice any changes, essentially the app should be behaving the same way it was when the user left it.

So understanding the application lifecycle is very important, and we discussed the user leaving the app and returning; however, there are also times when the user terminates the application. As the developer, you should understand how memory is handled within the app, particularly persistent memory. When the application is terminated, the data that was not put in persistent memory will be lost. As the developer, it’s important to know what data is critical to save and how to update and store it in persistent memory. Eugene suggests protecting application resources as well, for example, network connections and data files you may have open in the application.

When designing an application, consider using Structural Design Patterns that separate data and view interactions. As a best practice, the user interface should not interact with the application data directly. There should be some kind of layer in between these designs that helps the UI to show what it needs to show, and can also pull data from your data layer. There are a few ways to do this. Eugene talks about the Model-View-Controller architecture pattern, or MVC and the Model View – View Model architecture pattern. There are pros and cons to each pattern and Eugene suggests learning more about each. What’s important to take away is maintaining the separation of view interactions and data interactions, because if these two components do touch, 1. it can cause bugs in future developments or restructures and 2. because touching persistent data makes the application slower.

All really good tips – a big thank you to Eugene for sharing his knowledge on Android development. It’s certainly very helpful as mobile development continues to rapidly increase and the demand for companion mobile applications with existing products rise.

I want to thank you for watching this video. We hope you found this information helpful and relevant. At PSI, we’re always happy to answer your questions or share a more in depth as it relates to your particular project and mobile application. Please feel free to contact us if you need help getting started.

Resources:
https://developer.android.com/design


No Comment

You can post first response comment.

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter message.