activity_main.
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="[Link]
xmlns:tools="[Link]
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Name"
android:id="@+id/textView"
/>
<EditText
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:gravity="center"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView2"
android:hint="Your Name" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:id="@+id/textView3"
android:text="Phone Number"
/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="phone"
android:layout_weight="1"
android:gravity="center"
android:ems="10"
android:hint="Your Phone Number"
android:id="@+id/textView4" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_weight="1"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="ID"
android:id="@+id/textView5"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:gravity="center"
android:text="ID"
android:id="@+id/textView6"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add"
android:layout_weight="1"
android:id="@+id/button"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Show"
android:id="@+id/button2"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_margin="5dp">
<Spinner
android:layout_width="332dp"
android:layout_height="wrap_content"
android:id="@+id/spinner"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:orientation="horizontal"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Update"
android:layout_weight="1"
android:id="@+id/button3"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Delete"
android:layout_weight="1"
android:id="@+id/button4"
/>
</LinearLayout>
</LinearLayout>
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity implements [Link]{
EditText eN , eP;
Button bAdd,bShow,bUpdate,bDelete;
Spinner s1;
DatabaseHandler db = new DatabaseHandler(this);
Context myContext;
TextView t1;
@Override
public void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
eN=(EditText) findViewById([Link].textView2);
eP=(EditText) findViewById([Link].textView4);
bAdd=(Button) findViewById([Link]);
bShow=(Button) findViewById([Link].button2);
bUpdate=(Button) findViewById([Link].button3);
bDelete=(Button) findViewById([Link].button4);
s1=(Spinner) findViewById([Link]);
t1=(TextView)findViewById([Link].textView6) ;
[Link](this);
[Link](this);
[Link](this);
[Link](this);
}
@Override
public void onClick(View view) {
final int id_field;
switch ([Link]()) {
case [Link]: {
Log.d("Insert: ", "Inserting ..");
[Link](this, "Contact Added", Toast.LENGTH_SHORT);
[Link](new Contact([Link]().toString(),
[Link]().toString()));
break;
}
case [Link].button2: {
Log.d("Reading: ", "Reading all contacts..");
[Link](this, "Reading all contacts..",
Toast.LENGTH_SHORT);
int size = [Link]();
String[] mylist = new String[size];
int i = 0;
List<Contact> contacts = [Link]();
for (Contact cn : contacts) {
String show1 = [Link]([Link]());
String log = "Id: " + [Link]() + " Name: " + [Link]() +
" Phone: " + [Link]();
// Writing Contacts to log
mylist[i] = log;
i++;
//char s1 = [Link](4);
Log.d("Name: ", log);
// Log.d("Name: ", [Link](s1));
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
[Link].simple_spinner_item, mylist);
[Link]([Link].simple_spinner_dropdown_item);
[Link](adapter);
[Link](new
[Link]() {
public void onItemSelected(AdapterView<?> parent, View view,
int pos, long id) {
myContext = [Link]();
Toast myToast = new Toast(myContext);
// [Link](((TextView)view).getText());
//[Link](myContext,
((TextView)view).getText(),Toast.LENGTH_LONG). show();
//[Link](((TextView)view).getText());
String s1 = ((TextView) view).getText().toString();
String id1 = [Link](4, 5);
Log.d("hello", s1);
Log.d("hello", id1);
Contact c = [Link]([Link](id1));
[Link]([Link]());
[Link]([Link]());
[Link]([Link]([Link]()));
public void onNothingSelected(AdapterView<?> parent) {
}
});
break;
}
case [Link].button3:
//[Link](new Contact([Link]().toString(),
[Link]().toString()));
{
List<Contact> cos = [Link]();
for (Contact cn : cos) {
if ([Link]() == [Link]([Link]().toString())) {
[Link]([Link](), [Link]().toString(),
[Link]().toString());
}
[Link](this, "Contact Updated", Toast.LENGTH_SHORT);
break;
}
case [Link].button4:
List<Contact> cos1 = [Link]();
for (Contact cn : cos1) {
if ([Link]() == [Link]([Link]().toString())) {
[Link]([Link]());
}
[Link](this, "Contact Deleted", Toast.LENGTH_SHORT);
break;
}
}
}
[Link]
package [Link];
/**
* Created by Praveen Sharma on 4/17/2017.
*/
public class Contact {
//private variables
int _id;
String _name;
String _phone_number;
// Empty constructor
public Contact(){
}
// constructor
public Contact(int id, String name, String _phone_number){
this._id = id;
this._name = name;
this._phone_number = _phone_number;
}
// constructor
public Contact(String name, String _phone_number){
this._name = name;
this._phone_number = _phone_number;
}
// getting ID
public int getID(){
return this._id;
}
// setting id
public void setID(int id){
this._id = id;
}
// getting name
public String getName(){
return this._name;
}
// setting name
public void setName(String name){
this._name = name;
}
// getting phone number
public String getPhoneNumber(){
return this._phone_number;
}
// setting phone number
public void setPhoneNumber(String phone_number){
this._phone_number = phone_number;
}
}
[Link]
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
/**
* Created by Praveen Sharma on 4/17/2017.
*/
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
[Link](CREATE_CONTACTS_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
[Link]("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
// Create tables again
onCreate(db);
}
/**
* All CRUD(Create, Read, Update, Delete) Operations
*/
// Adding new contact
void addContact(Contact contact) {
SQLiteDatabase db = [Link]();
ContentValues values = new ContentValues();
[Link](KEY_NAME, [Link]()); // Contact Name
[Link](KEY_PH_NO, [Link]()); // Contact Phone
// Inserting Row
[Link](TABLE_CONTACTS, null, values);
[Link](); // Closing database connection
}
// Getting single contact
Contact getContact(int id) {
SQLiteDatabase db = [Link]();
Cursor cursor = [Link](TABLE_CONTACTS, new String[] { KEY_ID,
KEY_NAME, KEY_PH_NO }, KEY_ID + "=?",
new String[] { [Link](id) }, null, null, null, null);
if (cursor != null)
[Link]();
Contact contact = new Contact([Link]([Link](0)),
[Link](1), [Link](2));
// return contact
return contact;
}
// Getting All Contacts
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = [Link]();
Cursor cursor = [Link](selectQuery, null);
// looping through all rows and adding to list
if ([Link]()) {
do {
Contact contact = new Contact();
[Link]([Link]([Link](0)));
[Link]([Link](1));
[Link]([Link](2));
// Adding contact to list
[Link](contact);
} while ([Link]());
}
// return contact list
return contactList;
}
// Updating single contact
public int updateContact(int i1, String s1 , String s2) {
SQLiteDatabase db = [Link]();
ContentValues values = new ContentValues();
[Link](KEY_NAME, s1);
[Link](KEY_PH_NO, s2);
// updating row
return [Link](TABLE_CONTACTS, values, KEY_ID + " = ?",
new String[] { [Link](i1) });
}
// Deleting single contact
public void deleteContact(int i1) {
SQLiteDatabase db = [Link]();
[Link](TABLE_CONTACTS, KEY_ID + " = ?",
new String[] { [Link](i1) });
[Link]();
}
// Getting contacts Count
public int getContactsCount() {
String countQuery = "SELECT * FROM " + TABLE_CONTACTS;
SQLiteDatabase db = [Link]();
Cursor cursor = [Link](countQuery, null);
//[Link]();
// return count
return [Link]();
}
}