将值插入Sqlite数据库。 Android的

时间:2014-01-31 19:47:53

标签: java android sqlite

我正在通过视频教程学习android开发。

使用教程中的想法。我创建了自己的类,数据库处理程序(Dbhandler.java)文件和(kovil.java)文件。这些文件工作正常。

我的目标是为数据库表添加值。一旦主要活动(mainactivity.java)加载。我想知道如何在我的代码的create事件的mainactivity.java文件中为表添加值。

任何人都可以帮助我。谢谢..

这是我的代码..

Dbhandler.java文件

        package lk.adspace.jaffnadb;

        import java.util.ArrayList;


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

        import android.database.sqlite.SQLiteOpenHelper;
        import android.util.Log;

        public class Dbhandler extends SQLiteOpenHelper  {


            private static final int DATABASE_VERSION = 1;

            // Database Name
            private static final String DATABASE_NAME = "jaffnatempletest";

            // Temple table name
            private static final String TABLE_TEMPLE = "templ";


            // Contacts Table Columns names
            private static final String KEY_ID = "id";
            private static final String KEY_TMPNAME = "temple_name";
            private static final String KEY_TMPTYPE = "temple_type";
            private static final String KEY_LATITUDE = "latitude";
            private static final String KEY_LONGITUDE = "longitude";
            private static final String KEY_IMGNAME = "image_name";
            private static final String KEY_YEARBUILD = "year_build";
            private static final String KEY_ADDRESS = "address";
            private static final String KEY_CITY = "city";
            private static final String KEY_EMAIL = "email";
            private static final String KEY_WEB = "website";
            private static final String KEY_TEL1 = "telephone1";
            private static final String KEY_TEL2 = "telephone2";
            private static final String KEY_DESCRI = "Description";
            private final ArrayList<kovil> temple_list = new ArrayList<kovil>();


            public Dbhandler (Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
            }



            // Creating Tables
            @Override
            public void onCreate(SQLiteDatabase db) {
            String CREATE_TEMPLE_TABLE = "CREATE TABLE " + TABLE_TEMPLE + "("
                + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + KEY_TMPNAME + " TEXT," + KEY_TMPTYPE + " TEXT," + KEY_LATITUDE + " TEXT," + KEY_LONGITUDE + " TEXT," + KEY_IMGNAME + " TEXT,"
                + KEY_YEARBUILD + " TEXT," + KEY_ADDRESS + " TEXT," + KEY_CITY + " TEXT," + KEY_EMAIL + " TEXT," + KEY_WEB + " TEXT," + KEY_TEL1 + " TEXT," + KEY_TEL2 + " TEXT,"
                + KEY_DESCRI + " TEXT" + ")";
            db.execSQL(CREATE_TEMPLE_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_TEMPLE);

            // Create tables again
            onCreate(db);
            }



            // Adding new temple
            public void Add_Temple(kovil Kovil) {
            SQLiteDatabase db = this.getWritableDatabase();
            ContentValues values = new ContentValues();

            values.put(KEY_TMPNAME, Kovil.gettemplename()); 
            values.put(KEY_TMPTYPE, Kovil.gettempletype()); 
            values.put(KEY_LATITUDE, Kovil.getlatitude()); 
            values.put(KEY_LONGITUDE, Kovil.getlongitude()); 
            values.put(KEY_IMGNAME, Kovil.getimage_name()); 
            values.put(KEY_YEARBUILD, Kovil.getyear_build()); 
            values.put(KEY_ADDRESS, Kovil.getaddress()); 
            values.put(KEY_CITY, Kovil.getcity()); 
            values.put(KEY_EMAIL, Kovil.getemail()); 
            values.put(KEY_WEB, Kovil.getwebsite()); 
            values.put(KEY_TEL1, Kovil.gettelephone1()); 
            values.put(KEY_TEL2, Kovil.gettelephone2());
            values.put(KEY_DESCRI, Kovil.getDescription());

            // Inserting Row
            db.insert(TABLE_TEMPLE, null, values);
            db.close(); // Closing database connection
            }






            // Getting single contact
            kovil Get_Temple(int id) {
            SQLiteDatabase db = this.getReadableDatabase();

            Cursor cursor = db.query(TABLE_TEMPLE, new String[] { KEY_ID,
                    KEY_TMPNAME, KEY_TMPTYPE, KEY_LATITUDE, KEY_LONGITUDE, KEY_IMGNAME, KEY_YEARBUILD, KEY_ADDRESS, KEY_CITY, KEY_EMAIL, KEY_EMAIL, KEY_WEB, KEY_TEL1, KEY_TEL2, KEY_DESCRI }, KEY_ID + "=?",
                new String[] { String.valueOf(id) }, null, null, null, null);
            if (cursor != null)
                cursor.moveToFirst();

            kovil Kovil = new kovil(Integer.parseInt(cursor.getString(0)),
                cursor.getString(1), cursor.getString(2), cursor.getString(3), cursor.getString(4), cursor.getString(5), cursor.getString(6), cursor.getString(7), cursor.getString(8), cursor.getString(9), cursor.getString(10), cursor.getString(11), cursor.getString(12), cursor.getString(13));
            // return contact
            cursor.close();
            db.close();

            return Kovil;
            }





            // Getting All Contacts
            public ArrayList<kovil> Get_Temple() {
            try {
                temple_list.clear();

                // Select All Query
                String selectQuery = "SELECT  * FROM " + TABLE_TEMPLE;

                SQLiteDatabase db = this.getWritableDatabase();
                Cursor cursor = db.rawQuery(selectQuery, null);

                // looping through all rows and adding to list
                if (cursor.moveToFirst()) {
                do {
                    kovil Kovil = new kovil();
                    Kovil.setID(Integer.parseInt(cursor.getString(0)));
                    Kovil.settemplename(cursor.getString(1)); 
                    Kovil.settempletype(cursor.getString(2)); 
                    Kovil.setlatitude(cursor.getString(3)); 
                    Kovil.setlongitude(cursor.getString(4)); 
                    Kovil.setimage_name(cursor.getString(5)); 
                    Kovil.setyear_build(cursor.getString(6)); 
                    Kovil.setaddress(cursor.getString(7)); 
                    Kovil.setcity(cursor.getString(8)); 
                    Kovil.setemail(cursor.getString(9)); 
                    Kovil.setwebsite(cursor.getString(10)); 
                    Kovil.settelephone1(cursor.getString(11)); 
                    Kovil.settelephone2(cursor.getString(12));
                    Kovil.setDescription(cursor.getString(13));



                    // Adding contact to list
                    temple_list.add(Kovil);
                } while (cursor.moveToNext());
                }

                // return contact list
                cursor.close();
                db.close();
                return temple_list;
            } catch (Exception e) {
                // TODO: handle exception
                Log.e("all_temples", "" + e);
            }

            return temple_list;
            }



        }

