Click here to Skip to main content
15,887,214 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Good day

I am new to Android Programming. I want to insert data that is part of the App when it start up. I have already created the database.

DatabaseHelper class
package app.mobiledevicesecurity;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by Martin on 2015/07/28.
 */
public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "mobilesec.db";
    public static final String TABLE_NAME = "read_table";
    public static final String COL_1 = "ID";
    public static final String COL_2 = "CATEGORY";
    public static final String COL_3 = "HEADING";
    public static final String COL_4 = "INFO";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
        SQLiteDatabase db = this.getWritableDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, CATEGORY TEXT, HEADING TEXT, INFO TEXT)");


    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);
    }
}


MainActivity class
package app.mobiledevicesecurity;

import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;


public class MainActivity extends ActionBarActivity {
    DatabaseHelper myDb;
    private static Button readbtn;
    private static Button quizbtn;
    private static Button scoresbtn;
    private static Button settingsbtn;
    private static Button helpbtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myDb = new DatabaseHelper(this);
         OnClickReadButtonListener();
         OnClickQuizButtonListener();
         OnClickScoresButtonListener();
         OnClickSettingsButtonListener();
         OnClickHelpButtonListener();


    }

    public void OnClickReadButtonListener() {
        readbtn = (Button) findViewById(R.id.readbutton);
        readbtn.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent("app.mobiledevicesecurity.Read_Category");
                        startActivity(intent);
                    }
                }
        );
    }

    public void OnClickQuizButtonListener() {
        quizbtn = (Button) findViewById(R.id.quizbutton);
        quizbtn.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent("app.mobiledevicesecurity.Quiz");
                        startActivity(intent);
                    }
                }
        );
    }

    public void OnClickScoresButtonListener() {
        scoresbtn = (Button) findViewById(R.id.scoresbutton);
        scoresbtn.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent("app.mobiledevicesecurity.Scores");
                        startActivity(intent);
                    }
                }
        );
    }

    public void OnClickSettingsButtonListener() {
        settingsbtn = (Button) findViewById(R.id.settingsbutton);
        settingsbtn.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent("app.mobiledevicesecurity.Settings");
                        startActivity(intent);
                    }
                }
        );
    }

    public void OnClickHelpButtonListener() {
        helpbtn = (Button) findViewById(R.id.helpbutton);
        helpbtn.setOnClickListener(
                new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent intent = new Intent("app.mobiledevicesecurity.Help");
                        startActivity(intent);
                    }
                }
        );
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.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();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}


I want the following data for instance to be added when the app start
Category: Malware
Heading: Virus
Info: Harmfull

If anyone can help me please
Posted
Comments
Richard MacCutchan 29-Jul-15 11:36am    
What is the problem?
Martin Park 29-Jul-15 17:05pm    
how do i insert the data
Richard MacCutchan 30-Jul-15 2:56am    
Use the SQL INSERT statement, as described in the documentation. See http://www.sqlite.org/lang_insert.html for the SQL syntax, https://developer.android.com/reference/android/database/sqlite/package-summary.html for the Android reference, and any of the Database articles at http://www.codeproject.com/KB/android/.

1 solution

package app.mobiledevicesecurity;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

/**
 * Created by Martin on 2015/07/28.
 */
public class DatabaseHelper extends SQLiteOpenHelper {
    public static final String DATABASE_NAME = "mobilesec.db";
    public static final String TABLE_NAME = "read_table";
    public static final String COL_1 = "ID";
    public static final String COL_2 = "CATEGORY";
    public static final String COL_3 = "HEADING";
    public static final String COL_4 = "INFO";

    public DatabaseHelper(Context context) {
        super(context, DATABASE_NAME, null, 1);
        SQLiteDatabase db = this.getWritableDatabase();
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table " + TABLE_NAME + " (ID INTEGER PRIMARY KEY AUTOINCREMENT, CATEGORY TEXT, HEADING TEXT, INFO TEXT)");
        ContentValues cv = new ContentValues();
        cv.put(COL_1,1);
        cv.put(COL_2,"Malware");
        cv.put(COL_3,"Virus");
        cv.put(COL_4,"Harmfull for device");
        db.insert(TABLE_NAME, null, cv);



    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME);
        onCreate(db);
    }
}


I have added the insert command. But it does not seem to save the data in the database when I open the database with SQlite browser. Am I doing something wrong?
 
Share this answer
 
Comments
Varma Lanke 22-Jan-16 0:47am    
hello

Park are you got read_table in your database or not?

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900