My Blog List

Android FirstAid Coding

A Small Help From a Small Heart
Powered by Blogger.

A software professional, who still likes to code, likes to blog and loves gadgets.

Tuesday 22 May 2012

How to add EditText to the image in Gallery and also camera activity in android.


Today i will tell about a program which initiate camera to capure an image.
The aim of this program is stated as:



1.Start camera for taking photo.
2.Show all images in a custom gallery.
3.Give appropriate caption for each photo.
4.Click on photo to view in large and can delete it.
5.View the name and caption of all photoes you captured in a dynamic way( TextView created    dynamically).


CameraActivity .java
==========================

package com.rajuandroid;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.Hashtable;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.TypedArray;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;


public class CameraActivity extends Activity {
protected boolean _taken;
protected String _path;
protected static final String PHOTO_TAKEN = "photo_taken";
private  List<String> fileList;
private Button camera;
private Gallery galleryView;
private FileInputStream fs=null;
String lable="label";
String selectedFileNamePath="";
static String externalImagePath="";
private String selectedimage;
private Hashtable<String, String> lableList = new Hashtable<String, String>();
public void refreshImageGallery()
{

galleryView.setAdapter(new ImageAdapter(CameraActivity.this,ReadSDCard()));

}
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        camera=(Button)findViewById(R.id.camera);
    camera.setOnClickListener( new ButtonClickHandler());
    galleryView=( Gallery) findViewById(R.id.galleryview); 
    galleryView.setAdapter(new ImageAdapter(this,ReadSDCard()));    
    galleryView.setOnItemClickListener(new OnItemClickListener() {  
  public void onItemClick(AdapterView<?> parent,View v, final int position, long id) {
  fileList=ReadSDCard();
                 if(fileList != null && !fileList.isEmpty())
  {
                  selectedimage= fileList.get(position).toString();  
                  final Dialog dialog = new Dialog(CameraActivity.this);
                  dialog.setContentView(R.layout.myimage);
                  dialog.setTitle("Full Image Here");
                  dialog.setCancelable(true);
                  ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
                  try {
      fs = new FileInputStream(new File(selectedimage));
      } catch (FileNotFoundException e) {      
      e.printStackTrace();
      }
                  Bitmap bm = null;
                  try {
             if(fs!=null)
              bm=BitmapFactory.decodeFileDescriptor(fs.getFD());
                  } catch (IOException e) {           
             e.printStackTrace();
         } finally{ 
             if(fs!=null) {
                 try {
                     fs.close();
                 } catch (IOException e) {                    
                     e.printStackTrace();
                 }
             }
         }
                  img.setImageBitmap( bm );                
                  Button cancel = (Button) dialog.findViewById(R.id.Button01);
                  cancel.setOnClickListener(new OnClickListener() {            
                      public void onClick(View v) {                    
                     dialog.dismiss();
                      }
                  });
                  Button delete = (Button) dialog.findViewById(R.id.Button02);
                  delete.setOnClickListener(new OnClickListener() {            
                      public void onClick(View v) {                
                  AlertDialog.Builder alertbox = new AlertDialog.Builder(CameraActivity.this);
               alertbox.setTitle("Are you sure want to delete this image?");
               alertbox.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) {
               File file = new File( selectedimage);                
               file.delete();
               if(true){              
               Toast.makeText(getApplicationContext(),"Image Deleted", Toast.LENGTH_SHORT).show();                
               }
              refreshImageGallery();
              dialog.dismiss();    
               }


               });
               alertbox.setNegativeButton("No", new DialogInterface.OnClickListener() {
               public void onClick(DialogInterface arg0, int arg1) {
               }
               });
               alertbox.show();
                   
                      }
                  });                  
                  //now that the dialog is set up, it's time to show it    
                  dialog.show(); 
  }


  }
     });
    Button showLebel=(Button)findViewById(R.id.next);  
    showLebel.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {                
                Intent intent = new Intent(CameraActivity.this, ShowAllLebels.class); 
                intent.putExtra("allLebelHashTable",lableList); //passing HashTable object
                startActivityForResult(intent,0);
                }
     });
    }
    public class ButtonClickHandler implements View.OnClickListener {
    public void onClick( View view ){    
    startCameraActivity();
          }
    }


    protected void startCameraActivity(){
    externalImagePath = "";
    externalImagePath = Environment.getExternalStorageDirectory() + "/Raju/";
      File dir = new File(externalImagePath);
      try{
      if (!dir.exists()) {
      if(dir.mkdirs()) {
      System.out.println("Directory created");
      } else {
      System.out.println("Directory is not created");
        }  
      }   
      }catch(Exception e){
      e.printStackTrace();
      }
     
    SimpleDateFormat dateFormat = new SimpleDateFormat("HHmmss");
    Date date = new Date();
    String curTime=dateFormat.format(date);    
        _path = Environment.getExternalStorageDirectory() +"/Raju/image"+ curTime +".jpg";
   System.out.println( _path);
   Log.i("MakeMachine", "startCameraActivity()" );
   File file = new File( _path );
   Uri outputFileUri = Uri.fromFile( file );
   Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE );
   intent.putExtra( MediaStore.EXTRA_OUTPUT, outputFileUri );
   startActivityForResult( intent, 0 );
   }


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
    Log.i( "MakeMachine", "resultCode: " + resultCode );
    switch( resultCode )
    {
    case 0:        
        break;
    case -1:
        onPhotoTaken();
       break;
    }
   
    }
    
    
    protected void onPhotoTaken(){
          Log.i( "MakeMachine", "onPhotoTaken" );
         _taken = true;
          BitmapFactory.Options options = new BitmapFactory.Options();
          options.inSampleSize = 8;
          BitmapFactory.decodeFile( _path, options );
          fileList=ReadSDCard();
          galleryView.setAdapter(new ImageAdapter(this,fileList));           
          
     }


    @Override 
    protected void onRestoreInstanceState( Bundle savedInstanceState){
    Log.i( "MakeMachine", "onRestoreInstanceState()");
    if( savedInstanceState.getBoolean( CameraActivity.PHOTO_TAKEN ) ) {
    onPhotoTaken();
        }
    }


    @Override
    protected void onSaveInstanceState( Bundle outState ) {
    outState.putBoolean( CameraActivity.PHOTO_TAKEN, _taken );
    }
    public class ImageAdapter extends BaseAdapter { 
    int mGalleryItemBackground;  
    private List<String> FileList;
    private LayoutInflater mInflater;
   
    public ImageAdapter(Context c, List<String> fList) {
    FileList = fList;
TypedArray ta = obtainStyledAttributes(R.styleable.Gallery1);
mGalleryItemBackground = ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1);
ta.recycle();
       mInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);    
    }
   
    public int getCount() {
    if(FileList != null)
    return FileList.size();
      else
      return 0;
    }
   
        public Object getItem(int position) {  
            return position;  
        }   
      
        public long getItemId(int position) {  
            return position;  
        }
        
        public View getView(final int position, View convertView,ViewGroup parent) { 
        final ViewHolder holder;
        if (convertView == null) {
        holder = new ViewHolder();
        convertView = mInflater.inflate(R.layout.mygrid, null);
        holder.imageview = (ImageView) convertView.findViewById(R.id.imagepart);
        holder.edittext = (EditText) convertView.findViewById(R.id.textpart);
        holder.edittext.setFocusable(false);        
          holder.edittext.setId(position);
          holder.edittext.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
TextView title3 = new TextView(CameraActivity.this);
               title3.setText("Make label");
               title3.setPadding(10, 10, 10, 10);
               title3.setGravity(Gravity.CENTER);
               title3.setTextColor(Color.WHITE);
               title3.setHeight(60);
               title3.setTextSize(20);
            final AlertDialog.Builder alert = new AlertDialog.Builder(CameraActivity.this);
            LayoutInflater factory = LayoutInflater.from(CameraActivity.this);
               final View textEntryView = factory.inflate(R.layout.mail_main, null);
            final EditText mTo = (EditText)textEntryView.findViewById(R.id.to);
            if(lableList.containsKey(new File(FileList.get(position).toString()).getName()))              
            mTo.setText(lableList.get(new File(FileList.get(position).toString()).getName()));

            alert.setCustomTitle(title3);
               alert.setView(textEntryView);
               alert.setPositiveButton("Done", new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int whichButton) {                    
                  lableList.put(new File(FileList.get(position).toString()).getName(), mTo.getText().toString());
                    holder.edittext.setText(mTo.getText().toString());
                    dialog.cancel();
                   
                   }


               });
               alert.setNegativeButton("Cancel",
                new DialogInterface.OnClickListener() {
                           public void onClick(DialogInterface dialog, int whichButton) {
                           dialog.cancel();
                   }
                   });
               alert.show();

    }


    });
      Bitmap bm = null;
                BitmapFactory.Options bfOptions=new BitmapFactory.Options();
                bfOptions.inDither=false;                     //Disable Dithering mode
                bfOptions.inPurgeable=true;                   //Tell to gc that whether it needs free memory, the Bitmap can be cleared
                bfOptions.inInputShareable=true;              //Which kind of reference will be used to recover the Bitmap data after being clear, when it will be used in the future
                bfOptions.inTempStorage=new byte[16 * 1024];                
                FileInputStream fs1=null;            
                try {
        fs1 = new FileInputStream(new File(FileList.get(position).toString()));
        } catch (FileNotFoundException e) {        
        e.printStackTrace();
        }        
        try {
               if(fs1!=null) 
                bm=BitmapFactory.decodeFileDescriptor(fs1.getFD(), null, bfOptions);
               holder.imageview.setImageBitmap(bm);
               holder.imageview.setScaleType(ImageView.ScaleType.FIT_XY);
holder.imageview.setBackgroundResource(mGalleryItemBackground);
if(lableList.containsKey(new File(FileList.get(position).toString()).getName()))              
                holder.edittext.setText(lableList.get(new File(FileList.get(position).toString()).getName()));
        } catch (IOException e) {                
               e.printStackTrace();
           } finally{ 
               if(fs!=null) {
                   try {
                       fs.close();
                   } catch (IOException e) { e.printStackTrace(); }
               }
           }    
        convertView.setTag(holder);        
    } else {
    holder = (ViewHolder) convertView.getTag();
    }
            return convertView;  
        }
   
    } 
    
    public TypedArray obtainStyledAttributes(int theme) {    
    return null;  
    }
    private List<String> ReadSDCard(){  
    List<String> tFileList = new ArrayList<String>();      
    File f = new File("/sdcard/Raju/");
   
    Log.i("f",""+f);
    if (f.exists()) {
    File[] files=f.listFiles();
    Log.i("files",""+files);
    for(int i=0; i<files.length; i++){  
    File file = files[i];    
    tFileList.add(file.getPath());  
    }    
    return tFileList;  
   
    return null;
    }
    class ViewHolder 
{
   ImageView imageview;
        EditText edittext;        
        int id;
}
}

