Monday 8 December 2014

PhoneGap Application Development Tutorial for Beginners

PhoneGap Application Development Demo Example

Note:  Create a folder www in assets folder and create index.html file within www folder. Also copy cordova.js file and paste within www folder.
-Follow this PhoneGap directory path (phonegap-2.9.0\phonegap-2.9.0\lib\android) to get cordova.js file and cordova-2.9.0.jar file past this jar file within libs folder of your project.


After run at first time phonegap application i got error ( [2014-12-08 22:05:20 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/squareup/okhttp/Address;
[2014-12-08 22:05:20 - AndroidPhoneGap] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/squareup/okhttp/Address; )

After Googling i got solution right click on project click on property->go to Java Built Path-> click on (Order and Export) tab and uncheck  Android 4.4, Android Private Libraries and Android Dependencies. and click on ok then run app.







MainActivity.java

package com.rakesht.androidphonegap;

import org.apache.cordova.DroidGap;

import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends DroidGap {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}


index.html

<!DOCTYPE HTML>
<html>
 <head>
  <title>PhoneGap</title>
  <script type="text/javascript" charset="utf-8" src="cordova-1.5.0.js"></script>
 </head>
 <body>
    <h1>PhoneGap Demo App</h1>
    <form>
First name:<br>
<input type="text" name="firstname">
<br>
Last name:<br>
<input type="text" name="lastname">
<br>
<input type="radio" name="sex" value="male" checked>Male
<br>
<input type="radio" name="sex" value="female">Female
<br>
<br>
<input type="submit" value="Submit">
</form>
 </body>
</html>

AndroiManifest.xml

Note: Copy carefully manifest code and paste in your manifest file.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.rakesht.androidphonegap"
    android:versionCode="1"
    android:versionName="1.0" >
    <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:resizeable="true"
    android:anyDensity="true"
    />
   
    <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.rakesht.androidphonegap.MainActivity"
            android:label="@string/app_name"
            android:configChanges="orientation|keyboardHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>


OutPut:

PhoneGap Application
PhoneGap Application

PhoneGapDemo App


No comments:

Post a Comment