新建DBHeler.JAVA

 1 package com.hixin.db;
 2 
 3 import java.util.ArrayList;
 4 import java.util.HashMap;
 5 
 6 import com.hixin.contact.User;
 7 
 8 import android.content.ContentValues;
 9 import android.content.Context;
10 import android.database.Cursor;
11 import android.database.sqlite.SQLiteDatabase;
12 import android.database.sqlite.SQLiteOpenHelper;
13 
14 public class DBHelper extends SQLiteOpenHelper{
15     public final static  String  DB_NAME = "contact";
16     public final static  int VERSION = 1;
17     private static DBHelper instance = null;
18     private SQLiteDatabase db;
19     
20     //单例模式
21     private DBHelper(Context context) {
22         super(context,DB_NAME,null,VERSION);
23     }
24     
25     public static DBHelper getInstance(Context context) {
26         if(instance == null) {
27             instance = new DBHelper(context);
28         }
29         return instance;
30     }
31     private void openDatabase() {
32         if(db == null) {
33             db = this.getReadableDatabase();
34         }
35     }
36     
37     @Override
38     public void onCreate(SQLiteDatabase db) {
39         // TODO Auto-generated method stub
40          StringBuffer tableCreate = new StringBuffer();
41          tableCreate.append("create table user (_id integer primary key autoincrement,")
42          .append("name text,")
43          .append("mobilephone text,")
44          .append("familyphone text,")
45          .append("officephone text,")
46          .append("position text,")
47          .append("company text,")
48          .append("address text,")
49          .append("email text,")
50          .append("othercontact text,")
51          .append("zipcode text,")
52          .append("remark text,")
53          .append("imageid int)");
54          
55          db.execSQL(tableCreate.toString());
56     }
57 
58     @Override
59     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
60         // TODO Auto-generated method stub
61         String sql = "drop table if exists user";
62         db.execSQL(sql);
63         onCreate(db);
64     }
65     
66     public long save(User user) {
67         openDatabase();
68         ContentValues value = new ContentValues();
69         value.put("name", user.username);
70         value.put("mobilephone", user.mobilePhone);
71         value.put("familyphone", user.familyPhone);
72         value.put("officephone", user.officePhone);
73         value.put("position", user.position);
74         value.put("address", user.address);
75         value.put("email", user.email);
76         value.put("othercontact", user.otherContact);
77         value.put("zipcode", user.zipCode);
78         value.put("remark", user.remark);
79         value.put("imageid", user.imageId);
80         
81         return db.insert("user", null, value);
82     }
83     
84     public ArrayList getUserList() {
85         openDatabase();
86         Cursor cursor = db.query("user", null, null, null, null, null, null);
87         ArrayList list = new ArrayList();
88         while (cursor.moveToNext()) {
89                 HashMap map = new HashMap();
90                 map.put("imageid", cursor.getInt(cursor.getColumnIndex("imageid")));
91                 map.put("name", cursor.getString(cursor.getColumnIndex("name")));
92                 map.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone")));
93                 list.add(map);
94         }
95         return list;
96     }
97 
98 }

 

主函数中调用 
    //save user to database
    DBHelper.getInstance(MainActivity.this).save(user);

save()调用openDatabase(),如果数据库不存在,则自动调用数据库的onCreate()

//检索数据库

ArrayList data = DBHelper.getInstance(this).getUserList();

tv_name.setText((CharSequence) ((HashMap) data.get(position)).get("name"));

 

另外一种版本

package com.example.healthembed;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

import com.example.healthembed.dummy.BloodPre;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

public class DatabaseHelper extends SQLiteOpenHelper {
     
    private static final String DB_NAME = "person.db"; //数据库名称
    private static final int version = 1; //数据库版本
    private static DatabaseHelper instance = null;
    private SQLiteDatabase db;

    //单例模式
   
    public static DatabaseHelper getInstance(Context context) {
        if(instance == null) {
            instance = new DatabaseHelper(context);
        }
        return instance;
    }
    private void openDatabase() {
        if(db == null) {
            db = this.getReadableDatabase();
        }
    }
    public DatabaseHelper(Context context) {
        super(context, DB_NAME, null, version);
    }
 
    
    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        /* StringBuffer tableCreate = new StringBuffer();
         tableCreate.append("create table user (_id integer primary key autoincrement,")
         .append("hp int,")
         .append("lp int)");
         db.execSQL(tableCreate.toString());
         */
         String tableCreate = new String();
         tableCreate="create table user (_id integer primary key autoincrement,name varchar(16),pdate text,hp int,lp int)";
         db.execSQL(tableCreate);
         
//         Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        String sql = "drop table if exists user";
        db.execSQL(sql);
        onCreate(db);
    }
    
    public long save(BloodPre user) {
        openDatabase();
        ContentValues value = new ContentValues();
        value.put("name", user.name);
        value.put("pdate",user.time);
        value.put("hp", user.highp);
        value.put("lp", user.lowp); 
        return db.insert("user", null, value);
    }
    
     public ArrayList getUserList() {
        openDatabase();
        Cursor cursor = db.query("user", null, null, null, null, null, null);
        ArrayList<Map> list = new ArrayList();
        while (cursor.moveToNext()) {
                HashMap map = new HashMap();
                map.put("name", cursor.getInt(cursor.getColumnIndex("name")));
                map.put("pdate", cursor.getString(cursor.getColumnIndex("pdate")));
                map.put("hp", cursor.getInt(cursor.getColumnIndex("hp")));
                map.put("lp", cursor.getInt(cursor.getColumnIndex("lp")));
                list.add(map);
        }
        return list;
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-17
  • 2021-11-14
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-30
  • 2021-05-29
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案