Thursday, 3 January 2013

HOW TO CREATE .APK FILE AFTER IMPLEMENTING IN ECLIPSE

Hello Everyone , in order to use any android application in your mobile it must have .apk extension .
so how to create .apk file using eclipse


1) right click on project name and select export.
  select android folder and then Export Android Application.



2)Browse the project for which you want to create apk file
press next


3) then you will be asked to select keystore selection



4) for location you goto WINDOWS  ---> PREFERENCES ---->  ANDROID ---> BUILD 
and copy the default debug keystore


5) password is  android  *[it must be android only].
    enter next.


6) KEY ALIAS SELECTION 
  •        SELECT USE EXISTING KEY
  •        ALIAS --->  androiddebugkey
  •        PASSWORD --->android
press next

7) select destination for apk file and you are done... your application is ready ... put it into your android mobile and install it..

Monday, 4 June 2012

The Uniqueness of Android – The Mobile Platform from Google

There is a huge furore and expectation in the mobile industry, after the announcement of “Android”, the mobile platform (consisting of an operating system, middleware and key applications), by Google last November. Its ripple effect in the developer community and the services industry is also pretty palpable.

In Google’s typical way, the 10 million dollar awards towards the best android applications had added the required momentum to bring the large developer community into its fold, and at the same time, harvest collective intelligence.

What is so unique about Android?
We have had many mobile OS like the Symbian, Windows Mobile OS, Mac OS X and Linux based Palm Nova, ALP etc, already flooding the market and fragmenting it.
So, why is another OS required?
If we are talking about something very radical, iPhone did it all. It took the market by storm with its mind-boggling features.
With all these in the market, isn’t android late? Still, why the interest?

Market Buy-in


Google has first of all roped in most of the players in the mobile market be it mobile operators, handset manufacturers, mobile application providers or software companies and even some commercialization companies.

The only significant players who are missing from the list for obvious reasons are:
1. Microsoft
2. Apple
3. Nokia
4. Palm
Two Major National US carriers missing are AT&T and Verizon.

Google is planning to keep it open source, the most happening way to get the acceptance in the market

Technically,
1. It is the only OS so far that allows integration / use of the basic phone features with any externally developed mobile application,
2. It is designed to simplify the reuse of components. Any application can publish its capabilities and any other application can use it. Taking the cue from the enterprise world on service oriented architecture, android has built it into its fundamental architecture
3. It is built on the open Linux Kernel
4. It will be open source
5. Mashup-ready: Embed browser and map views directly in your applications

To the End User:
1. Choice will be unlimited. The end user is not tied to using the basic features of the phone as provided by the handset manufacturer. He could use his own choice from any third party provider as the default feature of the phone
2. The ability to seamlessly integrate core and new applications will produce a new generation of unheard-of applications that are going to change the way the mobile would be used. Like for example, the ability to alert friends who are in the vicinity about your presence or the ability to be notified of all the shops that have a product you are looking for, as you enter a mall.
3. The open platform should provide more cheaper and innovative mobile devices and services
4. Application life cycle and automatic process management frees the end user from worrying about what applications are active
5. Location based services and notifications
6. Standard 2d and 3d graphics with optional acceleration
7. High quality audio/video support including H.264 (AVC).
8. Low power operation

Web 2.0 for the software services industry?

Here are some of my thoughts on what Web 2.0 would mean to the software services industry.

The five main principles that qualify for calling and application / site Web 2.0 is:
1. Web as a Platform and Software as a service
2. Architecture of participation for harnessing collective intelligence
3. Own or create hard-to-recreate data sources
4. Software through multiple channels and devices
5. Rich User interface or Rich Internet Applicaitons

While the principle 2 seems to be attracting the most attention in Web 2.0, for the services industry, principle 1 holds the key.

