Changes

Jump to: navigation, search

Teams Winter 2011/team1/Android/Add Contact

5,195 bytes added, 11:17, 28 March 2011
no edit summary
# [[Teams_Winter_2011== 7. Add Contact ===== 7.1. Create 'add' layout ===7.1.1. Right click on ''layout -> New -> Android XML File'' .<br/team1>7.1.2. Enter ''add.xml'' for the file name and check ''Layout'':<br/Android>7.1.3. Using ''Linear Layout'', create this layout for adding contact information:<br/Add_Contact_Activity >[[Image: add_layout.png | Add Contact_Activity 200px]]<br/># [[Teams_Winter_20117.1.4. This is the xml implementation:<source lang="java"><?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/team1titleTextView" android:gravity="center_vertical" android:textSize="30dp" android:layout_gravity="center" android:text="@string/AndroidaddContact_textView"></Implement_Add_Contact | Implement Add Contact ]]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></source> === 7.2. Create Add Contact_ActivityContact Activity ===This class will be responsible for taking care of adding new contact to the contact list.<br/>7.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> 7.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> 7.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> 7.2.3. The activity will be finished by calling ''finish()'' function from which the ''super'' will be called. In finish(), a new ''Intent'' 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> === 7.3. Add Contact Activity to the Android Manifest ===7.3.1. Just add this line to the list of activities in ''AndroidManifest.xml''<source lang="java"> <activity android:label="Add Contact" android:name="AddContactActivity"></activity></source> === 7.4. Implement Add Contactin the main activity class ===7.4.1. First step is to create an instance of ''Intent'' to pass the current object to the activity and then start the activity for the ''Add Contact'' when it's selected from the menu items.<source lang="java"> case R.id.item1: Intent i = new Intent(this, AddContactActivity.class); startActivityForResult(i, CREATE_CONTACT); // to process the result that is returned from the AddContactActivity break;</source> 7.4.2. In ''startActivityForResult()'', two things need to be checked first, ''resultCode'' and the name of the activity, if these two were fine, the new student with the added values will be added to the list of students, otherwise there will be an alert message displayed to the user.<source lang="java"> @Override protected void onActivityResult(int requestCode, int resultCode, Intent intent) { if (resultCode == Activity.RESULT_OK && requestCode == CREATE_CONTACT) { studentList.addElement(new Student(intent.getExtras().getString("firstName"), intent.getExtras().getString("lastName"), intent.getExtras().getString("email"))); } else { showDialog("No contact was added!"); } displayData(studentList); }</source>  == 7.5. Add Contact in Action ==7.5.1. Select the 'Add Contact' in the menu<br/>[[Image: menu.png | 200px]]<br/><br/>[[Image: add_1.png | 200px]]<br/> 7.5.2. Enter information of the new contact<br/>[[Image: add_2.png | 200px]]<br/> 7.5.3. The new contact will be appeared in the list of contacts.<br/>[[Image: added.png | 200px]]<br/>
1
edit

Navigation menu