Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
9 views

Java Assignment

This document contains code for an Android mobile application that uses SQLite database to manage contact entries. It includes Java classes for Contact, DatabaseHandler, and MainActivity. The DatabaseHandler class contains methods to add, get, update, delete and retrieve all contacts from the SQLite database table. The MainActivity class demonstrates adding sample contacts to the database and retrieving them.

Uploaded by

1122.awaissaleem
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Java Assignment

This document contains code for an Android mobile application that uses SQLite database to manage contact entries. It includes Java classes for Contact, DatabaseHandler, and MainActivity. The DatabaseHandler class contains methods to add, get, update, delete and retrieve all contacts from the SQLite database table. The MainActivity class demonstrates adding sample contacts to the database and retrieving them.

Uploaded by

1122.awaissaleem
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 18

Name:

M-Faizan

Roll No:
BSSE-E2-20-06

Class:
BS (SE) Evening
(E2)

Subject:
Mobile Application
Development

Submitted to:

Mouhammad Yousaf
Submitted by:
M-Faizan
University OF Sahiwal

File: Contact.java
package example.javatpoint.com.sqlitetutorial;

1.
2. public class Contact {
3. int _id;
4. String _name;
5. String _phone_number;
6. public Contact(){ }
7. public Contact(int id, String name, String _phone_number){
8. this._id = id;
9. this._name = name;
10. this._phone_number = _phone_number;
11. }
12.
13. public Contact(String name, String _phone_number){
14. this._name = name;
15. this._phone_number = _phone_number;
16. }
17. public int getID(){
18. return this._id;
19. }
20.
21. public void setID(int id){
22. this._id = id;
23. }
24.
25. public String getName(){
26. return this._name;
27. }
28.
29. public void setName(String name){
30. this._name = name;
31. }
32.
33. public String getPhoneNumber(){
34. return this._phone_number;
35. }
36.
37. public void setPhoneNumber(String phone_number){
38. this._phone_number = phone_number;
39. }
40. }

File: DatabaseHandler.java

1.package example.javatpoint.com.sqlitetutorial;
2.
3.import android.content.ContentValues;
4.import android.content.Context;
5.import android.database.Cursor;
6.import android.database.sqlite.SQLiteDatabase;
7.import android.database.sqlite.SQLiteOpenHelper;
8.import java.util.ArrayList;
9.import java.util.List;
10.
11.
12.public class DatabaseHandler extends SQLiteOpenHelper {
13. private static final int DATABASE_VERSION = 1;
14. private static final String DATABASE_NAME = "contactsManager";
15. private static final String TABLE_CONTACTS = "contacts";
16. private static final String KEY_ID = "id";
17. private static final String KEY_NAME = "name";
18. private static final String KEY_PH_NO = "phone_number";
19.
20. public DatabaseHandler(Context context) {
21. super(context, DATABASE_NAME, null, DATABASE_VERSION);
22. //3rd argument to be passed is CursorFactory instance
23. }
24.
25. // Creating Tables
26. @Override
27. public void onCreate(SQLiteDatabase db) {
28. String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS
+ "("
29. + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
30. + KEY_PH_NO + " TEXT" + ")";
31. db.execSQL(CREATE_CONTACTS_TABLE);
32. }
33.
34. // Upgrading database
35. @Override
36. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
37. // Drop older table if existed
38. db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
39.
40. // Create tables again
41. onCreate(db);
42. }
43.
44. // code to add the new contact
45. void addContact(Contact contact) {
46. SQLiteDatabase db = this.getWritableDatabase();
47.
48. ContentValues values = new ContentValues();
49. values.put(KEY_NAME, contact.getName()); // Contact Name
50. values.put(KEY_PH_NO, contact.getPhoneNumber()); // Contact Phone
51.
52. // Inserting Row
53. db.insert(TABLE_CONTACTS, null, values);
54. //2nd argument is String containing nullColumnHack
55. db.close(); // Closing database connection
56. }
57.
58. // code to get the single contact
59. Contact getContact(int id) {
60. SQLiteDatabase db = this.getReadableDatabase();
61.
62. Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,
63. KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
64. new String[] { String.valueOf(id) }, null, null, null, null);
65. if (cursor != null)
66. cursor.moveToFirst();
67.
68. Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),
69. cursor.getString(1), cursor.getString(2));
70. // return contact
71. return contact;
72. }
73.
74. // code to get all contacts in a list view
75. public List<Contact> getAllContacts() {
76. List<Contact> contactList = new ArrayList<Contact>();
77. // Select All Query
78. String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
79.
80. SQLiteDatabase db = this.getWritableDatabase();
81. Cursor cursor = db.rawQuery(selectQuery, null);
82.
83. // looping through all rows and adding to list
84. if (cursor.moveToFirst()) {
85. do {
86. Contact contact = new Contact();
87. contact.setID(Integer.parseInt(cursor.getString(0)));
88. contact.setName(cursor.getString(1));
89. contact.setPhoneNumber(cursor.getString(2));
90. // Adding contact to list
91. contactList.add(contact);
92. } while (cursor.moveToNext());
93. }
94.
95. // return contact list
96. return contactList;
97. }
98.
99. // code to update the single contact
100. public int updateContact(Contact contact) {
101. SQLiteDatabase db = this.getWritableDatabase();
102.
103. ContentValues values = new ContentValues();
104. values.put(KEY_NAME, contact.getName());
105. values.put(KEY_PH_NO, contact.getPhoneNumber());
106.
107. // updating row
108. return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",
109. new String[] { String.valueOf(contact.getID()) });
110. }
111.
112. // Deleting single contact
113. public void deleteContact(Contact contact) {
114. SQLiteDatabase db = this.getWritableDatabase();
115. db.delete(TABLE_CONTACTS, KEY_ID + " = ?",
116. new String[] { String.valueOf(contact.getID()) });
117. db.close();
118. }
119.
120. // Getting contacts Count
121. public int getContactsCount() {
122. String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
123. SQLiteDatabase db = this.getReadableDatabase();
124. Cursor cursor = db.rawQuery(countQuery, null);
125. cursor.close();
126.
127. // return count
128. return cursor.getCount();
129. }
130.
131.}

