1 00:00:02,390 --> 00:00:04,640 So what will we build in this module? 2 00:00:04,670 --> 00:00:11,390 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 3 00:00:11,390 --> 00:00:17,240 app here, we'll not add too many features because I instead want to focus on all these core native device 4 00:00:17,240 --> 00:00:17,930 features. 5 00:00:18,080 --> 00:00:24,140 So we'll build a a simple application which allows us to manage some great places we found let's say. 6 00:00:24,530 --> 00:00:29,820 So on the starting screen, we'll have a list of those places where we maybe have an image, 7 00:00:29,930 --> 00:00:36,110 then the title and then here, the address of that place and we'll have such a list here where we 8 00:00:36,110 --> 00:00:38,090 can view all these places. 9 00:00:38,090 --> 00:00:46,130 Now once we tap such a place, we're taken to the detail screen for that place where we see a bigger 10 00:00:46,130 --> 00:00:56,510 image, where we then also see the address and below that, we see a map preview which we can also tap to 11 00:00:56,510 --> 00:00:58,780 open a full screen map, 12 00:00:58,790 --> 00:01:05,360 so to go to a new screen essentially where we of course also can go back, just as we can go back here 13 00:01:05,390 --> 00:01:06,130 by the way, 14 00:01:06,260 --> 00:01:12,320 so where we can go back, where we then see a full screen map representation of that place. 15 00:01:12,320 --> 00:01:19,790 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 16 00:01:19,880 --> 00:01:20,950 in the menu 17 00:01:21,020 --> 00:01:29,120 and when we tap this button, we're taken to yet another new screen which allows us to add a place. 18 00:01:29,120 --> 00:01:36,080 Now on this screen, we can enter a title with a regular text input but we can also and that's now the 19 00:01:36,080 --> 00:01:37,440 interesting part, 20 00:01:37,490 --> 00:01:40,790 we can also take an image and display a preview here, 21 00:01:40,790 --> 00:01:50,960 so we have a take image button here below that which we can press and that should open up the device camera 22 00:01:50,990 --> 00:01:58,010 of course so that we can take a photo with the device camera and below that, I will also have 23 00:01:58,010 --> 00:02:02,180 a map preview and we can locate the user, 24 00:02:02,210 --> 00:02:14,170 so we have a locate button here or a choose on map button which obviously should fit onto the page and 25 00:02:14,350 --> 00:02:15,230 not overlap it. 26 00:02:15,340 --> 00:02:20,260 But these are the two buttons we'll have here - choose on map and locate and that will then either 27 00:02:20,260 --> 00:02:26,020 pick the location where the user is currently at and populate this map preview with it or if we click 28 00:02:26,020 --> 00:02:29,880 choose on map, we'll also open that full screen map here 29 00:02:30,040 --> 00:02:35,200 but now in a mode where we can tap on a place there and then this place will be selected and we can 30 00:02:35,200 --> 00:02:43,120 then click save up here to save that place and use that place here for this screen and there ultimately, 31 00:02:43,120 --> 00:02:46,810 we'll also have a save button which we can press to add this new place. 32 00:02:47,020 --> 00:02:54,690 Now new places will be stored in a SQLite database. 33 00:02:54,690 --> 00:02:59,790 Now of course, you might want to store them on a web server but you already learned how that would work. 34 00:02:59,790 --> 00:03:05,160 So in this module, I want to focus on a new storage technique which you also need in some apps where you 35 00:03:05,160 --> 00:03:08,290 store something on the device, in an on device database 36 00:03:08,520 --> 00:03:14,580 and that is of course also a common scenario, not all data needs to be stored on web servers. Maybe you 37 00:03:14,580 --> 00:03:18,960 have an app where you need to store everything on a web server but you also might have some data in 38 00:03:18,960 --> 00:03:22,580 some apps which you only need to store locally on the device. 39 00:03:22,590 --> 00:03:26,470 The advantage of storing it locally of course is that you need no Internet connection, 40 00:03:26,490 --> 00:03:29,210 the disadvantages that it can't be shared with other users 41 00:03:29,220 --> 00:03:34,640 but if it's exclusive to this app installation, then you might absolutely want to store it locally. 42 00:03:34,710 --> 00:03:39,720 So therefore this is what we're about to build. Regarding the navigation and so on, it's not the most complex 43 00:03:39,720 --> 00:03:46,140 app because we had plenty of practice with that but we'll have plenty of amazing native device features 44 00:03:46,140 --> 00:03:51,160 in there - camera, maps, user location, files storage and also SQLite, 45 00:03:51,180 --> 00:03:56,310 so with that, you'll have a solid understanding of how to tap into such features and add them to your application 46 00:03:56,490 --> 00:03:58,050 when you're done with this module.