Mobile Application Development with Phonegap, MySQL and PHP | EDWARD DANIEL VIDAL GARCIA | Skillshare

Mobile Application Development with Phonegap, MySQL and PHP

EDWARD DANIEL VIDAL GARCIA, Mobile and web developer

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
18 Lessons (1h 31m)
    • 1. Register for Free Hosting

      2:36
    • 2. Creating the Database with MySQL

      2:31
    • 3. Creating database connection file with php

      2:11
    • 4. Creating Service to save with PHP

      2:55
    • 5. Creating Service to Edit and Delete with PHP

      2:38
    • 6. Service to Consult with PHP and Json

      5:17
    • 7. Upload files to the Server with Filezilla

      2:47
    • 8. Installing Phonegap

      11:18
    • 9. Creating the project and form to Save Information

      9:13
    • 10. Designing the Form to Edit, Delete and Display Information

      3:57
    • 11. Creating File to Get Url

      1:16
    • 12. Coding Form to Save Information

      12:44
    • 13. Coding Form to Display Information

      13:39
    • 14. Coding Form to Edit and Delete Information

      8:21
    • 15. Testing Application

      2:21
    • 16. Adding icon and configuration from config.xml file

      4:30
    • 17. Generate test APK

      1:04
    • 18. Installing APK on the cell phone

      1:56
12 students are watching this class

About This Class

Course summary

Beginner Mobile Developer - Learn the world of mobile app development, related technologies, and make money with mobile app.

Hybrid application: learn the technology to develop a mobile hybrid application

Mobile user interface: learn how to create responsive pages with bootstrap

Connect web service - Learn how to send data between the mobile app and the web service and web API (PHP).

MySQL database: how to get a mobile application to handle data transfer with MySQL database.

Functionality - Learn how to create services to consume with ajax.

Why should you take this course?

You can create a mobile application

Supports client systems, iOS, Android, Windows Phone.

I have many questions.

Ask questions in the video. And have answers in the shortest time possible

Updating content continuously.

Sign up for the course Mobile Application Development with Phonegap, MySQL and PHP, Don't let time pass,

Sign up now!

Transcripts