2.ShowAllLebels.java
=======================

package com.rajuandroid;
import java.io.File;
import java.io.Serializable;
import java.util.HashMap;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Bundle;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TableLayout;
import android.widget.TextView;
public class ShowAllLebels extends Activity {
HashMap<String, String> lableList;
String lable;
TextView txtView;
TableLayout tableLayout1;
RelativeLayout.LayoutParams lay1 = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
@SuppressWarnings("unchecked")
@Override
 public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       Serializable   extras = getIntent().getSerializableExtra("allLebelHashTable");//used to retrive Hashtable object
       if(extras != null){        
        lableList=(HashMap<String, String>) extras;  //here typecasted to HashMap object    
       }
       setContentView(R.layout.show_details);
       tableLayout1 = (TableLayout)findViewById(R.id.tableId1);
    File f = new File("/sdcard/Raju/");
if (f.exists()){
File[] files=f.listFiles();
System.out.println("no of files===="+files.length);
for(int i=0; i<files.length; i++){
File file = files[i];
lable = "";
lable = lableList.get(file.getName());
if(null==lable||"".equalsIgnoreCase(lable)){
lable="NA";
}
txtView = new TextView(ShowAllLebels.this);        
        txtView.setTextColor(Color.YELLOW);
        txtView.setTextSize(15);
        txtView.setTypeface(Typeface.DEFAULT_BOLD);
        txtView.setPadding(5, 5, 5, 5);
        txtView.setText("Name & Lebel:");
        lay1.setMargins(5, 5, 5, 5);
               lay1.addRule(RelativeLayout.RIGHT_OF, txtView.getId());
               tableLayout1.addView(txtView, lay1);
               
               txtView = new TextView(ShowAllLebels.this);        
        txtView.setTextColor(Color.WHITE);
        txtView.setTextSize(15);
        txtView.setTypeface(Typeface.DEFAULT_BOLD);
        txtView.setPadding(40, 5, 40, 0);
        txtView.setText("/sdcard/Raju/"+file.getName());        
        lay1.setMargins(5, 5, 5, 5);
               lay1.addRule(RelativeLayout.BELOW, txtView.getId());
               tableLayout1.addView(txtView, lay1);
               
               txtView = new TextView(ShowAllLebels.this);        
        txtView.setTextColor(Color.RED);
        txtView.setTextSize(15);
        txtView.setTypeface(Typeface.DEFAULT_BOLD);
        txtView.setPadding(40, 5, 40, 0);
        txtView.setText(lable);       
        lay1.setMargins(5, 5, 5, 5);
               lay1.addRule(RelativeLayout.BELOW, txtView.getId());
               tableLayout1.addView(txtView, lay1);
        
          
}
}
txtView = new TextView(ShowAllLebels.this);
        txtView.setPadding(40, 5, 40, 0);        
      lay1.setMargins(5,5,5,10);
             lay1.addRule(RelativeLayout.BELOW, txtView.getId());
             tableLayout1.addView(txtView, lay1);                        
             
}
}

