Android Title 1
Quas molestias excepturi
THIS IS FEATURED POST 2 TITLE
Impedit quo minus id
THIS IS FEATURED POST 3 TITLE
Voluptates repudiandae kon
THIS IS FEATURED POST 4 TITLE
Mauris euismod rhoncus tortor

Android SQLite Database Tutorial


Chaunri | 12:06 PM | ,

Android provides several ways to store user and app data. SQLite is one way of storing user data. SQLite is a very light weight database which comes with Android OS. In this tutorial I’ll be discussing how to write classes to handle all SQLite operations.

In this tutorial I am taking an example of storing user contacts in SQLite database. I am using a table called Contacts to store user contacts. This table contains three columns id (INT), name (TEXT), phone_number(TEXT).
Following is the structure of contacts table.
Sqlite contacts table 




Writing Contact Class
Before you go further you need to write your Contact class with all getter and setter methods to maintain single contact as an object.
Contact.java
package com.androidhive.androidsqlite;
public class Contact {
    //private variables
    int _id;
    String _name;
    String _phone_number;
    // Empty constructor
    public Contact(){
    }
    // constructor
    public Contact(int id, String name, String _phone_number){
        this._id = id;
        this._name = name;
        this._phone_number = _phone_number;
    }
    // constructor
    public Contact(String name, String _phone_number){
        this._name = name;
        this._phone_number = _phone_number;
    }
    // getting ID
    public int getID(){
        return this._id;
    }
    // setting id
    public void setID(int id){
        this._id = id;
    }
    // getting name
    public String getName(){
        return this._name;
    }
    // setting name
    public void setName(String name){
        this._name = name;
    }
    // getting phone number
    public String getPhoneNumber(){
        return this._phone_number;
    }
    // setting phone number
    public void setPhoneNumber(String phone_number){
        this._phone_number = phone_number;
    }
}
Writing SQLite Database Handler Class
  We need to write our own class to handle all database CRUD(Create, Read, Update and Delete) operations.
1. Create a new project by going to File ⇒ New Android Project.
2. Once the project is created, create a new class in your project src directory and name it as DatabaseHandler.java ( Right Click on src/package ⇒ New ⇒ Class)
3. Now extend your DatabaseHandler.java class from SQLiteOpenHelper.
public class DatabaseHandler extends SQLiteOpenHelper {
4. After extending your class from SQLiteOpenHelper you need to override two methods onCreate() and onUpgrage()
onCreate() – These is where we need to write create table statements. This is called when database is created.
onUpgrade() – This method is called when database is upgraded like modifying the table structure, adding constraints to database etc.,
public class DatabaseHandler extends SQLiteOpenHelper {
    // All Static variables
    // Database Version
    private static final int DATABASE_VERSION = 1;
    // Database Name
    private static final String DATABASE_NAME = "contactsManager";
    // Contacts table name
    private static final String TABLE_CONTACTS = "contacts";
    // Contacts Table Columns names
    private static final String KEY_ID = "id";
    private static final String KEY_NAME = "name";
    private static final String KEY_PH_NO = "phone_number";
    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
                + KEY_PH_NO + " TEXT" + ")";
        db.execSQL(CREATE_CONTACTS_TABLE);
    }
    // Upgrading database
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older table if existed
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
        // Create tables again
        onCreate(db);
    }
⇒All CRUD Operations (Create, Read, Update and Delete)
Now we need to write methods for handling all database read and write operations. Here we are implementing following methods for our contacts table.
// Adding new contact
public void addContact(Contact contact) {}
// Getting single contact
public Contact getContact(int id) {}
// Getting All Contacts
public List<Contact> getAllContacts() {}
// Getting contacts Count
public int getContactsCount() {}
// Updating single contact
public int updateContact(Contact contact) {}
// Deleting single contact
public void deleteContact(Contact contact) {}
⇒Inserting new Record
The addContact() method accepts Contact object as parameter. We need to build ContentValues parameters using Contact object. Once we inserted data in database we need to close the database connection.
addContact()
    // Adding new contact
