In this tutorial we will learn to implement capture api with phonegap and create an application which will capture an image in your mobile and directly upload it in the remote server.
- To create an application using capture api follow the steps given below :
- First of all download and install FileZilla and Xampp server respectively.
- Go to c drive -> xampp -> htdocs and create a new folder in it called as capture .
- In this capture folder create a new text file called as index.html .
- Open this index.html file in Notepad++ window or any other text editor and write the given code .
- Here are the screen shots of the code :
- Now open FileZilla and you will have the following home screen :
- Now here you have to enter the Host , Username , Password and click on the Quick Connect button as shown in the image below :
- Then at the right hand side in the Filename tab select the public_html folder as shown below :
- After that right click on the public_html and click on create directory :
- Thus a dialog box will appear which will ask for the name of the directory so for example name it test as shown below :
- Thus your test folder will be created as shown below :
- In this test folder create a new directory called as upload as shown below :
- Thus a dialog box will pop up asking for the directory name as shown below :
- Hence name it as upload .
- Now again right click on the test folder and create a new file as shown below :
- Again a dialog box will appear which will ask for file name, so name it as upload.php .
- Hence both the files will be created as shown below :
- Now drag and drop the upload.php file on the desktop and open it with Notepad ++ and write the following code in it as given below :
- Hence after writing the code save your document and now sign in into your Github account by visiting github.com :
- So now enter a username ,your email id and password in the respective tabs and click on the Sign up for GitHub button .
- After you click on the signup button you will get the following window :
- Now click on the ‘+’ icon on the right hand side as indicated by the red arrow and then click on the “ New repository ” as indicated by the blue arrow .
- After clicking on the New repository you will be navigated to the next window ,specify a Repository name ,select a public radio button and click on the Create repository button as shown in the image below :
- So after clicking on the Create repository button you have the following window :
- Go to xampp -> htdocs .
- In htdocs you have your capture folder created .
- Now go to your start menu -> GitBash -> right click on it -> Send To -> Desktop (create a shortcut) of GitBash on Desktop as shown below :
- So now on Desktop you will have a GitBash icon .
- Now Right Click on the GitBash icon on the desktop and go to properties and in the Start in edit box set the path as : c:xampphtdocs as shown in the image.
- Now Click on Apply and OK button .
- Now start the GitBash application from the desktop and you will have the following screen :
- Now insert the following command as shown below in the gitbash command prompt window..
- Thus after inserting the commands you will have the following view of your window :
- After you get this , insert further commands in the same command prompt window as given below :
- After inserting this command your gitbash command prompt window will have the following look , check whether your username and email you entered has been generated in the list :
- After this insert the following commands :
- You will have the following window :
- Now go to your github account where you had created the capture repository and copy the add origin command and push command and paste it in the gitbash command prompt respectively.
- So after adding the commands you will be asked for your github username and password ,so you will have the following window :
- Thus now the push operation is complete, so now we are ready to build our application .
- Now go to www.build.phonegap.com and click on Sign in tab present at the right.
- After clicking on the Sign in button you will get the next page where you have to click on the Sign in with GitHub button as shown by the arrow head ..
- After that you will be navigated to the next page where you have to click on the new app button as shown by the red arrow head.
- After clicking on the new app button ,you will get the following window where you have to select the open-source tab and click on the dropdown pointer and select your app as shown in the image :
- When you select your app the fetching process will start as shown in the figure :
- After the fetching is complete you will get the following window :
- Now click on the Ready to Build button as shown by the red arrow in the image and you will get the following screen :
- Click on the android icon and you will have the following window popping up to save the apk file.
- Now save your apk file and insert it in your android mobile phone and install it ,you will have the application running on your mobile phone
- Thus we have learn to implement capture api with phonegap .
<!--DOCTYPE HTML--> <html> <head> <title>PhoneGap Capture Application</title> <style>button{background:#333;color:#fff;border-radius:10px;border:2px #623 solid;padding:5px 10px;}</style> <script type="text/javascript" charset="utf-8" src="phonegap.js"></script> <script type="text/javascript"> // Call With Button function takePicture( ) { navigator.device.capture.captureImage(captureSuccess,captureError); } // If the capture is successful : function captureSuccess(mediaFiles) { var i, len; for(i=0,len = mediaFiles.length;i<len; i+=1) { uploadFile(mediaFiles[i]); } } // If error function captureError(error) { var errMsg = 'An error has occurred' + error.code; navigator.notification.alert(errMsg,null,'oh No!'); } //Upload To Server function uploadFile(mediaFile) { var ft = new FileTransfer(), path = mediaFile.fullpath, name = mediaFile.name; ft.upload( path, "http://techguystaging.com/test/upload.php", function (result) { console.log('File Upload: Success!!!'); }, function (error) { console.log('File upload : Failed!!!'); }, {fileName: name} ); } </script> </head> <body> <button onclick="takePicture();">Take Picture</button> </body> </html>
ls cd capture(that is your folder name in htdocs folder) ls
git config --global user.name “username of your github account” git config --global user.email “email of your github account” git config --list
git init ls –a git add . git commit –am ‘initial commit’
NOTE : Here you will have your own application name that is the name given by you while creating the repository.
Can we take snapshot of any page outside the app using the phonegap