File: MainActivity.java

package example.javatpoint.com.sqlitetutorial;

1.
2.import android.support.v7.app.AppCompatActivity;
3.import android.os.Bundle;
4.import android.util.Log;
5.import java.util.List;
6.
7.public class MainActivity extends AppCompatActivity {
8.
9. @Override
10. protected void onCreate(Bundle savedInstanceState) {
11. super.onCreate(savedInstanceState);
12. setContentView(R.layout.activity_main);
13. DatabaseHandler db = new DatabaseHandler(this);
14.
15. // Inserting Contacts
16. Log.d("Insert: ", "Inserting ..");
17. db.addContact(new Contact("Ravi", "9100000000"));
18. db.addContact(new Contact("Srinivas", "9199999999"));
19. db.addContact(new Contact("Tommy", "9522222222"));
20. db.addContact(new Contact("Karthik", "9533333333"));
21.
22. // Reading all contacts
23. Log.d("Reading: ", "Reading all contacts..");
24. List<Contact> contacts = db.getAllContacts();
25.
26. for (Contact cn : contacts) {
27. String log = "Id: " + cn.getID() + " ,Name: " + cn.getName() + " ,Phone: " +
28. cn.getPhoneNumber();
29. // Writing Contacts to log
30. Log.d("Name: ", log);
31. }
32. }
33.}
Example With Spinner

File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>

1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2. xmlns:app="http://schemas.android.com/apk/res-auto"
3. xmlns:tools="http://schemas.android.com/tools"
4. android:layout_width="match_parent"
5. android:layout_height="match_parent"
6. tools:context="example.javatpoint.com.sqlitespinner.MainActivity">
7.
8.
9. <EditText
10. android:id="@+id/input_label"
11. android:layout_width="wrap_content"
12. android:layout_height="wrap_content"
13. android:layout_alignParentTop="true"
14. android:layout_centerHorizontal="true"
15. android:layout_marginTop="46dp"
16. android:hint="Add item"
17. android:ems="10" />
18.
19. <Button
20. android:id="@+id/btn_add"
21. android:layout_width="wrap_content"
22. android:layout_height="wrap_content"
23. android:layout_below="@+id/input_label"
24. android:layout_centerHorizontal="true"
25. android:layout_marginTop="67dp"
26. android:text="Add item" />
27.
28. <Spinner
29. android:id="@+id/spinner"
30. android:layout_width="match_parent"
31. android:layout_height="wrap_content"
32. android:layout_alignParentLeft="true"
33. android:layout_alignParentStart="true"
34. android:layout_below="@+id/btn_add"
35. android:layout_marginTop="70dp" />
36. </RelativeLayout>

File: MainActivity.java

package example.javatpoint.com.sqlitespinner;

