The world has changed. Most people today are carrying mobile devices with them at all times. The most popular operating system powering these devices is Android. If you are interested in reaching this market, you must be able to deliver applications on this platform. Whether you are a budding or experienced software developer with little to no experience with creating Android applications, after this course, you will be well equipped to tackle the Android market.
This is our first coLearning class that encourages you to attend with a team. Whether it's the team you work with every day or a newly formed one. Don't have a team? Don't worry, apply for which role (see below) you'd like to take and we'll help match you with some new friends.
Learn some fundamentals of Java and Object Oriented Design, not to mention Design Patterns. We will also be studying at a high level all of the various parts that make up an Android Application.
When developing any applications, the experience that you give your customers is extremely important. Here, we will be talking about various tools that will assist you in the layout of the views in your application.
Looking for that consistent look and feel across your application with minimal effort? Then you want to leverage Android’s Style and Themes
At the heart of every Android application is the Activity. We will learn more about the Activity and how it is used.
Introduced in Honeycomb, the ActionBar has become a pivotal part of most Android Applications. In this section you will also meet Android’s root inter-component messaging system, Intents.
In order to allow your applications make effective use of devices with a variety of sizes and shapes, your application will need to use fragments. They extend a UI to tablets, TVs, and beyond
An Android application must feel snappy and responsive, even while it is using the network. In order to do this, it must confront one of the most difficult problems in programming: concurrency. Android has several tools that make concurrency easier. Using them effectively is the key to a robust application
Building an Android apps is quite a bit different than building apps for many other platforms. On Android, apps don’t have well defined beginnings and ends. A well designed app appears to be running continuously… despite the fact the OS is constantly killing it! If this sounds familiar, you are probably a Web Application developer. Android Apps are tiny WebApps!
Not everything you do in Android requires a User Interface. Sometimes, you want to do things in the background like pull down an RSS feed or contact some remote web service. This is where Services fit in.
Your customer will want to be able to use your applications, regardless if a network is available or not. We will discuss how to store the state of your application using the Content Provider’s REST API, and the local SQLite database that usually backs it.
Android is for mobile devices - emphasis on mobile. One of services that you can tie into is the Location Service in order to determine the location of the device.
In order to be successful in this course, you should have a general understanding of programming concepts - these concepts include variables, methods / functions, conditional statements and loops. You should also have access to your own computer to use during on-site class time. You should also have access to the internet - whether that is home, coffee shop, or the library or through a membership at The Factory. The computer that the you decide to uses will need Java, minimally 1.7, and the Eclipse Android Development Toolkit. An Android device would be helpful, but certainly not mandatory. In addition to having access to a computer, you must be able to attend all required class periods and meet the minimum attendance for supplemental programming.
This class is, as is any substantial product, about your team. In order to be successful in this course, you will need to build a team that has the following skills:
Note that this is not a list of people, it is a list of roles: on some teams a single person may occupy more than one of them. We will, however, be asking your team to identify the person in each roll. You are most welcome to add additional roles if you like.
In order to qualify for this class, a team must deliver, on the first day of class, a trivial Android "Hello World" app. There will be a pre-class session that will help you install the Android tool chain (Java 1.6 or greater, the Android SDK, Android Studio, ADT, etc) if you need help doing that.
You will be part of a team that produces a production quality Android application that is available in the Google Play store. You will have a chance to follow your passion, as it relates to Android development, from inception to release. The course will present the following topics, in detail; you and your team can choose the ones you wish to pursue. At the end of the class, at least one member of your team will: