So what will we build in this module?
We'll build a simple app and in this app, I'll not focus too much on the app itself, we'll build a basic
app here, we'll not add too many features because I instead want to focus on all these core native device
features.
So we'll build a a simple application which allows us to manage some great places we found let's say.
So on the starting screen, we'll have a list of those places where we maybe have an image,
then the title and then here, the address of that place and we'll have such a list here where we
can view all these places.
Now once we tap such a place, we're taken to the detail screen for that place where we see a bigger
image, where we then also see the address and below that, we see a map preview which we can also tap to
open a full screen map,
so to go to a new screen essentially where we of course also can go back, just as we can go back here
by the way,
so where we can go back, where we then see a full screen map representation of that place.
Now of course to add new places, we'll have a way of doing that, we'll have a plus or a create button here
in the menu
and when we tap this button, we're taken to yet another new screen which allows us to add a place.
Now on this screen, we can enter a title with a regular text input but we can also and that's now the
interesting part,
we can also take an image and display a preview here,
so we have a take image button here below that which we can press and that should open up the device camera
of course so that we can take a photo with the device camera and below that, I will also have
a map preview and we can locate the user,
so we have a locate button here or a choose on map button which obviously should fit onto the page and
not overlap it.
But these are the two buttons we'll have here - choose on map and locate and that will then either
pick the location where the user is currently at and populate this map preview with it or if we click
choose on map, we'll also open that full screen map here
but now in a mode where we can tap on a place there and then this place will be selected and we can
then click save up here to save that place and use that place here for this screen and there ultimately,
we'll also have a save button which we can press to add this new place.
Now new places will be stored in a SQLite database.
Now of course, you might want to store them on a web server but you already learned how that would work.
So in this module, I want to focus on a new storage technique which you also need in some apps where you
store something on the device, in an on device database
and that is of course also a common scenario, not all data needs to be stored on web servers. Maybe you
have an app where you need to store everything on a web server but you also might have some data in
some apps which you only need to store locally on the device.
The advantage of storing it locally of course is that you need no Internet connection,
the disadvantages that it can't be shared with other users
but if it's exclusive to this app installation, then you might absolutely want to store it locally.
So therefore this is what we're about to build. Regarding the navigation and so on, it's not the most complex
app because we had plenty of practice with that but we'll have plenty of amazing native device features
in there - camera, maps, user location, files storage and also SQLite,
so with that, you'll have a solid understanding of how to tap into such features and add them to your application
when you're done with this module.