Kovil.java文件

        package lk.adspace.jaffnadb;

        public class kovil {

            //public variables
            public int _id;
            public String _temple_name;
            public String _temple_type;
            public String _latitude;
            public String _longitude;
            public String _image_name;
            public String _year_build;
            public String _address;
            public String _city;
            public String _email;
            public String _website;
            public String _telephone1;
            public String _telephone2;
            public String _Description;

            //empty constructor
            public kovil (){

            }


            // int id, String temple_name, String temple_type, String latitude,  String longitude, String image_name, String year_build, String address, String city, String email, String website, String telephone1, String telephone2,  String Description


            public kovil(int id, String temple_name, String temple_type, String latitude,  String longitude, String image_name, String year_build, String address, 
                    String city, String email, String website, String telephone1, String telephone2,  String Description) {
                // TODO Auto-generated constructor stub



                  this._id= id;
                  this._temple_name=temple_name;
                  this._temple_type=temple_type;
                  this._latitude=latitude;
                  this._longitude=longitude;
                  this._image_name=image_name;
                  this._year_build=year_build;
                  this._address=address;
                  this._city=city;
                  this._email=email;
                  this._website=website;
                  this._telephone1=telephone1;
                  this._telephone2=telephone2;
                  this._Description=Description;

            }


                    public int getID() {
                    return this._id;
                    }


                    public void setID(int id) {
                    this._id = id;
                    }


                    public String gettemplename() {
                    return this._temple_name;
                    }


                    public void settemplename(String temple_name) {
                    this._temple_name=temple_name;
                    }

                    public String gettempletype() {
                    return this._temple_type;
                    }


                    public void settempletype(String temple_type) {
                    this._temple_type=temple_type;
                    }

                    public String getlatitude() {
                    return this._latitude;
                    }


                    public void setlatitude(String latitude) {
                        this._latitude=latitude;
                    }

                    public String getlongitude() {
                    return this._longitude;
                    }


                    public void setlongitude(String longitude) {
                        this._longitude=longitude;
                    }


                    public String getimage_name() {
                    return this._image_name;
                    }


                    public void setimage_name(String image_name) {
                        this._image_name=image_name;
                    }

                    public String getyear_build() {
                    return this._year_build;
                    }


                    public void setyear_build(String year_build) {
                        this._year_build=year_build;
                    }


                    public String getaddress() {
                    return this._address;
                    }


                    public void setaddress(String address) {
                        this._address=address;
                    }

                    public String getcity() {
                    return this._city;
                    }


                    public void setcity(String city) {
                        this._city=city;
                    }


                    public String getemail() {
                    return this._email;
                    }


                    public void setemail(String email) {
                        this._email=email;
                    }


                    public String getwebsite() {
                    return this._website;
                    }


                    public void setwebsite(String website) {
                        this._website=website;
                    }


                    public String gettelephone1() {
                    return this._telephone1;
                    }


                    public void settelephone1(String telephone1) {
                        this._telephone1=telephone1;
                    }

                    public String gettelephone2() {
                    return this._telephone2;
                    }


                    public void settelephone2(String telephone2) {
                        this._telephone2=telephone2;
                    }


                    public String getDescription() {
                    return this._Description;
                    }


                    public void setDescription(String Description) {
                        this._Description=Description;
                    }


        }

MainActivity.java文件

        package lk.adspace.jaffnadb;

        import android.os.Bundle;
        import android.app.Activity;
        import android.view.Menu;

        public class MainActivity extends Activity {


            Dbhandler dbhand = new Dbhandler(this); 



            @Override
            protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);







            }

            @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;
            }

        }

3 个答案:

答案 0 :(得分:1)

在你的MainActivity.java中调用它

    Dbhandler dbhand;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       dbhand=new Dbhandler(this);

       //initialize your Kovil object here
       dbhand.addTempler(myKovelObject);
    }

答案 1 :(得分:0)

只需在dbhand.Add_Temple(Kovil)方法中调用onCreate,其中Kovil是您要存储在数据库中的变量。

答案 2 :(得分:0)

您已使用insert方法创建了数据库,表。然后是插入问题。

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);


            //Define and initialize your kovil constructor with appropriate arguments.
            kovil insertData = new kovil(your_id, temple_name, temple_type, latitude,  longitude, image_name, year_build, address, 
                city, email, website, telephone1, telephone2,  Description);
            Dbhandler dbhand = new Dbhandler(this); 
            dbhand .Add_Temple(insertData );
         }