Let me elaborate what I mean. In terms of implementation, principle 2 stands for creating and enhancing the network of people visiting your applicaitons and using them or adding value to them through blogs, wikis, social networks, susbscription of feeds, provide permalinks and trackbacks, allowing tagging or folsonomy as some call it. Now, providing or building these features is a breeze. Most of them can be just configured by using many available off-the-shelf, open source software.

Also, practically speaking, if an organization does not have a core business around which to implement web 2.0, just providing the above is not going to be of any value add to itself.

The crux continues to remain that any organization must have a core business model that needs to adapt itself to Web 2.0. By this I mean, they must be providing some service in the real world and that should preferrably have already made its presence on the web through the Web 1.0 way. Even if not, it needs to be morphed to be provided as an online service, in the first go.

This is nothing but extending the web service model to the real "web". While the former was more often than not, within the walls of an enterprise or extended mainly to business partners, the latter would be real services maintained for the public use on the web by anyone who subscribes and pays for it. This would mainly help the smaller business of both types: the providers of such services as well as the consumers of such services.

There are enough successful models over the last couple of years like the salesforce.com which are thriving on this business model, a model of revenue generation that did not exist inherently in web 1.0. This may be one of the main causes for a potential success of Web 2.0, as I see it.

Thursday, 31 May 2012

How to set up NetBeans IDE 7.1 for Android Development

Eclipse IDE is commonly used in Android Development. But some people prefer NetBeans IDE for Development. So here is how you can configure NetBeans IDE 7.1 for Android Development. Very simple straight forward steps and less time consuming. I have put up some screenshots to make it easy.

The original content is copyrighted to Project Kenai. Please check the below link
http://kenai.com/projects/nbandroid/pages/Install

To begin with
 
You must be having NetBeans IDE 7.1 installed.

Step 1
 
Install using autoupdate center

Go to Tools -> Plugins and go to the Settings tab inside the new Plugins window opened

Press the Add button and enter the Name Android and URL below
http://kenai.com/downloads/nbandroid/updatecenter/updates.xml

Now click OK and go ahead. The screen will look like this
Go to Available Plugins tab in the same window. Select Android and the appropriate version of Android Test Runner plugin which matches your IDE.
Click Next and Accept Licence Agreement and click Install.
Ignore Untrusted Certificate warning and Press Continue.
Press Finish and that's it. You are ready for Android Development in  NetBeans IDE .
Step 2
 
Creating a test Android project.
Go to File -> New Project and Choose Android. Click Next.
Enter Project Name, Package Name and Activity Name which is the first screen in your application.
An error will be displayed below asking to choose the Android SDK location. Choose the Android SDK direction location from your file system by clicking on Manage Android SDK button.
Now based on the Android Virtual Devices configured in your SDK choose one.
You can install/configure AVD from Tools -> Android SDK and AVD Manager
You will find an error saying package android.R cannot be found. This is an auto generated class in Android.
****Do not right click error and select the hint Import android.R.****
Just Right click your project and select Clean and Build. This error will be auto fixed.
You are all set! Happy Android Coding!!!

Setup Eclipse and the Android SDK

If you don't already have a running environment to develop Android apps, follow the instructions at this
Hint: PATH means the Path Environment Variable. In Windows, you will find it under "Control Panel/System/Advanced System Settings/Environment Variables" in the lower list box. You can check what version of Java is installed, by going in the command line and typing java -version.

Let's Get Started

