官术网_书友最值得收藏!

Creating MasteringAndroidApp

Now that we've seen the main features of the latest Android version, we can introduce the app that we are going to develop during the book. This app will include most of these features, but we will also spend time in the components widely used in previous Android versions.

To master Android, we should be prepared to understand legacy code; for instance, we might have to work on an app that still uses ListView instead of RecyclerView, which is new. We will not always create apps from scratch with the latest components, especially if we are professional Android developers. Also, looking at previous components will help us understand the natural evolution of these components to have a better idea of how they are now.

We will start creating this app totally from scratch, starting with the initial design, having a look at the most used design and navigation patterns in Android, such as tabs at the top, a sliding menu on the left side, and so on.

The app that we will develop, MasteringAndroidApp, is one with server-side interaction. This app will show information that is stored in the cloud, and we will create the cloud component, making our app communicate with it. The topic we have chosen for the app is a job listing board, where we will create job offers on the server side, and the users of the app can read these offers and receive notifications.

You can easily customize the topic; this will be an example where you can change the information and create your own app with the same structure. In fact, it's better if you think of your own idea because we will discuss how to publish the app in Play Store and how to monetize it; we will add adverts, which will generate revenue when the users click on it. So, if you apply what you learn using your idea, by the time you finish the book, you will have an app ready to be distributed.

We will develop the app explaining the programming patterns that are most used in Android as well as concurrency techniques and different methods to connect to rest APIs or servers.

We'll not only be focusing on the backend, but also on the UI; by displaying the information in an efficient way, using lists and grids, downloading images from the Internet, and customizing fonts and views with the latest material design features.

We will learn the mechanism for debugging our apps, managing logs, and consider the memory usage while learning how to identify and prevent memory leaks.

Our app will have an offline mode based on a database, where we will store the content from the cloud. So, if the mobile loses connection, we can still show the information available when we were last online.

To complete our app, we will add extra features such as push notifications, crash reports, and analytics.

To finish, we will see how the Android build system works, exporting our app in different versions as well as obfuscating the code to protect it and prevent decompiling.

We have compressed a huge amount of information that will help you to master Android by the end of the book; however, before starting with our app, let's get the tools ready.

主站蜘蛛池模板: 柳河县| 平遥县| 台东市| 巧家县| 东平县| 秦皇岛市| 牡丹江市| 四子王旗| 府谷县| 宝兴县| 连平县| 鲁甸县| 盘山县| 南宫市| 博野县| 温泉县| 虞城县| 交城县| 广元市| 炎陵县| 怀远县| 比如县| 北安市| 延安市| 定南县| 嘉义县| 襄樊市| 盐边县| 呼图壁县| 许昌县| 浦北县| 莫力| 响水县| 勐海县| 宜丰县| 镇坪县| 吴堡县| 油尖旺区| 华池县| 千阳县| 贵定县|