3.layout/main.xml
=============================

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:weightSum="1" android:background="#000000" android:orientation="vertical"   android:layout_height="fill_parent">
    
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
    android:layout_height="70dp"
    android:id="@+id/layoutTop"  
    android:background="#336699"
    >
   
    <ImageView 
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="40dp" 
android:src="@+drawable/logo"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="7dp"
      />
 
    </RelativeLayout>
   

  <ScrollView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:fillViewport="true"
  android:layout_below="@+id/layoutTop"
  >
     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
    android:id="@+id/layoutMiddle"    
    android:layout_below="@+id/layoutTop">

    
        <Gallery android:id="@+id/galleryview"
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"       
        /> 
 
<Button
android:id="@+id/camera"  
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/galleryview"
android:layout_margin="10dp"
android:text="  Add  Photo   "
android:layout_centerHorizontal="true"
  
/> 
<Button
android:id="@+id/next"  
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/camera"
android:layout_margin="10dp"
android:text="Show All Lebel"
android:layout_centerHorizontal="true"
  
/>  
     <TextView
        android:layout_width="fill_parent"
        android:layout_height="20dp"
        android:id="@+id/text_view1"
        android:textSize="17sp" 
        android:text=""
        android:layout_margin="20dp"
        android:layout_below="@+id/next"/> 
        
       
       
 </RelativeLayout>  
 </ScrollView>
 
 <RelativeLayout android:id="@+id/footer"
                  android:layout_width="fill_parent"                  
                  android:layout_height="50dp"       
     android:background="#336699"                  
                  android:layout_alignParentBottom="true">