Now we want to create our first application, which is (as always) a Hello World application. First of all, start Eclipse. Then select "File/New/Project". In the "New Project" dialog, select "Android/Android Project" and click "Next".
New_Project_empty.jpg
Here you can set up the project. First of all, we need to give the project a name, so type "Hello World" in the name box. Next you have to select the Android version you want to use. Here we choose version 2.2. As we see in the last column, we need the API Version 8 for this Android version, so we type an "8" in the Min SDK Version box. Also, the project requires an application name. (Notice that this name is also used in code, so the name should have no whitespaces). Usually, you use the project name and delete all whitespaces (e.g., "helloworld" for this project). Next, you have to define the package of the project. We will use "com.test.helloworld" here (a package can group multiple classes; for more information, see here). At least, you need a name for the activity (one App might have multiple Activities; they are like a single part/screen of the app). In this example, we simply use "HelloWorldApp".
New_Project.jpg
Before we can finally start our first project, we need to create a configuration. This configuration specifies under which circumstances the app will be started. E.g., you can control the network speed the emulator/app can use. Also, you can choose different emulators to test the app with different versions of Android or in different screen sizes. To create the configuration, go to "Run/Run Configurations". Now click the "Android Application" tab at the side and then the New button above the tabs. Call the new configuration "HelloWorldConfig" and select our project over the Browse button. Now move on to the target tab. Here you can select the network speed and which emulator will be used.
Run_Config_Screen.jpg
Since we haven't created an emulator till now, we need to do that first. Click the automatic control to enable the buttons at the side and then click on the manager-button. Here, click the new button to the right to create a new emulator. In the following screen, you can enter a name for the emulator (I have used "DefaultAndroidEmulator") and specify the details (like Android version, SD card size, and much more). You can control every little detail of the emulator over the hardware section.
Create_Emulator_.jpg
Once you are done with that, click "Create AVD" and close the manager window. Now we have successfully created the run configurations. Click "Apply" and close the configurations. At least run your first Android project.
Notice: It may take the emulator some time to get started, so be patient! Also, I have cropped the image so that you can't see the keyboard or the D-pad.
Congratulations! You just created your first App!
First_App_.jpg

Coding is Fun

After we have set up everything, it's (finally) time to actually getting started with the code, because we all know: Coding is fun!
But before we can actually jump into the Java code, we need to understand the structure of an Android Application. Go to your Package Explorer and enlarge the "Hello World" project. You will see five folders and two files. Let's get started with the one of these two files, the AndroidManifest file. This file contains all the information about your project, like the icon, the name of the author. To open it, make a right click on it and choose "Open With/Android Manifest Editor". In the upcoming tab, you can specify the package name and the version of your project. At the bottom, you will find additional tabs. I think most of the settings you will find are pretty much self-explanatory. Note the @ in front of some attributes. This shows that the following string is a reference to a resource. You can find the resources in the "res" folder of your project. If you enlarge it, you will notice that it has some subfolders. To be specific, the res folder can have seven types of subfolders: values, drawable, layout, animations, xml, styles, and raw.
Let's focus on the values folder first. Here you can store all kinds of simple resources (like strings, colors, numbers, dimensions, arrays, etc.). By default, you will find the strings.xml file in there. When you open it (with right click, "Open with/Android Layout Editor"), you will see that it contains two values. The first is the message you see when you run your project, and the second is the name of your app. You can add new values if you want to use them later on in code (or in the Manifest or Layout files). You can also create specific resources using quantifiers. If you add a - to the folder's name, you can add a quantifier to the name. E.g., you can rename the values folder to values-en which means that the content of the folder is only used by Android phones with English language activated. If you do not add a quantifier, the resources are default. The default resources are used if no specific resources for the current system are found. If the project is started, all resources will be compiled as efficiently as possible and added to the package. Also, a reference will be created (called R) which allows you to access the resources in code. Since this is only a tutorial, I will not focus on all the types of resources here. You can find more information on resources and quantifiers
At last, it is time to start coding! Go to the "src" folder. In the folder, you will find the package folder, open the HelloWorld.java file. You will see the default code for an Android Activity:
package com.test.helloworld; //the package we are working in

//some android packages we need to import
import android.app.Activity;
import android.os.Bundle;

//our activity class (extendes the default activity class)
public class HelloWorldApp extends Activity {
    /** Called when the activity is first created. */
    @Override
    //the function called when activity is created
    public void onCreate(Bundle savedInstanceState) {
        //call the create fct. Of the base class
        super.onCreate(savedInstanceState);
        //load the layout specified in the layout.xml
        setContentView(R.layout.main);
    }
}

