0% found this document useful (0 votes)
33 views7 pages

SQLite Android Notes

This Java code defines classes for handling a SQLite database of labels and populating a spinner widget from the database. The DatabaseHandler class defines methods for creating/upgrading the database table, inserting/retrieving labels from the table. The MainActivity class uses DatabaseHandler to load labels and populate the spinner, and also handles adding new labels on a button click by inserting into the database table.

Uploaded by

Robert Bautista
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views7 pages

SQLite Android Notes

This Java code defines classes for handling a SQLite database of labels and populating a spinner widget from the database. The DatabaseHandler class defines methods for creating/upgrading the database table, inserting/retrieving labels from the table. The MainActivity class uses DatabaseHandler to load labels and populate the spinner, and also handles adding new labels on a button click by inserting into the database table.

Uploaded by

Robert Bautista
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

DatabaseHandler.

java

package com.example.sbase;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

import java.util.List;

public class DatabaseHandler extends SQLiteOpenHelper {

private static final int DATABASE_VERSION = 1;

private static final String DATABASE_NAME = "spinnerExample";

private static final String TABLE_NAME = "labels";

private static final String COLUMN_ID = "id";

private static final String COLUMN_NAME = "name";

public DatabaseHandler(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

// Creating Tables

@Override

public void onCreate(SQLiteDatabase db) {

// Category table create query

String CREATE_ITEM_TABLE = "CREATE TABLE " + TABLE_NAME + "("

+ COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_NAME + " TEXT)";

db.execSQL(CREATE_ITEM_TABLE);
}

// Upgrading database

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

// Drop older table if existed

db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);

// Create tables again

onCreate(db);

/**

* Inserting new lable into lables table

* */

public void insertLabel(String label){

SQLiteDatabase db = this.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(COLUMN_NAME, label);//column name, column value

// Inserting Row

db.insert(TABLE_NAME, null, values);//tableName, nullColumnHack, CotentValues

db.close(); // Closing database connection

/**

* Getting all labels

* returns list of labels


* */

public List<String> getAllLabels(){

List<String> list = new ArrayList<String>();

// Select All Query

String selectQuery = "SELECT * FROM " + TABLE_NAME;

SQLiteDatabase db = this.getReadableDatabase();

Cursor cursor = db.rawQuery(selectQuery, null);//selectQuery,selectedArguments

// looping through all rows and adding to list

if (cursor.moveToFirst()) {

do {

list.add(cursor.getString(1));//adding 2nd column data

} while (cursor.moveToNext());

// closing connection

cursor.close();

db.close();

// returning lables

return list;

}
MainActivity.java

package com.example.sbase;

import java.util.List;

import android.app.Activity;

import android.content.Context;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.inputmethod.InputMethodManager;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemSelectedListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Spinner;

import android.widget.Toast;

public class MainActivity extends Activity implements OnItemSelectedListener {

Spinner spinner;

Button btnAdd;

EditText inputLabel;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);
spinner = (Spinner) findViewById(R.id.spinner1);

btnAdd = (Button) findViewById(R.id.button1);

inputLabel = (EditText) findViewById(R.id.editText1);

spinner.setOnItemSelectedListener(this);

// Loading spinner data from database

loadSpinnerData();

btnAdd.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View arg0) {

String label = inputLabel.getText().toString();

if (label.trim().length() > 0) {

DatabaseHandler db = new DatabaseHandler(getApplicationContext());

db.insertLabel(label);

// making input filed text to blank

inputLabel.setText("");

// Hiding the keyboard

InputMethodManager imm = (InputMethodManager)

getSystemService(Context.INPUT_METHOD_SERVICE);

imm.hideSoftInputFromWindow(inputLabel.getWindowToken(), 0);

// loading spinner with newly added data

loadSpinnerData();
} else {

Toast.makeText(getApplicationContext(), "Please enter label name",

Toast.LENGTH_SHORT).show();

});

private void loadSpinnerData() {

DatabaseHandler db = new DatabaseHandler(getApplicationContext());

List<String> labels = db.getAllLabels();

// Creating adapter for spinner

ArrayAdapter<String> dataAdapter = new


ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, labels);

// Drop down layout style - list view with radio button

dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

// attaching data adapter to spinner

spinner.setAdapter(dataAdapter);

public void onItemSelected(AdapterView<?> parent, View view, int position,

long id) {

// On selecting a spinner item

String label = parent.getItemAtPosition(position).toString();


// Showing selected spinner item

Toast.makeText(parent.getContext(), "You selected: " + label,

Toast.LENGTH_LONG).show();

public void onNothingSelected(AdapterView<?> arg0) {

// TODO Auto-generated method stub

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

return super.onOptionsItemSelected(item);

You might also like