1.
2.import android.content.Context;
3.import android.support.v7.app.AppCompatActivity;
4.import android.os.Bundle;
5.import android.view.View;
6.import android.view.inputmethod.InputMethodManager;
7.import android.widget.AdapterView;
8.import android.widget.ArrayAdapter;
9.import android.widget.Button;
10.import android.widget.EditText;
11.import android.widget.Spinner;
12.import android.widget.Toast;
13.import java.util.List;
14.
15.public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSel
ectedListener {
16. Spinner spinner;
17. Button btnAdd;
18. EditText inputLabel;
19. @Override
20. protected void onCreate(Bundle savedInstanceState) {
21. super.onCreate(savedInstanceState);
22. setContentView(R.layout.activity_main);
23. spinner = findViewById(R.id.spinner);
24. btnAdd = findViewById(R.id.btn_add);
25. inputLabel = findViewById(R.id.input_label);
26.
27. spinner.setOnItemSelectedListener(this);
28.
29. // Loading spinner data from database
30. loadSpinnerData();
31.
32. btnAdd.setOnClickListener(new View.OnClickListener() {
33.
34. @Override
35. public void onClick(View arg0) {
36. String label = inputLabel.getText().toString();
37.
38. if (label.trim().length() > 0) {
39. DatabaseHandler db = new DatabaseHandler(getApplicationContext());
40. db.insertLabel(label);
41.
42. // making input filed text to blank
43. inputLabel.setText("");
44.
45. // Hiding the keyboard
46. InputMethodManager imm = (InputMethodManager)
47. getSystemService(Context.INPUT_METHOD_SERVICE);
48. imm.hideSoftInputFromWindow(inputLabel.getWindowToken(), 0);
49. // loading spinner with newly added data
50. loadSpinnerData();
51. } else {
52. Toast.makeText(getApplicationContext(), "Please enter label name",
53. Toast.LENGTH_SHORT).show();
54. }
55.
56. }
57. });
58. }
59.
60. /**
61. * Function to load the spinner data from SQLite database
62. * */
63. private void loadSpinnerData() {
64. DatabaseHandler db = new DatabaseHandler(getApplicationContext());
65. List<String> labels = db.getAllLabels();
66.
67. // Creating adapter for spinner
68. ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.
simple_spinner_item, labels);
69.
70. // Drop down layout style - list view with radio button
71. dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_it
em);
72.
73. // attaching data adapter to spinner
74. spinner.setAdapter(dataAdapter);
75. }
76.
77. @Override
78. public void onItemSelected(AdapterView<?> parent, View view, int position,
79. long id) {
80. // On selecting a spinner item
81. String label = parent.getItemAtPosition(position).toString();
82.
83. // Showing selected spinner item
84. Toast.makeText(parent.getContext(), "You selected: " + label,
85. Toast.LENGTH_LONG).show();
86.
87. }
88.
89. @Override
90. public void onNothingSelected(AdapterView<?> arg0) {
91. // TODO Auto-generated method stub
92.
93. }
94.}

File: DatabaseHandler.java

package example.javatpoint.com.sqlitespinner;

1.
2. import android.content.ContentValues;
3. import android.content.Context;
4. import android.database.Cursor;
5. import android.database.sqlite.SQLiteDatabase;
6. import android.database.sqlite.SQLiteOpenHelper;
7. import java.util.ArrayList;
8. import java.util.List;
9.
10. public class DatabaseHandler extends SQLiteOpenHelper {
11. private static final int DATABASE_VERSION = 1;
12. private static final String DATABASE_NAME = "spinnerExample";
13. private static final String TABLE_NAME = "labels";
14. private static final String COLUMN_ID = "id";
15. private static final String COLUMN_NAME = "name";
16.
17. public DatabaseHandler(Context context) {
18. super(context, DATABASE_NAME, null, DATABASE_VERSION);
19. }
20.
21. // Creating Tables
22. @Override
23. public void onCreate(SQLiteDatabase db) {
24. // Category table create query
25. String CREATE_ITEM_TABLE = "CREATE TABLE " + TABLE_NAME + "("
26. + COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_NAME + " T
EXT)";
27. db.execSQL(CREATE_ITEM_TABLE);
28. }
29.
30. // Upgrading database
31. @Override
32. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
33. // Drop older table if existed
34. db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
35.
36. // Create tables again
37. onCreate(db);
38. }
39.
40. /**
41. * Inserting new lable into lables table
42. * */
43. public void insertLabel(String label){
44. SQLiteDatabase db = this.getWritableDatabase();
45.
46. ContentValues values = new ContentValues();
47. values.put(COLUMN_NAME, label);//column name, column value
48.
49. // Inserting Row
50. db.insert(TABLE_NAME, null, values);//tableName, nullColumnHack, CotentValue
s
51. db.close(); // Closing database connection
52. }
53.
54. /**
55. * Getting all labels
56. * returns list of labels
57. * */
58. public List<String> getAllLabels(){
59. List<String> list = new ArrayList<String>();
60.
61. // Select All Query
62. String selectQuery = "SELECT * FROM " + TABLE_NAME;
63.
64. SQLiteDatabase db = this.getReadableDatabase();
65. Cursor cursor = db.rawQuery(selectQuery, null);//selectQuery,selectedArguments
66.
67. // looping through all rows and adding to list
68. if (cursor.moveToFirst()) {
69. do {
70. list.add(cursor.getString(1));//adding 2nd column data
71. } while (cursor.moveToNext());
72. }
73. // closing connection
74. cursor.close();
75. db.close();
76. // returning lables
77. return list;
78. }
79. }

Output:

You might also like