Wednesday, October 17, 2012

Android SOAP Service Caller Class


public class UserLoginService {

      
       private static String METHOD_NAME = "method name";
       private static String URL = "service url";

       public UserLoginBean LoginMe(UserLoginBean bean) {

              final String svalue = "bean";

              SoapObject requestObject = new SoapObject(AppConst.NAMESPACE, METHOD_NAME);

              requestObject.addProperty(svalue, bean);

              final SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                           SoapEnvelope.VER11);
              envelope.dotNet = true;

              envelope.setOutputSoapObject(requestObject);

              envelope.addMapping(AppConst.NAMESPACE,
                           UserLoginBean.UserLoginBean_CLASS.getSimpleName(),
                           UserLoginBean.UserLoginBean_CLASS);

              final Object response = new ServiceCaller().call(AppConst.SOAP_ACTION
                           + METHOD_NAME, envelope, URL);

              if (response != null) {
                     try {
                           if (response != null) {
                                  bean = new UserLoginBean((SoapObject) response);
                           }
                     } catch (Exception e) {
                           e.printStackTrace();
                     }
              }

              return bean;
       }

}

SOAP Request Bean Designing with implements KvmSerializable


import java.util.Hashtable;

import org.ksoap2.serialization.KvmSerializable;
import org.ksoap2.serialization.PropertyInfo;
import org.ksoap2.serialization.SoapObject;

public class UserLoginBean implements KvmSerializable {

       public static Class UserLoginBean_CLASS = UserLoginBean.class;

       private String UserName;
       private String Password;
       private String Status;

       public UserLoginBean() {
       }

       public UserLoginBean(SoapObject response) {
              this.UserName = response.getProperty("UserName").toString();
              this.Password = response.getProperty("Password").toString();
              this.Status = response.getProperty("Status").toString();
       }

       public String getUserName() {
              return UserName;
       }

       public void setUserName(String userName) {
              UserName = userName;
       }

      
       public String getPassword() {
              return Password;
       }

       public void setPassword(String password) {
              Password = password;
       }

      
       public String getStatus() {
              return Status;
       }

       public void setStatus(String status) {
              Status = status;
       }

       @Override
       public Object getProperty(int index) {
              Object object = null;
              switch (index) {
              case 0:
                     object = this.UserName;
              case 1:
                     object = this.Password;
                     break;
              case 2:
                     object = this.Status;
                     break;
              }
              return object;
       }

       @Override
       public int getPropertyCount() {
              return 3;
       }

       @Override
       public void getPropertyInfo(int index, Hashtable arg1,
                     PropertyInfo propertyInfo) {
              switch (index) {
              case 0:
                     propertyInfo.name = "UserName";
                     propertyInfo.type = PropertyInfo.STRING_CLASS;
                     break;
             
              case 1:
                     propertyInfo.name = "Password";
                     propertyInfo.type = PropertyInfo.STRING_CLASS;
                     break;
             
              case 2:
                     propertyInfo.name = "Status";
                     propertyInfo.type = PropertyInfo.STRING_CLASS;
                     break;
              }

       }

       @Override
       public void setProperty(int index, Object object) {

              switch (index) {
              case 0:
                     this.UserName = object.toString();
                     break;
             
              case 1:
                     this.Password = object.toString();
                     break;
             
              case 2:
                     this.Status = object.toString();
                     break;
              }
       }

}

SOAP Service Caller Method Which will return Response as OBJECT




public Object call(String soapAction, SoapSerializationEnvelope envelope,
                     String URL) {

              Object result = null;

              Marshal dateMarshal = new MarshalDate();
              dateMarshal.register(envelope);
              Marshal floatMarshal = new MarshalFloat();
              floatMarshal.register(envelope);

              final HttpTransportSE transportSE = new HttpTransportSE(URL);

              transportSE.debug = false;

              try {
                     transportSE.call(soapAction, envelope);
                     if (!isResultVector) {
                           result = envelope.getResponse();
                     } else {
                           result = envelope.bodyIn;
                     }
              } catch (final IOException e) {
                     e.printStackTrace();
              } catch (final XmlPullParserException e) {
                     e.printStackTrace();
              } catch (final Exception e) {
                     e.printStackTrace();
              }
              return result;
       }

Android Keyboard Setup AVD


Android Keyboard Setup AVD

In Eclipse

Window - > AVD Manager - > Android Virtual Device Manager ( Select AVD Name) - > Edit - > New - > (ADD) Keyboard Setup ('Yes').


Restart AVD

Thursday, August 16, 2012

How to use Intent in android?

Activity1: IntentEgActivity
IntentEgActivity.java

package intent.eg;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

public class IntentEgActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button buttonOne = (Button) findViewById(R.id.button1);
        buttonOne.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
              EditText usernam = (EditText)findViewById(R.id.editText1);
              String name = usernam.getText().toString();
              EditText upas = (EditText)findViewById(R.id.editText2);
              String pass = upas.getText().toString();
              if(name.equals("xyz") && pass.equals("abc"))
              {
                     Intent i = new Intent(IntentEgActivity.this,InvokedActivity.class);
                     i.putExtra("value1", name);
                     i.putExtra("value2", pass);
                     startActivity(i);
              }
              else
              {      Toast.makeText(getApplicationContext(), "wrong user name or password", Toast.LENGTH_SHORT).show();

               }
           }
        });
    }
}

Main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter User Name" />
   <EditText
          android:id="@+id/editText1"
          android:layout_width="232dp"
          android:layout_height="wrap_content" >
     <requestFocus />
  </EditText>
  <TextView
        android:id="@+id/textView2"
        android:layout_width="152dp"
        android:layout_height="wrap_content"
        android:text="Enter Password" />
  <EditText
        android:id="@+id/editText2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />
 <Button
              android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Go to Next Activity" />
</LinearLayout>

Activity2: InvokedActivity
InvokedActivity.java

package intent.eg;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class InvokedActivity extends Activity
{      @Override
        public void onCreate(Bundle savedInstanceState) {
               super.onCreate(savedInstanceState);
               setContentView(R.layout.disp);
               Bundle Name = getIntent().getExtras();
               String userName = Name.getString("value1");
               if(userName != null)
               {
                     TextView txt = (TextView)findViewById(R.id.textView5);
                     txt.setText("Welcome"+" "+userName);
               }
          }
}

disp.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/textView5"
        android:layout_width="167dp"
        android:layout_height="wrap_content"
        android:text="TextView" />
</LinearLayout>