public void addContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName()); // Contact Name
    values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone Number
    // Inserting Row
    db.insert(TABLE_CONTACTS, null, values);
    db.close(); // Closing database connection
}
⇒Reading Row(s)
The following method getContact() will read single contact row. It accepts id as parameter and will return the matched row from the database.
getContact()
    // Getting single contact
public Contact getContact(int id) {
    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
            KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
            new String[] { String.valueOf(id) }, null, null, null, null);
    if (cursor != null)
        cursor.moveToFirst();
    Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
            cursor.getString(1), cursor.getString(2));
    // return contact
    return contact;
}
getAllContacts() will return all contacts from database in array list format of Contact class type. You need to write a for loop to go through each contact.
getAllContacts()
    // Getting All Contacts
 public List<Contact> getAllContacts() {
    List<Contact> contactList = new ArrayList<Contact>();
    // Select All Query
    String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);
    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            Contact contact = new Contact();
            contact.setID(Integer.parseInt(cursor.getString(0)));
            contact.setName(cursor.getString(1));
            contact.setPhoneNumber(cursor.getString(2));
            // Adding contact to list
            contactList.add(contact);
        } while (cursor.moveToNext());
    }
    // return contact list
    return contactList;
}
getContactsCount() will return total number of contacts in SQLite database.
getContactsCount()
// Getting contacts Count
    public int getContactsCount() {
        String countQuery = "SELECT  * FROM " + TABLE_CONTACTS;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        cursor.close();
        // return count
        return cursor.getCount();
    }
⇒Updating Record
updateContact() will update single contact in database. This method accepts Contact class object as parameter.
updateContact()
    // Updating single contact
public int updateContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(KEY_NAME, contact.getName());
    values.put(KEY_PH_NO, contact.getPhoneNumber());
    // updating row
    return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getID()) });
}
⇒Deleting Record
deleteContact() will delete single contact from database.
deleteContact()
    // Deleting single contact
public void deleteContact(Contact contact) {
    SQLiteDatabase db = this.getWritableDatabase();
    db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
            new String[] { String.valueOf(contact.getID()) });
    db.close();
}
Complete DatabaseHandler.java Code:
DatabaseHandler.java
package com.androidhive.androidsqlite;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DatabaseHandler extends SQLiteOpenHelper {
    // All Static variables
    // Database Version
    private static final int DATABASE_VERSION = 1;
    // Database Name
    private static final String DATABASE_NAME = "contactsManager";
    // Contacts table name
    private static final String TABLE_CONTACTS = "contacts";
    // Contacts Table Columns names
    private static final String KEY_ID = "id";
    private static final String KEY_NAME = "name";
    private static final String KEY_PH_NO = "phone_number";
    public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    // Creating Tables
    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
                + KEY_PH_NO + " TEXT" + ")";
        db.execSQL(CREATE_CONTACTS_TABLE);
    }
    // Upgrading database
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // Drop older table if existed
        db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
        // Create tables again
        onCreate(db);
    }
    /**
     * All CRUD(Create, Read, Update, Delete) Operations
     */
    // Adding new contact
    void addContact(Contact contact) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_NAME, contact.getName()); // Contact Name
        values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
        // Inserting Row
        db.insert(TABLE_CONTACTS, null, values);
        db.close(); // Closing database connection
    }
    // Getting single contact
    Contact getContact(int id) {
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
                KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);
        if (cursor != null)
            cursor.moveToFirst();
        Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
                cursor.getString(1), cursor.getString(2));
        // return contact
        return contact;
    }
    // Getting All Contacts
    public List<Contact> getAllContacts() {
        List<Contact> contactList = new ArrayList<Contact>();
        // Select All Query
        String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery(selectQuery, null);
        // looping through all rows and adding to list
        if (cursor.moveToFirst()) {
            do {
                Contact contact = new Contact();
                contact.setID(Integer.parseInt(cursor.getString(0)));
                contact.setName(cursor.getString(1));
                contact.setPhoneNumber(cursor.getString(2));
                // Adding contact to list
                contactList.add(contact);
            } while (cursor.moveToNext());
        }
        // return contact list
        return contactList;
    }
    // Updating single contact
    public int updateContact(Contact contact) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(KEY_NAME, contact.getName());
        values.put(KEY_PH_NO, contact.getPhoneNumber());
        // updating row
        return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
                new String[] { String.valueOf(contact.getID()) });
    }
    // Deleting single contact
    public void deleteContact(Contact contact) {
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
                new String[] { String.valueOf(contact.getID()) });
        db.close();
    }
    // Getting contacts Count
    public int getContactsCount() {
        String countQuery = "SELECT  * FROM " + TABLE_CONTACTS;
        SQLiteDatabase db = this.getReadableDatabase();
        Cursor cursor = db.rawQuery(countQuery, null);
        cursor.close();
        // return count
        return cursor.getCount();
    }
}
Usage:
AndroidSQLiteTutorialActivity
<span>package com.androidhive.androidsqlite;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
public class AndroidSQLiteTutorialActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        DatabaseHandler db = new DatabaseHandler(this);
        /**
         * CRUD Operations
         * */
        // Inserting Contacts
        Log.d("Insert: ", "Inserting ..");
        db.addContact(new Contact("Ravi", "9100000000"));
        db.addContact(new Contact("Srinivas", "<a style="cursor:pointer">9199999999</a>"));
        db.addContact(new Contact("Tommy", "<a style="cursor:pointer">9522222222</a>"));
        db.addContact(new Contact("Karthik", "<a style="cursor:pointer">9533333333</a>"));
        // Reading all contacts
        Log.d("Reading: ", "Reading all contacts..");
        List<Contact> contacts = db.getAllContacts();      
        for (Contact cn : contacts) {
            String log = "Id: "+cn.getID()+" ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber();
                // Writing Contacts to log
        Log.d("Name: ", log);
    }
    }
}
</span>
Android Log Cat Report:
I am writing output to Log report. You can see your log report by going to Windows ⇒ Show View ⇒ Other.. ⇒ Android ⇒ Log Cat.
Android Log Cat
Android Log Cat
Android Output log report
Tutorials Source:- http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/