<TextView
android:id="@+id/footer_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:paddingTop="15dp"
android:textSize="10sp"
android:textColor="#ffffff"
android:text="© 2012 RajuAndroidBlog,All rights reserved"
android:textStyle="normal"
/>
          </RelativeLayout>


</RelativeLayout>


4.layout/mail_main.xml
====================================

<?xml version="1.0" encoding="utf-8"?>


<RelativeLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_marginLeft="3dip"
android:layout_marginRight="3dip">

<EditText android:layout_width="fill_parent"
android:layout_height="wrap_content" 
android:id="@+id/to"
android:layout_marginTop="3dip"
android:layout_marginLeft="3dip"
android:layout_marginRight="3dip"
android:singleLine="true"

></EditText>

</RelativeLayout>


5.layout/mygrid.xml
====================================



<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="vertical">
 <ImageView
  android:id="@+id/imagepart"
  android:layout_width="150dp"
  android:layout_height="150dp"
  />
 <EditText
  android:id="@+id/textpart"
  android:layout_width="150dp"
  android:layout_height="40dp"
  android:layout_marginTop="5dp"
  android:cursorVisible="false"
   android:layout_below="@+id/imagepart"/>
</RelativeLayout>


6.layout/myimage.xml
======================

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:background="#000000"
                android:id="@+id/mainlayout">
                <ImageView 
                android:id="@+id/ImageView01" 
                android:layout_width="390dp"              
                android:layout_height="420dp"
                android:scaleType="fitXY"  />
               
               <Button        
                android:text="Delete" 
                android:id="@+id/Button02" 
                android:layout_width="70dp" 
                android:layout_height="40dp"           
                android:layout_alignParentRight="true" 
                />
               <Button android:layout_width="70dp"
                android:id="@+id/Button01" 
                android:layout_height="40dp"
                android:text="Close" 
                android:layout_alignParentTop="true" 
                android:layout_alignParentLeft="true"></Button>
