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) {
}
}