This course covers beginning level Android development from the perspective of a .NET developer. In this course you will learn to create a simple multi-screen Android application that can utilize menus and preferences and learn to deploy that application to the Android marketplace.
Android Development Environment Setup Today I'm going to talk to you about setting up your Android development environment. It can seem like a daunting task to try and figure out all the things you need to install, where you need to download them, and what you need to get setup to get started developing on Android, but I'm going to make it very easy for you by walking you through step by step showing you each step, how to get what you need, and how to get developing. First some basic assumptions before we begin. First, I'm assuming that you're using a Microsoft Windows environment. You could of course develop your Android applications using Mac OS or Linux, but for this demonstration we're going to be using Microsoft Windows. I'm also assuming that we're developing in Eclipse. You can use a different IDE for development, but Android has provided a set of add-ins for Eclipse that make Android development using Eclipse much easier. Finally, you need to have the JDK installed. If you don't have this already, you can get this from oracle. com. One note here is to make sure that whatever JDK you install, be it the 32-bit or the 64-bit, that you get the same version of Eclipse. Later on I'm going to recommend that you get the 32-bit version of Eclipse, so if you haven't installed the JDK already, you may want to just go ahead and get the 32-bit. So what are we going to talk about today? First of all, we're going to talk about Eclipse, where to get it, and how to install it. Next we're going to move on to the Android SDK Starter and we're going to get that setup and installed. Then we're going to get the ADT for Eclipse, which is the Application Development Toolkit that Google provides as a plugin for Eclipse. Then we're going to look at the platforms and components that the ADT will allow us to install in our Eclipse installation. And finally, we're going to create a Hello World application using Eclipse and a starter Android project just to make sure that everything that we installed and setup is working correctly.
The Android Project Hi, this is John Sonmez from Pluralsight. And today we're going to be talking about The Android Project. The goal of this module is to get you familiar enough with the Android project structure so that you'll be able to understand when you create an Android application, where do you put certain files and where can you find files and configuration in your Android project. The very first thing we're going to talk about is the src folder, which contains all of your source files that you'll be creating for your Android project. Next is the gen folder. As you can guess, this is the generated folder that contains files that are generated for you by Eclipse. And then is the resource folder, which is res folder. It contains resources that you may use in your application. Then the Android Manifest file. This is a file that contains configuration for your Android project. And then finally I'm going to go over some tips for Eclipse. If you're starting out with Eclipse and you don't have a lot of familiarity, this section might be very useful for you. I've found that there's a few things that if you know about Eclipse can really help you get a jumpstart and really increase your productivity from the start. So I'm just going to go over some of the tips here that I've picked up using Eclipse that may be able to help you to really start using Eclipse a lot faster than it would take you trying to learn some of these things on your own.
The Activity Hi, this is John Sonmez from Pluralsight, and in this module we're going to be talking about the Android activity. Let's take a quick look at what we're going to cover in this module. First we're going to take a look at the activity lifecycle. We're going to look at the details of what happens when you launch an activity and when that activity is eventually ended, and all the steps in between there. Then we're going to look at how to get views from a layout so that we can use views likes buttons and textboxes in our activity. Then we're going to look at how we can update the view so that we can reflect changes that have happened in the activity to the view for the user to see. Then we're going to look at responding to events that happen within the view so that we'll be able to handle things like a button click. Then of course we need to be able to create a new activity, so we're going to look at what are the elements that are required in order to create a new activity, then to be able to launch that activity so that we can navigate from one activity in our Android application to another activity. And finally we're going to take a look at saving the activity state. In Android we have the possibility that the operating system may end your activity before you expect that to happen, and we need to be able to save and restore that state when that occurs.
Android UI Hi, this is John Sonmez from Pluralsight, and today we're going to be talking about the Android User Interface. First let's take a quick rundown of all the things that we're going to discuss in this module. The first thing that we're going to look at is the fact that in Android everything is a view. There's a lot of overload going on with the name view and we're going to discuss that and we're going to look at the view architecture. Then we're going to take a look at the layout files, which are XML files that describe the view. Then we're going to take a look at some of the different types of layouts. I'm going to walkthrough a few different kinds of layouts that you might use in your Android applications and show you some of the users of each one of those. Then we're actually going to go ahead and create a simple layout. We're going to create the layout that we had mocked up in a previous module for the Protein Tracker application that we're using for this course. So we're actually going to create that layout, lay it all out, and then look at the XML file so that we can understand how to create layouts in Android.
Preferences Hi, this is John Sonmez from Pluralsight, and today we're going to talk about Android preferences. In this module, we're going to cover what shared preferences are and when we would use them. The saving and retrieving of shared preferences, I'm going to show you how you can actually save a shared preference and then get that back whether it be in an activity or at the application level. Then we're going to look at creating a preference screen. In Android we are given the ability to use a special kind of layout file that allows us to lay out a preference screen that makes things a lot easier than trying to create your own. And then we're going to take a look at the preference activity, which is closely related to the preference screen. It is the activity that you can use to automatically display the preference screen and respond to events that happen inside the preference screen. And then we'll talk briefly about some other storage options that you have. We're mainly going to focus on shared preferences in this module because it's the easiest way to use preferences in your application, but there may be some other settings that you might need to store in a different format, and we'll take a quick look at some of the storage options you have for storing other types of user data.
Menus Hi, this is John Sonmez from Pluralsight, and in this module we're going to cover menus in your Android application. So let's take a look at what we're going to cover in this module. First we're going to go over each one of the types of menus, I'm going to show you what each one looks like and give you a brief overview of when you would use each one. Then we're going to take a look at creating an option menu. I'm going to show you how to create an option menu and we're going to go ahead and create one for our Protein Tracker application. Then I'm going to show you how to create a context menu, we'll go over what is needed in order to create a context menu. And then finally we're going to create a sub-menu, which is just a menu that is part of another option menu or context menu.
Dialogs Hi, this is John Sonmez from Pluralsight, and in this module we're going to be covering using dialogs in our Android application. Dialogs are a very useful part of the Android framework that allows us to give the user some notification of an event that has occurred or to get a quick selection from a user. So they're very useful in building our Android applications, and I'm going to show you how to use them today. So the first thing that we're going to look at is dialog management. Android provides a framework and a flow for managing our dialogs in our application. If we use Android's dialog management, it'll handle a lot of the work for us and we can just plug in the parts that Android asks for us to provide. We'll also cover the types of dialogs. There's several different types that we can choose from when creating our Android application, and I'll briefly cover each one of those types. Then we'll talk about creating an alert dialog, and we'll actually show you how to create an alert dialog in your Android application. We'll create an alert dialog for our Protein Tracker application and get some input from the user. Then we'll look at creating a progress dialog. I'll show you how to create a progress dialog in your Android application and some of the different variations that exist for progress dialogs. And finally, we'll take a look at creating a custom dialog. We'll go through the code required to create a custom dialog and create a custom layout for that dialog.
Deployment Part 1 Hi, this is John Sonmez from Pluralsight and in this module we're going to be covering deploying your Android application. This is the part 1 of a 2 part module on deploying your application, and in this particular module we're going to cover signing your application. We're going to talk about what signing is and why you need to sign your application and some of the considerations specific to Android and the Android market. Then we're going to talk about exporting from Eclipse, we're going to look at how easy it is to export your assigned version of your application using Eclipse, and then we'll go through the slightly more tedious process of manually signing your application so that you're able to manually sign it if you need to using some Java tools and Android tools from the command line. And then finally we're going to take a look at an obfuscation tool called ProGuard, which is going to help you to be able to secure your Android application. The focus of this module is basically going to be on setting up you with the ability to sign your application and then to secure your application, and then in the second part we'll get into deploying your application. And with those three steps, you should be able to take your application and put it out there in the market so that someone will be able to purchase or download your app.
Deployment Part 2 Hi, this is John Sonmez from Pluralsight, and this is the second module about Android deployment. And in this module, we're going to go ahead and dive pretty deep into the Android License Manager. Originally I had planned to make the deployment module just one module, but I decided to make this two parts because the Android License Manager is really one of the more difficult things that I've had to do in creating my application and in getting it deployed, and I think it's really important to understand how to do this so that you can make sure that your application doesn't get copied and you have this whole licensing issue under control. So we're going to just look at what it is and just discuss how it works. Then I'm actually going to walk you through setting up the license verification library, which is the library that is used by Android applications to take advantage of the Android License Manager. So we're going to download it, we're going to get setup in the project, then we're going to add some very simple license checking using the license verification library to our Protein Tracker application so that we can see how to get that working. And then finally we're going to take a look at publishing on the market. We're just going to go through a mock upload of our application and go through all the fields on the publishing and I'll briefly explain what those are.