Difference between revisions of "Teams Winter 2011/team1/Android/Add Contact"

From CDOT Wiki
Jump to: navigation, search
(6.1. Create 'add' layout)
(6.2. Create Add Contact Activity)
Line 37: Line 37:
  
 
=== 6.2. Create Add Contact Activity ===
 
=== 6.2. Create Add Contact Activity ===
 +
This class will be responsible for taking care of adding new contact to the contact list.
 +
6.2.1. Create a new class called ''AddContactActivity.java'' in the same package as the main activity file.
 +
<source lang="java">
 +
package cs.ecl.team1.android;
 +
 +
import android.app.Activity;
 +
 +
public class AddContactActivity extends Activity {
 +
</source>
 +
 +
6.2.2. Add some fields to save the added information to 'Add Contact' by user.
 +
<source lang="java">
 +
    private String firstName;
 +
    private String lastName;
 +
    private String email;
 +
</source>
 +
 +
6.2.3. On clicking the ''Save Contact'' button, the info from ''EditText''s will be assigned to the corresponding fields.
 +
<source lang="java">
 +
    firstName = ((EditText) findViewById(R.id.firstName)).getText().toString();
 +
    lastName = ((EditText) findViewById(R.id.lastName)).getText().toString();
 +
    email = ((EditText) findViewById(R.id.email)).getText().toString();
 +
</source>
 +
 +
6.2.3. The activity will be finished by calling ''finish()'' function from which the ''super'' will be called. In finish(), a new ''Inten'' is created to be able to pass data back to the calling activity.
 +
<source lang="java">
 +
    @Override
 +
    public void finish() {
 +
        Intent i = new Intent();
 +
        if (firstName.equals("") && lastName.equals("") && email.equals("")) {
 +
            setResult(0);
 +
        }
 +
        else {
 +
            i.putExtra("firstName", firstName);
 +
            i.putExtra("lastName", lastName);
 +
            i.putExtra("email", email);
 +
            setResult(RESULT_OK, i);
 +
        }
 +
        super.finish();
 +
    }
 +
</source>
 +
 
=== 6.3. Add Contact Activity to the Android Manifest ===
 
=== 6.3. Add Contact Activity to the Android Manifest ===
 
=== 6.4. Implement Add Contact in the main activity class ===
 
=== 6.4. Implement Add Contact in the main activity class ===

Revision as of 17:10, 27 March 2011

  1. Add Contact_Activity
  2. Implement Add Contact

6. Add Contact

6.1. Create 'add' layout

6.1.1. Right click on layout -> New -> Android XML File .
6.1.2. Enter add.xml for the file name and check Layout:
6.1.3. Using Linear Layout, create this layout for adding contact information:
Add layout.png
6.1.4. This is the xml implementation:

<?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:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/titleTextView"
        android:gravity="center_vertical" android:textSize="30dp"
        android:layout_gravity="center" android:text="@string/addContact_textView"></TextView>

    <EditText android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_marginBottom="3dp" android:hint="@string/hint_first_name" android:id="@+id/firstName"></EditText>

    <EditText android:layout_width="match_parent"
        android:layout_height="wrap_content" android:isScrollContainer="true"
        android:layout_marginBottom="3dp" android:hint="@string/hint_last_name" android:id="@+id/lastName"></EditText>

    <EditText android:layout_width="match_parent"
        android:layout_height="wrap_content" android:layout_marginBottom="3dp" android:hint="@string/hint_email" android:id="@+id/email"></EditText>

    <Button android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/saveContact_button"
        android:text="@string/saveButton" android:gravity="center_horizontal"
        android:layout_gravity="center_horizontal" android:textSize="20dp"></Button>
</LinearLayout>

6.2. Create Add Contact Activity

This class will be responsible for taking care of adding new contact to the contact list. 6.2.1. Create a new class called AddContactActivity.java in the same package as the main activity file.

package cs.ecl.team1.android;

import android.app.Activity;

public class AddContactActivity extends Activity {

6.2.2. Add some fields to save the added information to 'Add Contact' by user.

    private String firstName;
    private String lastName;
    private String email;

6.2.3. On clicking the Save Contact button, the info from EditTexts will be assigned to the corresponding fields.

    firstName = ((EditText) findViewById(R.id.firstName)).getText().toString();
    lastName = ((EditText) findViewById(R.id.lastName)).getText().toString();
    email = ((EditText) findViewById(R.id.email)).getText().toString();

6.2.3. The activity will be finished by calling finish() function from which the super will be called. In finish(), a new Inten is created to be able to pass data back to the calling activity.

    @Override
    public void finish() {
        Intent i = new Intent();
        if (firstName.equals("") && lastName.equals("") && email.equals("")) {
            setResult(0);
        }
        else {
            i.putExtra("firstName", firstName);
            i.putExtra("lastName", lastName);
            i.putExtra("email", email);
            setResult(RESULT_OK, i);
        }
        super.finish();
    }

6.3. Add Contact Activity to the Android Manifest

6.4. Implement Add Contact in the main activity class