In this course we discuss how to capitalize on the Android camera within your apps to capture still photos and video. We look at both the simple case of leveraging the built-in camera app and the more detailed scenario of direct camera control.
Android devices allow people to have access to a high-quality photo and video camera at all times. This course teaches you how to capitalize on the Android device’s camera capabilities and incorporate them into your app. Topics covered include leveraging the built-in camera app, embedding a camera preview window in your app’s UI, capturing still photos, capturing video, attaching GPS location data to your photos, determining camera capabilities, configuring the camera, camera zoom, Android Gallery integration, accessing the Media Store, showing thumbnails, and much more.
Jim Wilson is president of JW Hedgehog, Inc., a consulting firm specializing in solutions for the Android, iOS, and Microsoft platforms. Jim has over 30 years of software engineering experience, with the past 15 years heavily focused on creating mobile device and location-based solutions.
Android Photo and Video Porgramming - Getting Started Welcome to the getting started module for the Android Photo and Video Programming course. My name is Jim Wilson. Now, the first thing we're going to look at in this course is the choice between having very close control over the way the video and photo behavior occurs, or do you want ease of programming? Now, throughout most of this course, we're going to look at the details of managing that control. In this module, we're going to look at mostly the kind of the getting started aspects, how do we do things easily? So, the first thing we'll look at there then is that how do we actually capture photos the easy way, right, without doing a lot of programming? The next thing we'll look at is how to specify output location, and when we do that we're going to look at a number of different things. We're going to obviously look at how we associate the output location with a request to capture an image, but we're also going to look at the aspects of being a good citizen. Where are you supposed to put the photos, and then on to the issue of if someone uninstalls your app, do want the photos to stick around or do you want those photos to go away? So, we'll look at all of those issues and how you tie that all back to what we're doing. And then finally, we'll take everything we talked about there with photos and now apply it to videos so we can capture videos in the kind of same easy way we can capture photos.
Viewing Camera Display Welcome to this module on Viewing the Camera Display within your Android Applications. My name is Jim Wilson. In this module, the first thing we're going to look at is how do we create the camera preview? In other words, how do you actually provide that experience to the user of being able to see what the camera sees at this point? I'll talk about the issues of managing that camera preview. There's a number of things that we have to work with in terms of knowing when to start the preview, knowing when to stop it, and managing how the experience renders out to the user. And then finally, we'll talk about the issue of setting the preview orientation. One of the challenges is that on many devices the natural orientation of the device is different than the orientation of the camera, and in order to provide a user experience that they're not looking at things like sideways, we have to manage some of the preview orientation issues.
Taking a Picture Welcome to this module on Taking a Picture with the Android Camera API. My name is Jim Wilson. Now, if you've been following along this whole course, we've finally gotten to that thing you've been looking forward to, how do you actually take a picture? And we'll find that this is actually very easy. So, this is going to be a short module, and we'll just walk through a few things. The first thing we'll look is are the steps in actually taking a photo, what is the process it goes through, actually taking the photo, how do we actually implement that in code, and will finish up with how to store that photo.
Camera Control Welcome to this module on Camera Control within the Android Camera API. My name is Jim Wilson. We're first going to look at camera behavior and what do we mean by camera behavior in this context, look at the issues around controlling camera behavior and what are the general concepts that are behind camera behavior, and then we're going to look at some very specific cases. So, we're first going to look at something called photo resolution. How do we actually improve the resolution of the pictures we capture or reduce the size of the files and manage that? Look at the issue of photo metadata. How do we associate extended data with the photos? This could be things like geotagging, there could be some issues around camera rotation, right, those kinds of issues. And we'll finish up controlling camera zoom, and we'll see there are a number of issues we'll look at in terms of doing that sort of thing well.
Recording Video Welcome to this module on recording video. My name is Jim Wilson. As we go through this module, the key thing we're going to talk about is this thing called the MediaRecorder. So, we'll introduce the MediaRecorder first. Then we'll go through the MediaRecorder state overview. MediaRecorder is a very general purpose class, and because it can do so many things, it's important that we transition through the process of using it in a specific order, so we'll walk through that a little bit. We'll then look at the details of how to set up the MediaRecorder, and one of the key things we'll talk about there is something called profiles that actually really simplifies that process for us. We'll then look at how to actually start the process of recording a video and stop it. We'll look at the issues around cleanup and making sure we give back all the resources that we're holding. We'll look at this issue of camera orientation again. As we've seen in many other parts of this course, the orientation of how the device is held can affect the way things appear later, so we'll see how that applies to video. And we'll finish up on the issue of profiles and how to work with them effectively.
Media Store Welcome to this module on the Android Media Store. My name is Jim Wilson. In this module, we're going to talk about a few different things. One, of course, is the Media Store. What is it? What does it mean? A very important aspect of the Media Store is something called the Media Scanner Service. How do we scan a file using the scanner service to get it into the Media Store? And then one of the nice benefits of the Media Store is access to thumbnails, so we'll look at how to do that.