Building Your First App


Chaunri | 10:09 AM |

Welcome to Android application development!
This class teaches you how to build your first Android app. You’ll learn how to create an Android project and run a debuggable version of the app. You'll also learn some fundamentals of Android app design, including how to build a simple user interface and handle user input.
Before you start this class, be sure you have your development environment set up. You need to:
  1. Download the Android SDK.
  2. Install the ADT plugin for Eclipse (if you’ll use the Eclipse IDE).
  3. Download the latest SDK tools and platforms using the SDK Manager.
If you haven't already done these tasks, start by downloading the Android SDK and following the install steps. Once you've finished the setup, you're ready to begin this class.
This class uses a tutorial format that incrementally builds a small Android app that teaches you some fundamental concepts about Android development, so it's important that you follow each step.

Creating an Android Project

You should also read

An Android project contains all the files that comprise the source code for your Android app. The Android SDK tools make it easy to start a new Android project with a set of default project directories and files.
This lesson shows how to create a new project either using Eclipse (with the ADT plugin) or using the SDK tools from a command line.
Note: You should already have the Android SDK installed, and if you're using Eclipse, you should also have the ADT plugin installed (version 20.0.0 or higher). If you don't have these, follow the guide to Installing the Android SDK before you start this lesson.

Create a Project with Eclipse


  1. In Eclipse, click New Android App Project in the toolbar. (If you don’t see this button, then you have not installed the ADT plugin—see Installing the Eclipse Plugin.)
  2. Figure 1. The New Android App Project wizard in Eclipse.
  3. Fill in the form that appears:
    • Application Name is the app name that appears to users. For this project, use "My First App."
    • Project Name is the name of your project directory and the name visible in Eclipse.
    • Package Name is the package namespace for your app (following the same rules as packages in the Java programming language). Your package name must be unique across all packages installed on the Android system. For this reason, it's generally best if you use a name that begins with the reverse domain name of your organization or publisher entity. For this project, you can use something like "com.example.myfirstapp." However, you cannot publish your app on Google Play using the "com.example" namespace.
    • Build SDK is the platform version against which you will compile your app. By default, this is set to the latest version of Android available in your SDK. (It should be Android 4.1 or greater; if you don't have such a version available, you must install one using the SDK Manager). You can still build your app to support older versions, but setting the build target to the latest version allows you to enable new features and optimize your app for a great user experience on the latest devices.
    • Minimum Required SDK is the lowest version of Android that your app supports. To support as many devices as possible, you should set this to the lowest version available that allows your app to provide its core feature set. If any feature of your app is possible only on newer versions of Android and it's not critical to the app's core feature set, you can enable the feature only when running on the versions that support it. Leave this set to the default value for this project.
    Click Next.
  4. The following screen provides tools to help you create a launcher icon for your app. You can customize an icon in several ways and the tool generates an icon for all screen densities. Before you publish your app, you should be sure your icon meets the specifications defined in the Iconography design guide.
    Click Next.
  5. Now you can select an activity template from which to begin building your app. For this project, select BlankActivity and click Next.
  6. Leave all the details for the activity in their default state and click Finish.
Your Android project is now set up with some default files and you’re ready to begin building the app. Continue to the next lesson.

Create a Project with Command Line Tools


If you're not using the Eclipse IDE with the ADT plugin, you can instead create your project using the SDK tools from a command line:
  1. Change directories into the Android SDK’s tools/ path.
  2. Execute:
    android list targets
    This prints a list of the available Android platforms that you’ve downloaded for your SDK. Find the platform against which you want to compile your app. Make a note of the target id. We recommend that you select the highest version possible. You can still build your app to support older versions, but setting the build target to the latest version allows you to optimize your app for the latest devices.
    If you don't see any targets listed, you need to install some using the Android SDK Manager tool. See Adding Platforms and Packages.
  3. Execute:
    android create project --target <target-id> --name MyFirstApp \
    --path <path-to-workspace>/MyFirstApp --activity MainActivity \
    --package com.example.myfirstapp
    
    Replace <target-id> with an id from the list of targets (from the previous step) and replace <path-to-workspace> with the location in which you want to save your Android projects.
Your Android project is now set up with several default configurations and you’re ready to begin building the app. Continue to the next lesson.
Tip: Add the platform-tools/ as well as the tools/ directory to your PATH environment variable.

Go to more Details:-  www.developer.android.com

20 Best Android apps this week


Chaunri | 2:48 AM |

It's time for our weekly roundup of the best new Android apps for smartphones and tablets, drawn from a mixture of Google Play digging, press releases and submissions from developers.
Games aren't included – they get a separate roundup which has plenty of Android games this week. The weekly iOS apps roundup will be published later in the day.
Here's this week's Android selection:

PizzaExpress

Fancy a pizza? UK chain Pizza Express' innovative app has been ported from iOS to Android, enabling customers to book tables, and then pay for their bill using PayPal at the end of their meals. The app will also provide regular offer codes, and it ties in with the chain's Click & Collect takeaway-ordering service too.

Via.me

Pitching itself as a "social storyboard", Via.me is an app for sharing photos, videos, audio and text on a standalone social network, as well as through Facebook and Twitter. That means photo filters, feeds of friends' activity – assuming they're on it, of course – and notifications aplenty.

White House

The official White House app has been out for a little while, but what's new this week is a version for Android tablets, just as the US presidential election gets into swing. Expect news, photos and videos from the White House, including live video streams of events featuring the president himself, and his officials.

Quora

Lots of people in Silicon Valley have been getting excited about Q&A service Quora for a while now, thanks to plenty of tech executives giving candid views on their industry. Can it become more mainstream through mobile apps? The new Android version is a step in that direction, providing a usable window into Quora, and lots of Android-specific widgetry and features.

Richard and Judy Book Club

Out on iOS a couple of weeks ago, WHSmith's official app for this year's Richard and Judy Book Club initiative is the latest example of branded augmented reality. Using HP subsidiary Aurasma's AR technology, it encourages readers to scan covers of participating books to watch reviews and other videos.

µTorrent Beta

Possibly controversial, this, but on the basis that it's a significant new release – and that there are a number of non-copyright-infringing uses for it – µTorrent makes our selection this week. It's a beta Android client for one of BitTorrent's two clients (the other, BitTorrent itself, already has an Android beta). For now it's free, and aims to make it easy to find and download torrents, including RSS feed subscriptions.

Telly

This sounds like it should be some kind of social TV / second-screen app, but actually it's more of a social videos play, taking on Socialcam and Viddy. The idea: shoot videos, add music, and then share on Facebook and Twitter, as well as through Telly's own standalone social network. It's the work of Twitvid, which was one of the first social video startups.

KinderPhone

This app is the latest attempt to make Android smartphones safe for children (see also: Famigo Sandbox). The idea is that parents install the app on their child's phone, and can then monitor what they're doing in terms of apps, social networking and calls. It also has "check-ins messages" to make it quicker for children to let their parents know their current location. A bit Big Brother? That's a debate worth having. If a child is old enough to be given an Android smartphone, are they also old enough to not have their usage of it monitored this closely?

Blue Badge Style

Stuxbot Technology's new Android app wants to be "a guide for a less able lifestyle". That means a location-based guide to restaurants, bars, cafes and so on, but with an emphasis on how accessible they are (for example: wheelchairs). The app can also be used to call venues for bookings, or browse their websites, and it recommends nearby places with reviews.

Gojee - Food & Drink Recipes

"Prepare yourself for a happy mouth explosion," shouts Gojee's Android app description, by way of introduction (in capitals). It's an app aggregating food and drink recipes from more than 200 foody blogs, and presenting them with lip-smacking photography in a slinky user interface.

Zara

Samsung has bagged an initial exclusive on the official Android app from fashion house Zara. On offer is the company's catalogue, refreshed every week, with options to buy clothes, and scan barcodes when in a store for more information and alternative colours.

Meet Travellers by Tripayo

There's a mini-blitz of social travel apps in 2012, as startups scramble to help travellers connect to friends and strangers alike for better information on destinations. Tripayo's new app is, as its name makes clear, about hooking up with fellow travellers while on your jaunts – presumably for friendship or more, depending on the situation. Hotel and flight-bookings features are also included.

Radiowalla

Indian online radio service Radiowalla has launched its official Android app, offering its hand-picked selection of streaming stations in music, sports and talk genres. Some shows can be listened to on-demand, too.

Hollywood Reporter

Hollywood industry magazine The Hollywood Reporter has taken its app to Android, offering a feed of news, views and videos from the film, TV and music industries. Social features are also built in.

Coach's Eye

TechSmith's Coach's Eye app is a very clever tool for athletes (pro or otherwise) and coaches. The idea: "video capture with slow-motion review, drawing tools, and simple sharing" to analyse your performance and learn to do things better, whether that's running, throwing or swinging a golf club.

Internet Radio (Beta)

Another app that does what it says on the title. EnsightMedia's app offers 50,000 streaming radio stations drawn from Shoutcast's radio directory, with search features, a sleep timer and some skeuomorphic design touches to make it look like a vintage radio.

Foneclay

Android is already one of the more customisable smartphone operating systems, through its own widgets and third-party apps. Foneclay is the latest example of the latter, promising "immersive, art-interfaces as dynamic as you are". Including, as you'll see from its Google Play screenshots, big yellow monsters. It's a more fun take on the phone-customisation apps genre.

Sleep Time Alarm Clock

If I had a pound for every alarm-clock app I've seen go live on Google Play, I'd be too busy browsing speedboat catalogues to write this roundup. Sadly, most of them are rubbish. Sleep Time – Alarm Clock is one of the better ones though: a "sleep cycle alarm clock" that aims to detect your movements in bed using your device's accelerometer, then wake you up at the right moment to avoid grogginess.

Chestburster

Some fun here, of the augmented-reality-t-shirt-to-make-an-alien-burst-out-of-your-chest variety. Scan one of Fingerfunk's t-shirts and, yes, an alien will burst out of the person's chest. A novelty, yes, but a useful showcase for what's possible with technology like the Unity 3D game engine and Qualcomm's Vuforia AR platform (both used here).

Vibease - Chat and Vibrator

And a bit more fun to finish off, although "finish off" is perhaps not the best phrase to use in this context. Vibease promises "soothing ambient sound and customizable vibration rhythm", as well as a private social network for couples to... Well, make one another's smartphones buzz. The app will also work with a separate Vibease vibrator for true Android-fuelled sexytime. Not a phrase you'll be reading in this column for a while, thankfully.

Sources:- http://www.guardian.co.uk/technology/appsblog/2012/sep/07/best-android-apps-pizzaexpress-viame?newsfeed=true

10 Solutions for Creating Cross-Platform Mobile Apps


Chaunri | 12:06 AM | ,


10 Solutions for Creating Cross-Platform Mobile Apps
Is this an exciting time to be developing mobile apps? Short answer: Yes.
With tons of tools already available — and more springing up all the time — there seems to be a solution for any mobile app developer out there (experienced and novices alike).
In this article, we look at 10 solutions for building cross-platform mobile apps. They were chosen for their varied levels of complexity, price, features and documentation. I’ve tested each of them.

1. Sencha Touch 2

Sencha Touch 2
If you’re no stranger to HTML5, CSS3 and JavaScript, then Sencha Touch 2 may be a great choice for creating mobile apps on iPhone, Android and Blackberry.
Sencha Touch 2 needs to be installed on your computer (it works on PC, Mac or Linux). You also need a web server running locally on your computer (here’s how to install XAMMP if you need help).
Visit their Kitchen Sink app to see Sencha Touch 2 in action.

Sencha Touch 2 Summary

2. jQuery Mobile

jQuery Mobile
jQuery Mobile is an HTML5 user interface framework for touchscreen devices. The jQuery Mobile framework is straightforward and well documented. What’s great about jQuery Mobile is that it has an online tool called ThemeRoller to help make the creation of your user interfaces quicker.
To do server-side stuff, you could use a mobile app development platform like PhoneGap (which we’ll discuss later); the official site has documentation on how to use PhoneGap with jQuery Mobile.

jQuery Mobile Summary

3. Tiggzi

Tiggzi
Using jQuery Mobile as its base, Tiggzi is a drag-and-drop tool for developing mobile apps. You can add standard buttons, menus, video, maps and other elements to your mobile app and then bind events and corresponding actions to them.

Tiggzi Summary

  • Knowledge required: HTML, CSS, JavaScript, XML
  • Platform support: Android, iOS, Mobile Web
  • Cost: $15-$50/month (there’s a free plan); see Pricing page
  • Documentation: Tiggzi has a lot of good tutorials, videos and other resources on their site

4. AppMakr

AppMakr
AppMakr is an online tool for creating content-centered mobile apps, as well as a service that can help you distribute your app in many app stores. You can import RSS feeds that AppMakr will package into a mobile-optimized app.
There’s no programming required to create your app, though you can add custom HTML.

AppMakr Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: iOS, Android, Windows Phone
  • Cost: $79/month (free if you allow them to place ads in your mobile app)
  • Documentation: They have good video tutorials including a walkthrough of the app store distribution process

5. iBuildApp

iBuildApp
iBuildApp is a tool for creating mobile apps. They have a good selection of templates for many different types of apps, and you can have your app featured in the iBuildApp Gallery.
iBuildApp provides many options you can add to your mobile apps, including e-commerce options and a way to embed web pages inside your app. iBuildApp also provides a SOAP web service that allows you to easily create, retrieve, update or delete content.

iBuildApp Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: Options available for iOS and Android export
  • Cost: $9.99/month (free if you allow them to place ads in your mobile app)
  • Documentation: They have good tutorials on how to use their service

6. Widgetbox

Widgetbox
Widgetbox offers an easy-to-use web tool for creating and hosting simple, content-based mobile apps. You can create pages for your app containing RSS feeds from blogs or social media sites. You can also add custom content using HTML and CSS.
Check out the mobile app directory for a listing of apps created by Widgetbox.

Widgetbox Summary

  • Knowledge required: HTML and CSS would be helpful
  • Platform support: Compatible with most modern web browsers
  • Cost: $25-100/month
  • Documentation: They have support, FAQ, and a knowledgebase

7. foneFrame

foneFrame
foneFrame is a mobile HTML5/CSS3 framework for creating mobile-optimized web pages. You can then use PhoneGap or appMobi XDK for the backend. foneFrame is also an excellent way to easily wireframe a mobile site.

foneFrame Summary

  • Knowledge required: HTML5, CSS3, JavaScript
  • Platform support: Compatible with most modern browsers and platforms
  • Cost: Free (license: Creative Commons Attribution 3.0 Unported License)
  • Documentation: The template has inline documentation

8. PhoneGap

PhoneGap
PhoneGap is a free, open source software that serves as a bridge between individual mobile OS SDKs, which have their own programming languages and standard development practices.
Using PhoneGap, you can support multiple mobile device operating systems easier. You can create a mobile app using HTML5, CSS3 and JavaScript, and then use PhoneGap to package your work for specific mobile operating systems. PhoneGap also integrates directly with Dreamweaver, which can make mobile app development even easier.
PhoneGap support includes iOS, Android, Blackberry, Windows, WebOS and Symbian.

9. PhoneGap Build

PhoneGap Build
The folks at PhoneGap have gone one step further in creating a web-based platform that creates your "builds" for you. It’s called PhoneGap Build. This service presently supports iOS, Android, Blackberry, WebOS and Symbian.
With this service, you can upload your HTML5, CSS3 and JavaScript, and PhoneGap Build will generate the files you need for distribution in leading app stores.

10. appMobi XDK

appMobi XDK
appMobi XDK is cloud-based mobile app development environment that’s available as a Google Chrome plugin. The appMobi service will also host your mobile app for you, as well as provide you with the ability to deploy it in popular app stores. Though the service and hosting are free, they have add-on services like push notifications and e-commerce solutions you can use to enhance your mobile app.

About the Author

Deltina Hay, author of The Bootstrapper’s Guide to the Mobile Web, is a web developer, publisher, and small business owner. Hay teaches the graduate Social Media Certificate course for Drury University. Her video tutorials can be found on YouTube and Udemy. Connect with her on Google Plus and @deltina.

articles from:- http://sixrevisions.com

Samsung Galaxy Note 2 release date: Android-based Galaxy Note 2 rumors, details


Chaunri | 11:21 PM | , ,

The new Samsung Galaxy Note 2 release date has been a hot topic for Android smartphone lovers lately. The gadget is expected to make a big debut in late August on the T-Mobile network, and there are already rumors of other Android smartphone makers attempting to outdo the Galaxy Note 2, before it even launches.
If the rumors about the Galaxy Note 2 release date are correct, the hot Android device will launch in early September, just after the late August preview. This would put the smartphone on sale around the same time as the highly-anticipated iPhone 5. That is of course if all those iPhone 5 release date rumors, pointing to September, are accurate.
How does the Note 2 compare to other smartphones on the market though? An article from earlier today at G for Games says the "Samsung Galaxy Note 2 will come with a 5.5-inch display, [an] improved processor and improved camera." The larger display is certainly a perk most smartphone fanatics are going for these days, and who could argue with a better processor and camera?
Perhaps these new Samsung Galaxy Note 2 rumors are what have caused Apple to plan an event for September? After all, the two companies have been at war for a while, and now have taken matters to court over patent issues. It will be interesting to learn the outcome of this smartphone battle.
Subscribe for up-to-date details on the Samsung Galaxy Note 2, the iPhone 5, and other gadgets as they emerge. Want even more updates on the Galaxy Note 2, and other devices? "Like" this Smartphones & Tech Facebook Page.

Sources:-http://www.examiner.com/article/samsung-galaxy-note-2-release-date-android-based-galaxy-note-2-rumors-details