As you can see, we create a new activity by extending the default Android activity class. Then we override the default onCreate function, which is called when the project is created. In there, we load our own layout from the resources and also call the onCreate function of the base class. Now let's take a closer look at the layout file. You find it in the layout folder under resources. When you open it, it should look like this:
<linearlayout android:layout_height="fill_parent" 
    android:layout_width="fill_parent" android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android" />
      <textview android:layout_height="wrap_content" 
        android:layout_width="fill_parent" android:text="@string/hello" />
</linearlayout />

You see the root node is called LinearLayout. As you you might already have figured out, there are different types of layouts:
  • FrameLayout: All controls (children) are placed in the upper left corner.
  • LinearLayout: All children are positioned in vertical/horizontal order.
  • RelativeLayout: The positions of the children are specified in relation to the other children.
  • TableLayout: The child elements are placed with a grid.
  • AbsoluteLayout: The child elements are positioned based on absolute coordinates (in pixel).
Once you have chosen a layout type, you can add child elements. In the code given, there is already a TextView, which is used to display text on the screen. The current content is a reference to a resource defined in the values.xml file. As you will see, it uses the whole width of the screen, but is only as long as it needs to, to display the content. We might start with some small changes. Let's change the text color of the TextView to green:

<textview android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="@string/hello" android:textcolor="#FF00FF00" />

Now, launch the project and see the changes. Next, let's add a new control called EditText:
<linearlayout android:layout_height="fill_parent" 
     android:layout_width="fill_parent" android:orientation="vertical" 
     xmlns:android="http://schemas.android.com/apk/res/android" />
        <edittext android:layout_height="wrap_content" 
             android:layout_width="fill_parent" android:textcolor="#FF0000FF"
             android:id="@+id/et_Text" />
<textview android:layout_height="wrap_content" android:layout_width="fill_parent"
    android:textcolor="#FF00FF00" android:id="@+id/lv_View" />
</linearlayout />

When we want to access the controls in code, they need to have an ID. Next we create some code for the controls. Go to the helloworld.java file.
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //loading the layout over the resource reference
    setContentView(R.layout.main);
        
    //get the two controls we created earlier, also with the resource reference and the id
    final TextView tv_View = (TextView)findViewById(R.id.tv_View);
    final EditText et_Text = (EditText)findViewById(R.id.et_Text);
        
    //add new KeyListener Callback (to record key input)
    et_Text.setOnKeyListener(new OnKeyListener()
    {
        //function to invoke when a key is pressed
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            //check if there is 
            if (event.getAction() == KeyEvent.ACTION_DOWN)
            {
                //check if the right key was pressed
                if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER)
                {
                                    //add the text to the textview
                    tv_View.setText(tv_View.getText() + ", " + 
                                     et_Text.getText());
                                    //and clear the EditText control
                    et_Text.setText("");
                    return true;
                }
            }
            return false;
        }
    });
}
We will analyze the code line by line. First of all, as before, we load the layout. Then we create a TextView and a EditText variable and load our interface objects in them (that's what we need the ID for). Finally, we add a new OnKeyListener to the EditText control. In this OnKeyListener, we create the method onKey, which is called when a key is pressed, when the control is active. In the method, we perform two checks: the first to be sure that a key is pressed down (and not released), and the second to specify the key (in this case, the center key of the D-pad). If both checks are passed, we add the text of the EditText control to the TextView, and finally the text of the EditText control is deleted. Run and test the application. Great, you created your first real Android app.
Final_App_.jpg
  
Welcome to my blog...


Introduction

                                      This tutorial is a starting point for developing Android apps. It will explain the very basics of the Android SDK (Software Development Kit) and how to use it with Eclipse. To understand this tutorial, you don't need to have any knowledge about programming in Java, but it might be helpful for further programming to understand the basics of object orientated programming. This tutorial explains Android beginners how to create an Android Project in Eclipse, work with resources, and create some first code.