</RelativeLayout>



7.layout/show_details.xml
======================


<?xml version="1.0" encoding="utf-8"?>

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:weightSum="1" android:background="#000000" android:orientation="vertical" android:layout_height="fill_parent">
    
<!--  Header  Starts-->


          <RelativeLayout
              android:id="@+id/header"
              android:layout_width="fill_parent"
              android:layout_height="70dp"
              android:background="#336699"
              android:paddingBottom="5dip"
              android:paddingTop="5dip" >

              <ImageView
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                  android:layout_centerHorizontal="true"
                  android:layout_marginRight="1dp"
                  android:layout_marginTop="7dp"
                  android:src="@drawable/logo" />
             
          </RelativeLayout>

          <!--  Header Ends -->
          <ScrollView
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:fillViewport="true"
 android:id="@+id/layoutMiddle"    
  android:layout_below="@+id/header"
  android:layout_marginTop="10dp"
  android:layout_marginBottom="20dp"
 >
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layout2"
    android:layout_below="@+id/layout1"
    android:background="#000000"
    android:layout_marginLeft="2dp"
    android:layout_weight="1"
   
    <TextView 
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Name and Lebel of all Photoes"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:textSize="16sp"
android:textColor="#FFFF00"
android:textStyle="bold"
/>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/title"
    android:stretchColumns="1"    
    android:id="@+id/tableId1">
    <TableRow android:id="@+id/rowId1" 
    android:layout_marginLeft="20dp">
        </TableRow>
        </TableLayout>
 
    </RelativeLayout> 
   
     
   </LinearLayout>
</ScrollView>

<RelativeLayout android:id="@+id/footer"
                  android:layout_width="fill_parent"                  
                  android:layout_height="50dp"       
     android:background="#336699"                  
                  android:layout_alignParentBottom="true">
       <TextView
android:id="@+id/footer_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:paddingTop="15dp"
android:textSize="10sp"
android:textColor="#ffffff"
android:text="© 2012 RajuAndroidBlog,All rights reserved"
android:textStyle="normal"
/>
</RelativeLayout>
</RelativeLayout>

8.values/attributes.xml
==================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="Gallery1">
<attr name="android:galleryItemBackground"/>
</declare-styleable>
</resources>

9.In manifest add following lines
=================================
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />      
<uses-permission android:name="android.permission.CAMERA"/>














3 comments:

  1. Thnxx a lot sir... Let me ask you one question.. I have one activity in which there is only one button " Create Account" and a list. When i tap on Create Acount button , a new Page is open with GUI form . there is a lot of components like Click photo, name, radio groups.. and so on.. after filling all details, when i Hit submit, a ImageView with His/Her name should be display above on that activity Create Account..Please help me

    ReplyDelete
  2. Hi.., excellent websites you possess at this time there.|
    Dell Boomi Atom Sphere Online Course

    ReplyDelete
  3. Thanks for the great informative article....
    Boomi Training

    ReplyDelete