1. Register for Free Hosting: In this chapter we are going to start creating our database, but for this we are going to register at a free hosting that we must host everything that we are going to do on the server side. For that I have chosen this hosting that is www.000webhost.com that has turned out very very good. Here I will give you where it says login. Initially I'm going to register, I'm going to give you here where it says register for free, it will say get free for this I created an email called [email protected] I'm going to put a password here I'm going to put phonegap udemy too and I'm going to tell it to get hosting free, register it, I will select this little part, I will select this and I will select this to verify. So now we are going to give you free hosting. We are going to wait for it to load that here it appears to us that it is loading invades tells us that there was an error. We are going to continue, I am going to put another password that can also happen to you, I am going to tell you again get free hosting, for sure. We did not verify the Captcha hosting. Let's check it again, let's give it one more time to get free hosting. Now if this can happen to you too That is why we are going to leave it. Let's say OK I just want to learn and for that I will receive an email to an email where I must verify bill. We will wait for it to arrive and verify, once the mail arrives. We are going to open it, we are going to confirm, verify email we are going to proceed, we are going to verify to be able to do use of all tools. Let's close this one, ok here it tells us that the email has been verified and we can now use all the tools Here we can create our database. Here we can upload our files. 2. Creating the Database with MySQL: We continue creating the database where we are going to save all the records and all the information in the www.000webhosting.com, in client-side hosting We are going to give you where it says Manage database or Database Administrator, It depends on the language you have it. We are going to give it Manage database in this case, we are going to wait for it to load us a moment, it appears here. Now yes, we are going to give you where it says new databases. I'm going to call the database phonegap, I'm going to put a root user and a password, I'm going to give it where it says create A message appears that the database has been created but we must wait for it to go through the whole Preloader to be created correctly, here it says that you are creating the database, these are going to be the parameters from our database for when we are creating our connection file. This is how the user database name is created and those numbers are added and the host if we are local host remains, we wait a few moments while the whole preloader reloads us This doesn't take long. There it is loading the entire database. We will complete our load. Then once the database is created, the options appear. I'm going to tell you where I made PHP My Admin from so that it opens the database administrator here we open the PHPMyAdmin Some may already be familiar with the interface. Here I am going to click on the phonegap database and to save a little time I am already here I have the script from the database, go from the table, the table I called it book. I have a field that is auto increment. I have a field that is name, author and price, I will copy it I will paste it and I will continue if in this case it is empty and with this we have finished our creation of the database. 3. Creating database connection file with php: We are going to start creating all the files and all the services that we are going to consume on the server side that we are going to upload later here to the file manager to the File manager here if I tell it to upload files, this is where I am going to upload our files that we are going to host inside the server hopefully it loads, redirect us This is where I am going to upload all my files, the database is already created I'm going to create a folder here on the desktop I'm going to call it phonegap, I'm going to call this folder drag to sublime text and I'll start creating my connection.php file So here I am going to create the file that is going to connect to the database. The host is local host, the user the user. We are going to look at it, the user can be seen here in the Manage database or database administrator Here I can see the user. I rooted it, but as it is a free hosting we must, these numbers are created here the password password I put 90 100 100 and the database. It's called "id7729275_phonegap, here we have it, ready here I'm going to create a variable that I'm going to call connection and I'm going to tell you new mysqli SQL, which is a method that gathers all the variables to connect to the database and the server Here $ pw, $ pw And finally the database we save and we create our connection file. 4. Creating Service to save with PHP: We continue creating the insert file which will fulfill the function of saving in the database In this folder I am going to create a new file called insert.php I am going to open them php the tags I am going to include my connection file called connection.php There I am joining this file with this one, so I am going to say yes I give click the button with the POST method I am going to call them, I am going to click the Insert button What are we going to do ? We are going to capture the variables first of all, I am going to capture the variable name everything will be with the POST method I am going to capture the author variable, here I am creating them and here I am capturing them, I am capturing the author and I'm going to create the price variable. I also capture the price and here I am going to create a variable, I am going to call it sql where I am going to have my statement to save in the book table, the one we create in the database as the first field is auto incremental I am going to put a double quote here, here I am going to send you the name data, then I am going to send you too within the quotation mark everything I will send the author. And finally I am going to send you the price, semicolon we are going to tell you to execute, we are going to create a variable We are going to call it execute and we are going to pass it the connection variable that comes from here that is going to connect to the database and with the covering method we are going to send the SQL variable We lead to ask that if executing if it is correct, print them correct that is correct. We are not going to use it later but we print an error and with that we create the service or function that we are going to save in our database. With that we finish the link. 5. Creating Service to Edit and Delete with PHP: We are going to create two files. One we will call update.php the other we are going to call delete.php I am going to copy everything I have in the insert, in the update and what I am going to modify here is that when I click update here, that's how my button is going to be called, I must also capture the id because that is the condition I'm going to to send, then here the id and what we are going to modify here is the query in the database, I am going to say update the book table, the fields name will be equal to: in quotes I sent the variable name, I will send the author equal to: In quotes he sent the author variable, which will contain the change and the value of that variable and price the same as that one of type int integer, I will put a price, I will delete these spaces, I will remove this space from here and this one too, here it will tell you with the condition where the id is equal to, in quotes you I will send the id and we close, with this we have already concluded the update. We are going to copy this here again, and we are going to say delete, for the delete We only need the id, that is, we can remove these others and the query will say, the query will do delete from the book where the id is going to be the same as the id that I am going to send you with get method, we already have our file to update the service to update and delete the service, which we will run in the phonegap application on our device mobile. 6. Service to Consult with PHP and Json: A file is missing, which is the one that will show us the data from the database. I'm going to call it select.php What I am going to do is that I am going to copy this little part to erase code, here what I am going to say is, the query that we are going to send in this file is to select everything from the book table, ok. We are going to delete this and what we are going to do now is go through all the rows of the book table with the mysql_fetch_objet method, this is what it will show us is the names of the fields and here we go to pass the variable execute, we are going to create a variable of type Array to save all our files our fields sorry, then here the variable data I'm going to call it, I'm going to pass all the data that is going to be housed inside the $ row variable, then while it goes through the while with all the data, it will save them in an array And finally to show the data we are going to show them with json_encode, which will encode the data in json and We are going to save them here, we are going to pass the data parameter that has all the files and what it is going to show us is a json, then we are going to save. Now we are going to upload our files to the free server and we are going to give it where it says Row manager or Administrator of files. We are going to tell you to upload files now, we hope it will redirect us to the administrator files and we open our files, the folder where all our files are. We are going to return to the server and here we are going to select our files and we are going to drag them to the server, let's load them. We wait for a moment while they load and we return here to our hosting administrator, here he tells us what is the path of us that would be phonegap, in the database I saved in the table, I saved a field in the book table, in the book table I saved a data If you want, we can save another data again. Let's select where it says insert. Let's call a book around here, "The open veins of Latin America" by Eduardo Galeano. We are going to tell you that the price is also 20. We already saved another field, then here. That is the address that we are going to use from our mobile device to consume that service that we have stored there, here I am going to open the connection file. If nothing comes out it is because it is fine, correct. There is no structure error. We are going to open the select, what it is doing is showing us, oh let's see that we have a small trouble ! It tells us that we have. I am going to leave it, I am not going to edit it, we are going to correct it directly from here, because you it can also happen to them ok. Here we lacked an i, we can do it here or we can also modify it from the server. Let's wait for this to load, let's refresh it here we missed an i That is why it does not work for us, so we are going to wait for our files to load us I can modify it here directly and I'm going to give you save. Let's update. There it is, there we can see that in my select file, I'm printing it with an echo. I'm printing all the data with a json_encode, here it is and these are the data that I have saved in my table in the database. With this we finish the whole part of the server and we will continue with the part of the client that would be the whole mobile device part with phonegap 7. Upload files to the Server with Filezilla: To upload the files to the server we can use two methods, we can upload them through from FTP or we can upload them directly to the file manager. I already have all my files here, but I can also connect with this program called FileZilla to my server, here I can see what my credentials are and I can use these credentials to upload files via FTP, because many times the file manager in this free hosting does not work for us. So I'm going to copy the host, I'm going to copy the user and I'm going to copy the password and I'm going to tell him connect, then if all the parameters are correct I will get a connection to my server. Here it is telling me that my connection has failed. Surely it is because of the password, I am going to re-login, and here I already connected to the server. I can see in the public_HTML folder the files that I have on my server, if I enter here they are the same files, that is, around here I can add all those same files, delete them. I can add my other files, for example if I wanted to add this connection file, what I do is to drag it directly to that public_HTML folder and it will overwrite I am going to tell him that overwrite or any of those other options, I'm going to tell you to overwrite. There it is already overwriting the file and here I can see that my. The last modification is dated today that I made the last modification and so I can add my files to my server both by FTP with FileZilla or I can add them directly by the File manager that It is my file manager, I tell it to load now and then what it does is open this part to me So we already learned how to upload our files via FTP or through the administrator 000webhost files 8. Installing Phonegap: We will start with the whole client part, in this case we are going to download PhongeGap. We are going to give it on the official page, we are going to give it where it says Get Started, we are going to install depending on whether we have Mac or we have Windows. Let's give it download, we have to download three files, sorry two files, one that is the desktop application I already have it here, I'm going to give it here, it is very easy to install, we say next next next, hopefully it is installed, here it is opening, on Mac it dragged it to Applications, on Windows is to give next next next and with that we already have it installed, it is very easy to install. After we install this part, what we are going to do is also download this application on our cell phone. This application is also downloaded from the Play Store or from the App Store depending on the system operating that the cell phone has, then I am going to double click to install, here it is already running, I to close this folder hopefully it loads. We do the same on our cell phone. We are going to download the application, I already have it downloaded, I am going to look here. where I have it downloaded I can share here, my cell phone screen for us to look here. Well, initially that's what we have to do, we are going to install this application and we are going to install also the application for the cell phone once we have our application downloaded. Here I have the interface, where I can create our projects, but let's first see what I also already have my cell phone downloaded, I can share what I have on my cell phone here let's wait a moment while, oh could not connect! well let's wait a moment let's reconnect. I want them to see that the application has to be downloaded You don't want to connect. I'm going to see if I'm entering my id wrong We are going to tell you: 1101634406, I am going to connect you as an associate now yes, TeamViwer is very good because I can see everything I have from my cell phone. Well, here I am already manipulating my cell phone, there you can see the screen and there I have the phonegap downloaded. Here you can see it, in fact here I am going to open Phongap and that is the phonegap interface from the application which is the one that will help us to test our applications to see how we are doing and if they are working. Once the two programs are installed, I can from the terminal or the Windows CMD, I can try this command: phonegap, to see if it is installed correctly. Here I can see the version that I have installed, I think it is 8 and I can also create projects I can create projects here, phonegap, but I'm going to create a folder in applications, I'm going create a folder, I will call it phonegap, first then I will enter that folder Here it is, dragged it here and ready now if I'm inside that folder it's with phongap create I can call him for example Crud. So so I can create a project in phonegap, I can do it from the command line or with this application that I have, which is the desktop application, here in the + icon, I can tell you to create a new phonegap project, I can create it blank, I can create templates that already have some examples, come on to create it in white, we are going to give next and here I can tell you where I am going to create our project. Here I am also taking the applications and phonegap, here I am going to put a test and I am going to tell it to create a project They already have a folder called phonegap, I'm going to change it. for Applications, I'm going to change it for the desktop. Oops, this one can't be created there !, let's create it Well what happens is that I could not create that folder directly because this same file. That same application created that folder for me and I had created it manually. I already have it here, we are going to change the name we are going to call it Phonegap, ready. We are going to tell it to create Project, we are going to go through the steps again, create a new blank project, we are going to call it test, let's create a new project. the folder has a folder that already has one called Phonegap Could it be that she still has it? ready. Let's get out of here. Well let's first look at the folder that created us, which we just created. Ready. Here I already have my project, I'm going to drag it to sublime to see what created me, let's open it Let's open sublime This here Ready, here I already have my phonegap folder, I'm going to create all my files inside the folder www. I did want to first try why this phonegap is not there Ready, there it should work. We are going to configure the port, well around here it also gives me the possibility to load it from the CMD. But as I already created a folder called phonegap, that's why this happened to me, because it doesn't have a file which is called config.xml Let's do something, let's create it manually. We are going to tell it here Phone and we are going to drag this folder here, and here I am going to create a new file and I am going to call it let's take a good look at how it is okay Well that problem no longer appeared, it was no longer recognizing the address because I had created a folder I had created a folder, called phonegap and that same program was going to create it for me, so here I can see that the server is running on this route 192.168 So there what is loading me, here I have an emulator but I am going to remove it, what it has is a blank application, I can load it directly from here or I can test from my cell phone on that server, let's look at what 168.0.13 was If I tell her to connect, what she will do is that she will load me with this same project that I have in the test folder, I created the test folder so I have nothing there, I have nothing. That is why here the application from my cell phone is not showing anything good, but in order not to get confused I am going to continue with my project that I created directly from the command line that would be this, I am going to enter the phone folder, here with ls, I can look at the projects I have, but I'm going to enter the folder crud that would be this, this one here has this file. Let's stop the server, let's tell it, let's cancel, here it should appear that the server is running there it is, what I am going to do is that I am going to clean it and I'm going to stop it directly from here, I'm going to enter the folder to the test folder and I will stop it with phonegap ctrl c, there I already stopped the server Well, in the next chapter we are going to enter well to configure phonegap well and start to create our interfaces and not to get confused. 9. Creating the project and form to Save Information: We are going to start creating our interfaces from the project that we are developing of the crud but I want to delete this folder, to recreate it from scratch. So this folder will no longer exist. I'm going to go to Applications / Phone, this folder won't exist either and I'm going to clean, that's it. I'm going to get out of here I'm going to go to the CD folder I'm going to create my project with the phonegap create command and I'm going to call it crudMySql, that's what I'm going to call it. Then there we will begin to create our project with which we are going to start we hope, all the files are being created there. Ready Here our project has already been created. We are going to enter phone, here we can see it, we are going to drag that folder here, we are going to close these other files, ready then here in crud We are going to include everything inside that www folder, that's where we are going to save our files, this index I'm going to delete I'm going to start it from scratch. There she is, I'm going to create her. We are going to use Bootstrap we are going to use Jquery Done, we are going to enter bootstrap and we are going to enter jquery CDN Ready then in bootstrap We are going to click on "Get Started" and we are going to take the stylesheet that is the one we are going to use. Let's put it around here. Besides we are also going to use JQuery we are going to copy this line everything we are going to do with phonegap is going to be with HTML and Boostrap and Jquery with ajax, then another file that we will also use to put it from once in the header, it will be the icons, the Bootstrap icons, we will use the phone icons. This one here, we are going to include it at once to leave all the relationships ready. Here's how to use it, we can use whatever we want from HTML, so here we have it. Let's copy this stylesheet that has the phone icons, done. So those are the files that we are going to relate. Let's copy, let's get this right ok here we have ready, until here. Here we are going to start designing our form. We are going to start designing our form, here we are going to create a "nav" with class navbar and we are going to put "navbar-dark", all this is from bootstrap "bg-dark" is the color that we are going to put. Well this works for us up to that part with the tabulator and we put this class here, ready. I am going to create a label. Well let's leave it for the moment until here, let's start with the form "div.container" Here we are going to add our form, we are going to add a "form" tag there we are going to add our form, we are going to give it a title here, we are going to tell H6 a title that is centered. Let's put the bootstrap class to it: "d-flex justify-content-center" You can see all this in the bootstrap documentation and here we are going to put books, here in the form we are going to start doing We are going to create a class "div.form.group" and here we are going to put a label to save Name. We are going to put the input type text, a class "form-control" that all this is bootstrap and we are going to put a id once name, ready, let's copy and paste what would be the name, author, price and here the button will go, Done, so here we change author, author and this will be price and this will be of type Number We are going to change it for price and we are missing the Button button Let's put a class on it "btn btn-primary" And here we are going to put an id that this id must match what we have on the server. that the insert is going to call here insert as it is here, then this coincides with this button here and here we are going to put save. With this we conclude the design of our form, if we want it if we want to see it running directly on the mobile device. So here what we are going to do is tell phonegap server Well first we have to enter the folder that is "cd crudMySql" and here we say phonegap serve, then here They are going to enable us a server and a port in which we can enter. Then we can enter through this port, we can go looking at how it looks both in the browser, and OK I had not saved, so there we can see, so we can run it both in the browser I'm going to open phonegap and I'm going to connect to the server that put us here, the server was See it here is the 13, it is the same as we have here, we are going to connect it and here I am directly manipulating my cell phone to see how our form was. We wait a moment while the files are being downloaded, they are extracted and there it tells us in the menu It tells us if the extraction was correct or not, then there it appears that it is extracting the files and there it appears to us that it was correct. Here I can see that what I just designed and for example here a price as I put it type number appears in the numbers, I put the type date also the calendar will appear. Well then we continue to analyze well what more functionalities it has, now we continue with the update form. 10. Designing the Form to Edit, Delete and Display Information: Let's start designing the form to edit, let's create it here, let's call it edit.html What we are going to do is copy everything from the insert We are going to paste it, then since this is the one to edit, this will be called update, it must be exactly as it is called in this method. It will be called update and we also need the We are going to put the danger class so that it appears in red, delete, around here we are going to add input type hidden so that it is hidden and here we are going to save the id, because with it the id is that we are going to update and with the one that we are going to eliminate, then we bring that id to this input type hidden and then we show it. Well we will also have the select to show the information, I will call it select.html, we will re-copy all the structure and good in the update we are going to put the title "Manage Books" We close, we also close this Index here we are going to put "Consult Books", ready we are going to erase this form and here outside the container, that information We are going to show it in tables so we are going to close this, this is from cell phone transmission. We are going to div with class table responsive, so that we have a responsive table adaptable to the device and we are going to create the table with class tablet, all those classes we are bringing from bootstrap, so if you want more information about these classes that I'm putting you can go directly to the boostrap page, then here I will show the name, I will show the author, I will show the price and I'm going to show the Edit button. Well here I needed to put it inside a tr All of this goes within a tr we are going to put it here and with tab we run it. Here he also lacked the thead, which is the head of the table. Here we put it, there it stayed that would be our table and here we would put the body of tbody. There in this tbody is where we with Ajax are going to, with Jquery, we are going to show the information we already have our edit forms, we already have our select forms and we already have our insert or save form. We still need to give functionality to this entire page of the mobile application. 11. Creating File to Get Url: In JavaScript we needed to add this function, what this function will do is obtain the url where we send the data to the server or where we receive the data. So I'm going to copy it here, this is the entire function. I'm going to save it inside the js folder and I'm going to call it geturl.js So I'm going to call it, get the url where we look at the data right now, when we are giving with the coding of the forms they will understand it a little better. So in the Index we are going to add after the Jquery, we are going to add here we are going to relate the folder js / geturl.js, so we keep it, we will copy this to the other files. We are going to create here and we are going to put it here. There we already have our file or the function that is going to be in charge of obtaining the urls and send the urls to our server. 12. Coding Form to Save Information: The save form. Let's start coding it, let's go at the end, we will verify the id that we put name, author and price So at the bottom of the footer, I am going to create a script because we are going to consume the service with Ajax Here we are going to put the document.ready Let's open and close. We are going to put the semicolon at once and here we are going to say yes. if that button and click method is clicked, we will create a function. Here we open and close, we also put a semicolon if you click on insert We are going to capture the name variables and we are going to capture this value here, name, author and price, then we go to capture here with the dollar sign. The name.val and we will do the same with author In quotes we are going to put author, we are going to capture the value and we are going to create another variable with price. We capture that variable price quotes that were the names that we put in the ready id, inside a variable I will call it data we are going to save all those parameters, those parameters that our insert will receive which would be the author's name and price. These are the values ​​that our service is waiting for, so here we are going to name it, it will be equal to plus the name variable, more to concatenate, here we will put the ampersand and author will be equal to plus Author We do the same with the price, the price is the same. More and here we pass the price variable to it and conclude with the insert which is the method it is waiting for our service. Ready here we are going to put the same and semicolon, here we talk about saying that Sorry, if the trim method of the variable name, sorry point lengh, is greater than zero, it means The trim method is to remove the spaces from the name variable and the lengh method to obtain the length If it is greater than zero it is because something was entered and the trim point of the variable (author) .lenght is greater and .trim (price) .lenght> 0 it is because all the fields were filled and if all the fields were filled. Now with the Ajax method we are going to send the data we open and we are going to send the data through the method POST, here in URL We are going to pass the url to it, we are going to pass the url to it What does my site have that would be, here we are going to put it url slash method, the service we are going to call is insert point PHP. We are going to put it as and the data that it is going to receive will be that this variable data It will contain all our data, we are going to tell it here data and here we are going to ask with the method, with the function success if correct function Function if the data to be received is the same the same. Ah correct because in the insert, I am passing it here what is going to return is correct or error. So I'm asking him if he returns me correct, if he returns me correct, here I go to say alert saved correctly. Semicolon, if it does not return an alert with the message Error ready. Here we go. Here we close this, we close the success, here we close, we are closing Ajax, in Ajax we are going to verify There is fine we have a semicolon, we close this here, this if, here we close the clicl method and here we close the document ready Here we apparently already have everything fine, so what we are going to do is that we are going to activate the server let's put phonegap server There I already activated the server to run, let's open that I already have it here on my cell phone. I will open here. The phonegap file let's wait for it to load and let's connect meanwhile we are going to open the database to see if our file is saved, ready I am going to give it a name, for example the name of the book One Hundred, Gabriel and price 50, I am going to give it to save. Well apparently we have a small error. Let's check our code to see where we can find it. Not. Here it seems to me something, ok, here I am missing the weight sign, let's look in our database Let's see here where we have a small error well let's correct something in our database well let's organize something in our database. We are going to enter here we are going to insert a record. Let's put e and 12 for example. Let's continue. Let's see the insert, let's see what it throws at us, this insert We are going to organize it in our inser.php We are going to wait for them to load us. Well let's organize something in our database which is this OK let's organize something. We are going to generate an insert, an insert from our database to put it, we are going to give it continue We are going to copy this insert and take it to our file. We are going to put it here, we are going to specify the fields that we are going to fill. That is another way to fill our insert We will send the name, the author and we will send the price in quotation marks. Let's save. We are going to verify that here our price has already been modified Let's look here, yes, let's change this to varchar like we have it here Let's check our index code ready. So let's try it, let's put edw, ed and 12, let's give it save And now if it tells us saved correctly, we are going to delete its controls that it was testing some little things Ready now if we go to the database. Let's see the one we just saved, here we have it. If we connect from the cell phone we will connect directly from the cell phone to test it. come on now yes let's give it connect with associated give it Open TeamViewer Ok our server is running here. I'm going to open the phonegap We wait a moment while it loads us, we are going to connect it that the server is the same as we had here. If we see in the terminal it is writing it with a number 200 200 it means that the file was compressed and sent it to us correctly. Let's put you to the test test 1 and let's put 100 on it. We are going to give it to save and here it shows us a message saved correctly here I know it by testing directly from my cell phone. If I go to the database I'm going to examine it and here I can see that from my mobile application that I created I can already save information directly to a SQL database. 13. Coding Form to Display Information: Let's analyze it, analyze it, let's open it here, this file is bringing me a JSON of all the 00:01:05.301 --> 00:01:12.700 information that I have in my database, in the table, so what I want is to show that 00:01:12.701 --> 00:01:25.900 information in a table, then here we are going to use the get JSON ".getJSON" method 00:01:25.901 --> 00:01:34.800 and we are going to pass the url, we are also going to create a function we are going to call it "result" 00:01:38.101 --> 00:01:48.200 we are going to open braces, we are going to put a semicolon at once and here we are going to go through all the JSON 00:01:49.002 --> 00:02:01.100 we are going to go through it with an "each", we are going to tell it that the result variable that has the data 00:02:02.802 --> 00:02:11.000 that is going to go through, it will start in the variable "i", and the data I will call "field" 00:02:12.202 --> 00:02:23.400 Ready, I open and close, here I am going to call "var id", it will be the field, it will be "field.id", this id is how it is in the 00:02:23.402 --> 00:02:29.500 database, "var name" will be equal to "field.name" 00:02:33.902 --> 00:02:45.100 "var author" will be equal to "field.author", and "var price" will be equal to "field.price" 00:02:45.402 --> 00:02:55.100 This is how the JSON is, ready, then all this information I am going to show in the "<tbody>" 00:02:55.103 --> 00:03:12.300 I'm going to show it in the tbody, that's it, I'm going to put it ".append ()", I'm going to create a <tr> inside the tbody 00:03:13.603 --> 00:03:23.700 I'm going to start putting the fields, in the name field I'm going to put the 00:03:23.703 --> 00:03:42.800 variable name, I am going to concatenate the name, I close "td" and I go back and open, more author, I close the "td" I go back and open 00:03:42.803 --> 00:03:53.800 I'm going to concatenate the price here, close "td" and 00:03:57.104 --> 00:04:12.500 here well, this was missing here, I close the "td" and in the last "td" which would be the one to edit what I'm going to 00:04:12.504 --> 00:04:28.900 to do is I'm going to add a hyperlink tag with class "btn btn-primary" 00:04:29.904 --> 00:04:44.600 or we are going to put "btn btn-info", ready, let's close here, here in the "href" I'm going to tell you that it's going to 00:04:44.604 --> 00:04:45.100 To take. 00:04:45.204 --> 00:04:51.200 When I click that Edit button it will take me to 00:04:51.405 --> 00:04:05.900 edit.html, I am also going to add the question mark and send the id 00:05:07.305 --> 00:05:17.000 Here I am going to send you the name 00:05:17.405 --> 00:05:18.400 More name 00:05:21.405 --> 00:05:23.300 I will send you the author 00:05:27.505 --> 00:05:36.000 more author and I will send you. 00:05:36.605 --> 00:05:39.600 We need to send you the price. 00:05:39.005 --> 00:05:49.100 So here we put price =, + price 00:05:51.906 --> 00:06:06.100 ready I close the quotation mark, let's see here how we open it, Ah ok, here the plus sign is missing " 00:06:10.106 --> 00:06:13.000 good 00:06:14.506 --> 00:06:19.700 And here I'm going to close, I'm going to put a 00:06:22.706 --> 00:06:33.500 icon of the fonts that I have here: "fontawesome" 00:06:33.806 --> 00:06:37.400 Here the class used is "far fa-edit", that would be 00:06:40.106 --> 00:06:49.400 the icon 00:06:50.306 --> 00:06:52.800 That would be the icon that we are going to add. 00:06:52.807 --> 00:07:00.000 We close the "i" and close this, semicolon, we are going to save. 00:07:00.307 --> 00:07:18.400 Also come on, sorry, we are going to add here a hyperlink with a class "btn", and this one works for me 00:07:18.407 --> 00:07:35.100 to take the index.html, we are going to put a "btn btn-primary" and the "btn-sm" is 00:07:35.107 --> 00:07:38.500 to make it smaller, ready. 00:07:38.907 --> 00:07:46.700 We are going to put an icon here 00:07:47.107 --> 00:07:54.900 Here we are going to put "fas fa-hom", and here we are wrong here it is "fas" 00:07:55.008 --> 00:08:05.500 We save, ready, here we are in the select, this will take us to the index and from the index 00:08:05.608 --> 00:08:09.200 I'm also going to tell him that he can take me 00:08:12.608 --> 00:08:13.800 to select 00:08:13.908 --> 00:08:20.200 There it is and we are going to put a "fas fa-search" on this one, we are going to save 00:08:20.208 --> 00:08:25.500 Let's look here, if we ask, then 00:08:25.608 --> 00:08:27.100 took us 00:08:27.208 --> 00:08:34.000 And well, here he brought us the data, but he brought them as we want him to bring them 00:08:34.208 --> 00:08:43.900 Let's see what we missed, here we needed to close the "tr" and here we needed to close a "td" 00:08:46.608 --> 00:08:57.800 we are going to wait for it to load, well we continue with problems it is only bringing the name and the author is not 00:08:57.808 --> 00:08:58.800 is bringing it.! 00:08:58.809 --> 00:09:00.800 Let's look at a hundred years. 00:09:00.809 --> 00:09:04.600 The author is bringing it. 00:09:04.609 --> 00:09:16.100 Let's see: id field, name field, author field 00:09:16.209 --> 00:09:19.000 well here we have something bad 00:09:20.409 --> 00:09:22.900 Herealso. 00:09:22.909 --> 00:09:24.600 And here is fine 00:09:24.809 --> 00:09:26.100 Let's see if that was it. 00:09:29.009 --> 00:09:37.500 Yes now! , now we have the one to consult, here it is showing us the name of the author and the price 00:09:37.609 --> 00:09:43.900 here in price we are going to add a dollar sign 00:09:46.609 --> 00:09:48.500 hopefully the updates itself 00:09:51.709 --> 00:09:59.800 we are going to update again, well the dollar sign was not added to us 00:10:01.110 --> 00:10:02.200 Let's put it on. 00:10:04.310 --> 00:10:04.800 Here 00:10:08.610 --> 00:10:08.900 No, not here! Here. 00:10:15.010 --> 00:10:17.200 we hope it loads. 00:10:17.210 --> 00:10:20.300 Well it's not loading the dollar sign. 00:10:20.410 --> 00:10:25.700 Right now we look at how we are going to add it or we can add it here with this one. 00:10:29.610 --> 00:10:30.200 there is 00:10:33.810 --> 00:10:39.200 Done, let's update. 00:10:40.310 --> 00:10:48.700 You are not adding the price, but we just arranged it right now, we will leave it like that for 00:10:48.711 --> 00:11:00.800 At the moment, we are going to test now on the mobile device, if it is charging, then the idea is that if 00:11:00.811 --> 00:11:08.500 I click on the house icon, it should take me to the index and if I click the search icon it should take me to the 00:11:08.511 --> 00:11:14.100 queries and if I click the edit icon, it should take me to the administrator. 00:11:14.111 --> 00:11:26.700 Here it is and here in the administrator I need to put it that the administrator in the edit I need to put it 00:11:26.011 --> 00:11:34.500 take me home or take me to consultations 00:11:34.511 --> 00:11:45.900 Let's see it here, there it is now, yes there I have it, if I click on Search, it will take me to the queries. 00:11:45.911 --> 00:11:49.700 If I click on the icon of the house it will take me to the index 00:11:49.811 --> 00:11:58.400 Now I'm going to connect on the cell phone so that we can see how it looks on the mobile device, let's go 00:11:58.411 --> 00:11:59.400 to give here "open" 00:12:02.412 --> 00:12:05.000 Now yes, there it is already connected 00:12:08.912 --> 00:12:17.400 let's wait a few seconds while it loads us, the server is running, let's open the phonegap 00:12:17.512 --> 00:12:22.800 on the cell phone to run and compile our application. 00:12:22.912 --> 00:12:30.800 We already know that we must wait a moment while it loads us, we give it to connect and here in the terminal 00:12:30.912 --> 00:12:38.300 It will show us the "200" if it connects successfully; there it is, now what the program is already doing 00:12:38.312 --> 00:12:46.600 is extracting the files and here we are, ready, here I am from my cell phone, I can save a 00:12:46.713 --> 00:13:00.300 data here, we are going to put another book here, we are going to put "Fantasy" of "Edward", we are going to put "10" and we are going to 00:13:00.313 --> 00:13:04.600 give save, ready, saved correctly, I'm going to click on 00:13:04.713 --> 00:13:13.100 "OK", right now we redirect directly to the queries, we are going to give it in query, see that this is the 00:13:13.113 --> 00:13:22.100 Finally, there it is and if I give it to edit, it should bring me the data to this form to update or delete it 00:13:22.413 --> 00:13:30.800 and we can already see that at the beginning I have the little house or I have the search icon. 00:13:31.213 --> 00:13:34.700 Right now we continue with the update and delete. 14. Coding Form to Edit and Delete Information: We continue with the edit and delete form, so I'm going to base myself on the insert one 00:00:08.400 --> 00:00:20.100 I am going to copy all this part, put it here at the end and here we are going to use this same thing but we are going to change 00:00:20.100 --> 00:00:22.800 that's because of the "update" 00:00:22.900 --> 00:00:31.300 And we are also going to update this by "update", this is where we are going to use the function 00:00:31.300 --> 00:00:36.600 "getUrlVal", to bring us the url, in the "select" 00:00:36.700 --> 00:00:46.700 When I click the edit button what is bringing me to the form 00:00:46.800 --> 00:00:52.500 What it is doing is that it is bringing all those variables to the form and I am going to 00:00:52.500 --> 00:00:54.600 capture over here. 00:00:55.001 --> 00:01:06.700 So here when you click on "update", you will do this part, here we are missing the "id" that 00:01:06.801 --> 00:01:09.400 will be equal to 00:01:12.401 --> 00:01:15.900 $ ("# id"). val 00:01:16.601 --> 00:01:18.000 There it is, ready 00:01:22.901 --> 00:01:31.200 here I am also going to add it in that little part, "id" equal to 00:01:35.601 --> 00:01:42.000 go ready 00:01:42.501 --> 00:01:55.000 And here we are going to capture the values, I am going to say "var id", it will be equal to "decodeURI" 00:01:55.002 --> 00:02:08.000 and I am going to bring you the "getUrlVal ()" method, here I am going to take a good look at how I called it, as it is here. 00:02:09.502 --> 00:02:12.000 and here I am going to tell you to bring me the "id" 00:02:17.302 --> 00:02:27.600 Ready, there it is, I will do the same with name, author and price, I will put here 00:02:32.102 --> 00:02:32.700 Name 00:02:36.702 --> 00:02:50.900 name of the author and finally we have the price, ready, here I am going to correct it 00:02:50.003 --> 00:03:00.800 Ok now since I got the values ​​and they are saved, the values ​​that pass through the url are already saved in those 00:03:00.803 --> 00:03:01.900 variables. 00:03:01.003 --> 00:03:06.400 Now I'm going to assign to each control. 00:03:06.403 --> 00:03:14.400 Here I am going to put "#id" .val (id) 00:03:14.403 --> 00:03:17.600 One, two, three, and four 00:03:17.603 --> 00:03:19.000 This would already be 00:03:21.203 --> 00:03:24.700 Name 00:03:31.203 --> 00:03:33.900 author and 00:03:38.103 --> 00:03:42.200 price, ready here we are. 00:03:42.403 --> 00:03:46.300 I will test in the browser. 00:03:46.803 --> 00:03:55.800 First of all we are going to update, we are going to consult it and if it is correct when I click on edit it will 00:03:55.803 --> 00:03:58.900 bring the information, there it is. 00:03:58.904 --> 00:04:01.500 But it didn't bring me the price. 00:04:01.704 --> 00:04:09.100 Let's see what happened to the price. 00:04:09.104 --> 00:04:10.800 Ah ok, here I put an extra i " 00:04:10.904 --> 00:04:16.600 Ready let's look, update 00:04:16.704 --> 00:04:22.000 Now if it brought me the price, then the only thing I programmed was the refresh button, if I give it delete still 00:04:22.004 --> 00:04:24.200 it does not work 00:04:25.004 --> 00:04:28.000 Let's put 24 here. 00:04:28.004 --> 00:04:33.700 We are going to click on Update and I don't get an error. 00:04:33.804 --> 00:04:36.100 Let's see what happened 00:04:36.104 --> 00:04:41.500 Well apparently here what we lacked was the & sign 00:04:41.604 --> 00:04:48.000 The error apparently we are going to look here in the select, that I was looking at this little part 00:04:49.404 --> 00:04:55.100 Let's look at something here to show you what was going on 00:04:55.104 --> 00:04:58.100 Let's go search. 00:04:58.405 --> 00:05:05.000 If I give it here in edit, in the url you can see the information that I send and I the price 00:05:05.005 --> 00:05:08.500 I put the same, the author, the name, but 00:05:08.605 --> 00:05:16.600 I missed putting the same and that is why I was not updating the information correctly. 00:05:17.005 --> 00:05:23.400 If I go back to search and I say to edit, and I type here 00:05:23.405 --> 00:05:27.600 "Gabriel" and I select the update button 00:05:27.805 --> 00:05:38.100 So it tells me updated correctly and we can see that it has already been updated correctly, now we go 00:05:38.105 --> 00:05:43.100 to continue with the delete, to delete we are going to copy all this 00:05:46.405 --> 00:05:59.900 We are going to copy this from here, we are going to tell it that when we click on the delete button, we are going to remove 00:05:59.906 --> 00:06:04.300 all this up to here. 00:06:04.606 --> 00:06:14.200 Here we are going to delete this little part, here method we are passing through "GET", to obtain the value of 00:06:14.206 --> 00:06:19.100 the url, here the service is called "Delete". 00:06:20.106 --> 00:06:28.800 We are going to put it in lowercase and here what we are going to pass is the variable "id" 00:06:29.006 --> 00:06:30.600 this one from here. 00:06:31.106 --> 00:06:33.400 Let's put it around here. 00:06:33.806 --> 00:06:41.600 The variable "id" and we are going to tell it we are going to send the data to the "id" 00:06:41.706 --> 00:06:53.500 We are going to send it plus the "id", plus the "delete" method, semicolon. 00:06:53.507 --> 00:07:02.600 So we are going to give it here "deleted correctly", this is one of the easiest. 00:07:02.707 --> 00:07:10.600 If it was correct, if the data was brought correctly, it will appear deleted and if not error, we will correct something in our 00:07:10.607 --> 00:07:11.500 server. 00:07:11.607 --> 00:07:21.500 In this file we are going to correct the post we are sending you, because 00:07:21.507 --> 00:07:27.200 if we are receiving by "GET", we send by "GET", ready, let's save 00:07:27.207 --> 00:07:30.400 We will update, we will give you consult 00:07:30.007 --> 00:07:38.500 We are going to edit, we are going to eliminate GabrieL, we are going to eliminate him. 00:07:38.507 --> 00:07:41.900 There it is, let's see iflimited. 00:07:41.907 --> 00:07:46.100 We can already see that it was removed successfully. 00:07:46.207 --> 00:07:49.000 Here we are going to redirect. 00:07:49.007 --> 00:07:52.300 that when i update 00:07:54.707 --> 00:07:59.000 when we update we will take it to the form "select.html" 00:08:00.808 --> 00:08:09.900 We are going to tell you that when you delete we will also take you to the "select.html" form and also when you save. 00:08:10.608 --> 00:08:12.200 We are going to tell him to take him to 00:08:14.808 --> 00:08:16.500 "select.html" 00:08:16.908 --> 00:08:20.500 Ok now with that we finish the delete. 15. Testing Application: We finish testing our application on the mobile device, we will look at our application running 00:00:08.300 --> 00:00:18.600 already on the cell phone, in the application, compiled with phonegap, we use HTML, JQuery, Bootstrap and now we are going to 00:00:18.600 --> 00:00:21.100 see how what we just did works. 00:00:21.100 --> 00:00:27.800 We can test it both in the browser, but the idea is to test it on the mobile device, because that's what 00:00:27.800 --> 00:00:33.100 tried the course, so here I can for example save a new record 00:00:33.100 --> 00:00:45.200 We are going to put "Testing", author "Edward Vidal" and I am going to put a price of 100, I am going to give it save. 00:00:45.400 --> 00:00:53.700 If you save correctly, the message appears there, if we give it Ok it should take us to the queries, then there we can 00:00:53.701 --> 00:01:05.000 see the last one called "Testing", if we select edit We are going to change the price to 355. 00:01:05.001 --> 00:01:14.600 We are going to select "Update", if it is updated correctly it will send us and we can see that the price is 00:01:14.601 --> 00:01:18.900 updated and we're going to delete it. 00:01:19.701 --> 00:01:23.600 And if it is removed successfully, it no longer appears. 00:01:23.601 --> 00:01:30.900 We can already see that it was deleted correctly we have the button of the house, to go to the beginning, also 00:01:30.901 --> 00:01:35.200 we have the search button. 00:01:35.201 --> 00:01:42.800 With this we conclude our example of how from our mobile device we can create applications 00:01:43.001 --> 00:01:51.900 manipulating MySql databases, with PHP, as long as we have our service in the 00:01:51.901 --> 00:01:57.900 cloud, because if we have it locally it will not work, because a cell phone does not connect to the local 00:01:58.702 --> 00:02:02.300 passing parameters by mobile application. 00:02:02.702 --> 00:02:11.400 It has to be that our services are mounted on a server and we can use this one, which is free. 00:02:11.402 --> 00:02:20.300 So we conclude and see you in the next class that we are going to be updating many more functions 00:02:20.302 --> 00:02:21.200 that have PhoneGap. 16. Adding icon and configuration from config.xml file: We are going to start configuring our application to generate our APK 00:00:05.900 --> 00:00:09.900 For this we are going to go to the file "config.xml" 00:00:10.100 --> 00:00:12.700 The first thing we are going to do is configure the icon. 00:00:12.800 --> 00:00:19.100 I have my icon on the "Desktop", it's called icon.png 00:00:19.100 --> 00:00:32.500 I'm going to add it in my project folder "www / res / icon / android", 00:00:32.500 --> 00:00:42.800 Here I am going to add the icon, it is added in our folder that we just added, which is this here and here 00:00:43.300 --> 00:00:49.100 we are going to open our file "config.xml" where we are going to make all the configurations of our 00:00:49.100 --> 00:00:50.300 application. 00:00:50.500 --> 00:00:58.800 Here is all our description, name, preferences, plugins, which have been added automatically 00:00:59.801 --> 00:00:05.800 Here it says on the Android platform, that on the Android platform what we are going to do is configure the icon. 00:01:05.801 --> 00:01:09.300 We are going to change it here, we are going to change the icon. 00:01:09.501 --> 00:01:14.600 Ideally, it should have the corresponding dimensions, but in this case we are going to test with the same icon 00:01:14.601 --> 00:01:24.000 So I'm going to put this one, here we put if we wanted to add a splash, a screen. 00:01:24.001 --> 00:01:31.300 When the screen loads, how do we want our first entry to appear, if I wanted to add 00:01:31.301 --> 00:01:33.200 the icon also for IOS 00:01:33.301 --> 00:01:40.300 I could do it here, in this case we are doing it for Android, here we have our icon, here we 00:01:40.301 --> 00:01:43.200 I'm going to put the name of the application, I'm going to put it. 00:01:43.401 --> 00:01:53.900 "TestUdemy", here I am going to put the name as I want it to appear, this name is going to be how I go 00:01:53.902 --> 00:02:03.000 to look for it in the playstore, I will also call it "Udemy Test", here I can give a small description. 00:02:03.402 --> 00:02:11.500 "Mobile Application Development Course with phonegap" 00:02:14.402 --> 00:02:14.800 here. 00:02:14.902 --> 00:02:19.600 I'm going to put the email of the person who developed it, I'm going to put my own 00:02:22.702 --> 00:02:34.100 here I can put a web page, I am going to put mine and here I am going to put the name of the author of the application. 00:02:34.102 --> 00:02:38.500 I'm going to save and here we have 00:02:41.102 --> 00:02:47.700 from where we can access our files origin, then here I have you can make origin from 00:02:47.702 --> 00:02:48.800 either side. 00:02:48.802 --> 00:02:54.200 That means that I can add files, both external and internal. 00:02:54.203 --> 00:03:01.000 I have external files here like these, but when I generate the APK, it won't work for me, no 00:03:01.003 --> 00:03:08.100 They are going to take me those files, they are going to tell me that they are not found, for that phonegap or cordova have a plugin 00:03:08.103 --> 00:03:17.300 What is called "whitelist", in that "whitelist", what I am going to do is install it on our page, then I 00:03:17.303 --> 00:03:27.800 here in the terminal I am going to add my page, I am going to take it there it is called "crud", that is, I will 00:03:27.803 --> 00:03:35.800 I'm going to say "cd" and I'm going to drag this folder, that's it, I'm already inside "crud", that's it but it was for 00:03:35.803 --> 00:03:47.100 that you have the example, then here I am going to copy this plugin that I have, this plugin is to be able, he will add 00:03:47.103 --> 00:03:49.300 Here in "config.xml" 00:03:49.403 --> 00:03:53.800 Let's look at this plugin. 00:03:53.804 --> 00:04:00.100 As I have just explained to you, it will help me to accept external files such as 00:04:00.104 --> 00:04:07.400 this, I have here an external file, another and another that is the bootstrap, the sources and JQuery 00:04:08.304 --> 00:04:14.100 If I don't add that plugin, what it will do when I generated the APK, and I install it on my cell phone, is that it will 00:04:14.104 --> 00:04:19.500 to say that these files cannot be found and since we are working with Jquery, our 00:04:19.504 --> 00:04:29.800 The application will not work, so on this side we already configure the config.xml file a bit 17. Generate test APK: To generate the APK that we are going to install on our test cell phone, we are going to use the command "phonegap build android" 00:00:07.700 --> 00:00:09.800 Build Android. 00:00:10.300 --> 00:00:16.100 We are going to give enter, and with this command what you are going to do is create our APK, we must be inside 00:00:16.100 --> 00:00:19.000 from our project folder. 00:00:19.000 --> 00:00:25.300 Let's hope that this does not take us long to generate our APK, let's see how it goes 00:00:25.300 --> 00:00:31.100 loading our files, as the Android platform is adding, everything remains inside this folder called 00:00:31.100 --> 00:00:39.200 "platforms/android", inside this folder everything is left, let's look at we are on the Android platform 00:00:39.800 --> 00:00:49.200 In the folder "app/build/, we will create an output folder" outputs ", a folder" apk/debug "and here it is 00:00:49.200 --> 00:00:52.300 our file, with that single command. 00:00:52.300 --> 00:00:57.400 We are going to generate our test APK and this APK can be installed on our cell phone to see 00:00:57.501 --> 00:01:03.700 how is the icon and if all the functions of our application are being used. 18. Installing APK on the cell phone: We are going to install our test application on our cell phone, then I am going to take this APK, I am going to change the name 00:00:06.700 --> 00:00:17.900 I'm going to put "course.apk" in it, I'm going to upload it to my server, I'm going to leave it here in case any of you want to try it 00:00:17.900 --> 00:00:20.600 so 00:00:20.600 --> 00:00:27.200 Once loaded, I will wait for our APK to load, I will leave it here in case you want to 00:00:27.200 --> 00:00:28.100 tests with her. 00:00:30.900 --> 00:00:40.400 Once it is uploaded, I am going to download it to my cell phone, I am going to enter my page "www.ensenanzaweb.com" here. 00:00:41.300 --> 00:00:49.400 I called it in "course.apk", I will wait, I will look to rectify if it already uploaded. 00:00:49.500 --> 00:00:53.300 I will wait for it to turn green so that it rises properly. 00:00:53.700 --> 00:00:58.200 And now from my cell phone I'm going to give you enter. 00:00:58.601 --> 00:01:01.200 Then there you are going to download, I will click on 00:01:01.201 --> 00:01:06.000 "ok", there he is already downloading me, I'm already manipulating from my cell phone. 00:01:07.101 --> 00:01:15.700 I open it, then I can see that here is the logo that I put the icon on and like the name as I called the application 00:01:16.401 --> 00:01:17.700 in the config.xml 00:01:17.001 --> 00:01:25.400 ready, then I'm going to install, let's wait while we install 00:01:28.401 --> 00:01:31.800 We wait a few moments, that does not delay and I will open it. 00:01:31.801 --> 00:01:38.300 There, I can see if it is correct, then there I can see that it is correct 00:01:38.301 --> 00:01:40.800 We are going to give it in books. 00:01:40.901 --> 00:01:41.500 There you can see 00:01:41.501 --> 00:01:53.600 and my application, I'm going to look here on the desktop of our cell phone and here I can see where the application is 00:01:53.901 --> 00:01:56.200 and correctly installed.