f30f9 using database in android
1
==============================activity_catalog.xml================================
==============================activity_editor.xml================================
===========================AndroidManifest.xml=================================
============================menucatalog.xml========================================
package com.example.android.pets;
import
import
import
import
import
import
android.content.Intent;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.view.Menu;
android.view.View;
android.widget.ImageButton;
public class CatalogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalog);
ImageButton IBkaki = (ImageButton) findViewById(R.id.IBkaki);
3
IBkaki.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(CatalogActivity.this,
EditorActivity.class);
startActivity(intent);
}
});
}
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_catalog, menu);
return true;
}
}
========================CatalogActivity.java========================================
0070ackage com.example.android.pets;
import
import
import
import
import
import
import
android.content.Intent;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.widget.ImageButton;
public class CatalogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalog);
ImageButton IBkaki = (ImageButton) findViewById(R.id.IBkaki);
IBkaki.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(CatalogActivity.this,
EditorActivity.class);
startActivity(intent);
}
});
}
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_catalog, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.InsertDummyData:
return true;
case R.id.DelleteAllPets:
return true;
}
return super.onOptionsItemSelected(item);
}
}
===========================string.xml======================================
Pets
Unknown
Male
Female
4
========================menu_catalog.xml===================================
==========================menu_editor.xml==================================
=================================EditorActivity.java=========================
package com.example.android.pets;
import
import
import
import
import
import
import
import
import
import
import
android.support.v4.app.NavUtils;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.text.TextUtils;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.EditText;
android.widget.Spinner;
public class EditorActivity extends AppCompatActivity {
private EditText editName;
private EditText editBreed;
private Spinner spinnerGender;
private EditText editWeight;
private int nGender = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editor);
editName = (EditText) findViewById(R.id.editName);
editBreed = (EditText) findViewById(R.id.editBreed);
editWeight = (EditText) findViewById(R.id.editWeight);
spinnerGender = (Spinner) findViewById(R.id.spinnerGender);
setupSpinner();
}
private void setupSpinner() {
ArrayAdapter genderSpinnerAdapter = ArrayAdapter.createFromResource(this,
R.array.array_gender_option, android.R.layout.simple_spinner_item);
genderSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1li
ne);
spinnerGender.setAdapter(genderSpinnerAdapter);
spinnerGender.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
5
public void onItemSelected(AdapterView adapterView, View view, int i,
long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = 1;
} else if (selection.equals("Female")) {
nGender = 2;
} else {
nGender = 0;
}
}
}
@Override
public void onNothingSelected(AdapterView adapterView) {
nGender = 0;
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_editor, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_save:
return true;
case R.id.action_delete:
return true;
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
6
=====================PetContract.java==================================
package com.example.android.pets.data;
import android.provider.BaseColumns;
/**
* Created by Dince on 12/10/2017.
*/
public final class PetContract {
private PetContract() {}
public static final class PetEntry implements BaseColumns{
public final static String TABLE_NAME = "pets";
public
public
public
public
public
final
final
final
final
final
static
static
static
static
static
String
String
String
String
String
_ID =BaseColumns._ID;
COLUMN_PET_NAME ="name";
COLUMN_PET_BREED ="breed";
COLUMN_PET_GENDER ="gender";
COLUMN_PET_WEIGHT ="weight";
public static final int GENDER_UNKNOWN = 0;
public static final int GENDER_MALE = 1;
public static final int GENDER_FEMALE = 2;
}
}
================edit potongan kode di EditorActivity.java==================
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = PetContract.PetEntry.GENDER_MALE;
} else if (selection.equals("Female")) {
nGender = PetContract.PetEntry.GENDER_FEMALE;
} else {
nGender = PetContract.PetEntry.GENDER_UNKNOWN;
}
}
}
selanjutnya===============================
terjadi redudansi, maka hilangkan Pet.Contract menjadi:
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = PetEntry.GENDER_MALE;
} else if (selection.equals("Female")) {
nGender = PetEntry.GENDER_FEMALE;
} else {
nGender = PetEntry.GENDER_UNKNOWN;
}
}
}
bagian import juga di edit:
import com.example.android.pets.data.PetContract.PetEntry;
===================PetDbHelper.java========================================
package com.example.android.pets.data;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Dince on 12/12/2017.
*/
7
public class PetDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "shelter.db";
private static final int DATABASE_VERSION = 1;
public PetDbHelper(Context context, String name, SQLiteDatabase.CursorFactory
factory, int version) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String SQL_CREATE_PETS_TABLE = "CREATE TABLE" +
PetContract.PetEntry.TABLE_NAME + "("
+ PetContract.PetEntry._ID + "INTEGER PRIMARY KEY AUTOINCREMENT, "
+ PetContract.PetEntry.COLUMN_PET_NAME + "TEXT NOT NULL, "
+ PetContract.PetEntry.COLUMN_PET_BREED + "TEXT, "
+ PetContract.PetEntry.COLUMN_PET_GENDER + "INTEGER NOT NULL, "
+ PetContract.PetEntry.COLUMN_PET_WEIGHT + "INTEGER NOT NULL DEFAULT
0);";
sqLiteDatabase.execSQL(SQL_CREATE_PETS_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}
==============================activity_catalog.xml================================
==============================activity_editor.xml================================
===========================AndroidManifest.xml=================================
============================menucatalog.xml========================================
package com.example.android.pets;
import
import
import
import
import
import
android.content.Intent;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.view.Menu;
android.view.View;
android.widget.ImageButton;
public class CatalogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalog);
ImageButton IBkaki = (ImageButton) findViewById(R.id.IBkaki);
3
IBkaki.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(CatalogActivity.this,
EditorActivity.class);
startActivity(intent);
}
});
}
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_catalog, menu);
return true;
}
}
========================CatalogActivity.java========================================
0070ackage com.example.android.pets;
import
import
import
import
import
import
import
android.content.Intent;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.widget.ImageButton;
public class CatalogActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_catalog);
ImageButton IBkaki = (ImageButton) findViewById(R.id.IBkaki);
IBkaki.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(CatalogActivity.this,
EditorActivity.class);
startActivity(intent);
}
});
}
public boolean onCreateOptionMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_catalog, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.InsertDummyData:
return true;
case R.id.DelleteAllPets:
return true;
}
return super.onOptionsItemSelected(item);
}
}
===========================string.xml======================================
Pets
Unknown
Male
Female
4
========================menu_catalog.xml===================================
==========================menu_editor.xml==================================
=================================EditorActivity.java=========================
package com.example.android.pets;
import
import
import
import
import
import
import
import
import
import
import
android.support.v4.app.NavUtils;
android.support.v7.app.AppCompatActivity;
android.os.Bundle;
android.text.TextUtils;
android.view.Menu;
android.view.MenuItem;
android.view.View;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.EditText;
android.widget.Spinner;
public class EditorActivity extends AppCompatActivity {
private EditText editName;
private EditText editBreed;
private Spinner spinnerGender;
private EditText editWeight;
private int nGender = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editor);
editName = (EditText) findViewById(R.id.editName);
editBreed = (EditText) findViewById(R.id.editBreed);
editWeight = (EditText) findViewById(R.id.editWeight);
spinnerGender = (Spinner) findViewById(R.id.spinnerGender);
setupSpinner();
}
private void setupSpinner() {
ArrayAdapter genderSpinnerAdapter = ArrayAdapter.createFromResource(this,
R.array.array_gender_option, android.R.layout.simple_spinner_item);
genderSpinnerAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1li
ne);
spinnerGender.setAdapter(genderSpinnerAdapter);
spinnerGender.setOnItemSelectedListener(new
AdapterView.OnItemSelectedListener() {
@Override
5
public void onItemSelected(AdapterView adapterView, View view, int i,
long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = 1;
} else if (selection.equals("Female")) {
nGender = 2;
} else {
nGender = 0;
}
}
}
@Override
public void onNothingSelected(AdapterView adapterView) {
nGender = 0;
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_editor, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_save:
return true;
case R.id.action_delete:
return true;
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
}
6
=====================PetContract.java==================================
package com.example.android.pets.data;
import android.provider.BaseColumns;
/**
* Created by Dince on 12/10/2017.
*/
public final class PetContract {
private PetContract() {}
public static final class PetEntry implements BaseColumns{
public final static String TABLE_NAME = "pets";
public
public
public
public
public
final
final
final
final
final
static
static
static
static
static
String
String
String
String
String
_ID =BaseColumns._ID;
COLUMN_PET_NAME ="name";
COLUMN_PET_BREED ="breed";
COLUMN_PET_GENDER ="gender";
COLUMN_PET_WEIGHT ="weight";
public static final int GENDER_UNKNOWN = 0;
public static final int GENDER_MALE = 1;
public static final int GENDER_FEMALE = 2;
}
}
================edit potongan kode di EditorActivity.java==================
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = PetContract.PetEntry.GENDER_MALE;
} else if (selection.equals("Female")) {
nGender = PetContract.PetEntry.GENDER_FEMALE;
} else {
nGender = PetContract.PetEntry.GENDER_UNKNOWN;
}
}
}
selanjutnya===============================
terjadi redudansi, maka hilangkan Pet.Contract menjadi:
public void onItemSelected(AdapterView adapterView, View view, int i, long l) {
String selection = (String) adapterView.getItemAtPosition(i);
if (!TextUtils.isEmpty(selection)){
if (selection.equals("Male")) {
nGender = PetEntry.GENDER_MALE;
} else if (selection.equals("Female")) {
nGender = PetEntry.GENDER_FEMALE;
} else {
nGender = PetEntry.GENDER_UNKNOWN;
}
}
}
bagian import juga di edit:
import com.example.android.pets.data.PetContract.PetEntry;
===================PetDbHelper.java========================================
package com.example.android.pets.data;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
/**
* Created by Dince on 12/12/2017.
*/
7
public class PetDbHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "shelter.db";
private static final int DATABASE_VERSION = 1;
public PetDbHelper(Context context, String name, SQLiteDatabase.CursorFactory
factory, int version) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String SQL_CREATE_PETS_TABLE = "CREATE TABLE" +
PetContract.PetEntry.TABLE_NAME + "("
+ PetContract.PetEntry._ID + "INTEGER PRIMARY KEY AUTOINCREMENT, "
+ PetContract.PetEntry.COLUMN_PET_NAME + "TEXT NOT NULL, "
+ PetContract.PetEntry.COLUMN_PET_BREED + "TEXT, "
+ PetContract.PetEntry.COLUMN_PET_GENDER + "INTEGER NOT NULL, "
+ PetContract.PetEntry.COLUMN_PET_WEIGHT + "INTEGER NOT NULL DEFAULT
0);";
sqLiteDatabase.execSQL(SQL_CREATE_PETS_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
}