0

Hi I am trying to insert data into database using EditText and Button I have created. I am stuck at Activity part of the code. I am unable to proceed how to write the Onclick action part for Button and EditText part Please help me. I am new to android

DBAdapter.java

package com.example.database1;

public class DBAdapter 
{
    public static final String KEY_ROWID = "_id";
    public static final String KEY_ISBN = "isbn";
    public static final String KEY_TITLE = "title";
    public static final String KEY_PUBLISHER = "publisher";    
    private static final String TAG = "DBAdapter";

    private static final String DATABASE_NAME = "books";
    private static final String DATABASE_TABLE = "titles";
    private static final int DATABASE_VERSION = 1;

    private static final String DATABASE_CREATE =
        "create table titles (_id integer primary key autoincrement, "
        + "isbn text not null, title text not null, " 
        + "publisher text not null);";

    private final Context context; 

    private DatabaseHelper DBHelper;
    private SQLiteDatabase db;

    public DBAdapter(Context ctx) 
    {
        this.context = ctx;
        DBHelper = new DatabaseHelper(context);
    }

    private static class DatabaseHelper extends SQLiteOpenHelper 
    {
        DatabaseHelper(Context context) 
        {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }

        @Override
        public void onCreate(SQLiteDatabase db) 
        {
            db.execSQL(DATABASE_CREATE);
        }

        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) 
        {
            Log.w(TAG, "Upgrading database from version " + oldVersion 
                    + " to "
                    + newVersion + ", which will destroy all old data");
            db.execSQL("DROP TABLE IF EXISTS titles");
            onCreate(db);
        }
    }    

    //---opens the database---
    public DBAdapter open() throws SQLException 
    {
        db = DBHelper.getWritableDatabase();
        return this;
    }

    //---closes the database---    
    public void close() 
    {
        DBHelper.close();
    }

    //---insert a title into the database---
    public long insertTitle(String isbn, String title, String publisher) 
    {
        ContentValues initialValues = new ContentValues();
        initialValues.put(KEY_ISBN, isbn);
        initialValues.put(KEY_TITLE, title);
        initialValues.put(KEY_PUBLISHER, publisher);
        return db.insert(DATABASE_TABLE, null, initialValues);
    }

    //---deletes a particular title---
    public boolean deleteTitle(long rowId) 
    {
        return db.delete(DATABASE_TABLE, KEY_ROWID + 
                "=" + rowId, null) > 0;
    }

    //---retrieves all the titles---
    public Cursor getAllTitles() 
    {
        return db.query(DATABASE_TABLE, new String[] {
                KEY_ROWID, 
                KEY_ISBN,
                KEY_TITLE,
                KEY_PUBLISHER
            }, 
            null, 
            null, 
            null, 
            null, 
            null);
    }

    //---retrieves a particular title---
    public Cursor getTitle(long rowId) throws SQLException 
    {
        Cursor mCursor =
            db.query(true, DATABASE_TABLE, new String[] {
                                KEY_ROWID,
                                KEY_ISBN, 
                                KEY_TITLE,
                                KEY_PUBLISHER
                    }, 
                    KEY_ROWID + "=" + rowId, 
                    null,
                    null, 
                    null, 
                    null, 
                    null);
        if (mCursor != null) {
            mCursor.moveToFirst();
        }
        return mCursor;
    }

    //---updates a title---
    public boolean updateTitle(long rowId, String isbn, String title, String publisher) 
    {
        ContentValues args = new ContentValues();
        args.put(KEY_ISBN, isbn);
        args.put(KEY_TITLE, title);
        args.put(KEY_PUBLISHER, publisher);
        return db.update(DATABASE_TABLE, args, 
                     KEY_ROWID + "=" + rowId, null) > 0;
    }
}

DatabaseActivity.java

package com.example.database1;

public class DatabaseActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_database);
        DBAdapter db = new DBAdapter(this);
        db.open();
    } 
}

activity_database.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:id="@+id/edit1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/edit2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <EditText
        android:id="@+id/edit3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <Button 
        android:id="@+id/submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"  />
</LinearLayout>
1
  • 1
    you can search in google there many tutorials available. Commented Dec 13, 2012 at 5:17

4 Answers 4

2

Change your code as to instert Edittext values in database on button click:

public class DatabaseActivity extends Activity {
 DBAdapter db;
Button submitbtn;
EditText edit1,edit2,edit3;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_database);
    db=new DBAdapter(this);
   submitbtn = (Button) findViewById(R.id.submit);
   edit1 = (EditText) findViewById(R.id.edit1);
   edit2 = (EditText) findViewById(R.id.edit2);
   edit3 = (EditText) findViewById(R.id.edit3);
    db.open();

    submitbtn.setOnClickListener(new OnClickListener()
    {
        public void onClick(View v)
        {
                String steedtone=edit1.getText().toString();
                String steedttwo=edit2.getText().toString();
                String steedtthree=edit3.getText().toString();

                long result=db.insertTitle(steedtone,steedttwo,steedtthree);
        }
         });
  } 
}
Sign up to request clarification or add additional context in comments.

Comments

1
public class DatabaseActivity extends Activity {
    EditText edit1,edit2,edit3;
    Button submit;

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
         final DBAdapter db = new DBAdapter(this);
         db.open();
         edit1=(EditText)findViewById(R.id.edit1);
         edit2=(EditText)findViewById(R.id.edit2);
         edit3=(EditText)findViewById(R.id.edit3);
         submit=(Button)findViewById(R.id.submit);
        submit.setOnClickListener(new OnClickListener(){


            @Override
            public void onClick(View v) {
                String editText1=edit1.getText().toString();
                String editText2=edit2.getText().toString();
                String editText3=edit3.getText().toString();
                long result=db.insertTitle(editText1, editText2, editText3);
                Toast.makeText(MainActivity.this,"DataSaved",Toast.LENGTH_LONG).show();// TODO Auto-generated method stub

            }
        });
    }

just paste it your database Activity and see the magic cheers..

1 Comment

@user1841444 :some fishing type activity going here same answer posted by me before 1 hours ago but my answer is not accepted . this answer which just copy paste of my answer after 1 hour from me accepted why? can u point out where is what is wrong with my answer?
1

This will come inside your onCreate() after setContentView() is called.

Button btn = (Button) findViewById(R.id.btnId);
EditText edtTxt = (EditText) findViewById(R.id.edtId);

btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                insertDataInDb();

            }
        });

public void insertDataInDb() {
        // TODO Auto-generated method stub
        String str = edtTxt.getText().toString();
        //Code for insertion
    }

Comments

1

check below code.

package com.example.database1;
import android.os.Bundle;
import android.app.Activity;
import android.database.Cursor;
import android.view.Menu;
import android.widget.Toast;

public class DatabaseActivity extends Activity {

DBAdapter db;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_database);
    db = new DBAdapter(this);
    db.open();

    Button btn = (Button) findViewById(R.id.btnId);
    EditText edtTxt = (EditText) findViewById(R.id.edtId);

    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            String name = edtTxt.getText().toString();
            try{
            insertTitle("ISBN",""+name,"publisar");
            }catch(Exception e){
              Log.d("error-->","insert data-->"+e.getMassage().toString());
              }

        }
    });
  } 
  }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.