private final static String DATABASE_NAME="meterdata.d";//数据库库名
private final static int DATABASE_VERSION=1;//数据库版本
final static String TABLE_NAME="cartable";//数据库表名
public final static String FIELD_ID="score";
public final static String FIELD_TITLE="name";
String name ;
public dbHelper(Context context)
{
super(context, DATABASE_NAME,null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
// if (!path.exists()) {// 目录存在返回false
// path.mkdirs();// 创建一个目录
// }
// if (!f.exists()) {// 文件存在返回false
// try {
// f.createNewFile();//创建文件
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }
String sql="Create table "+TABLE_NAME+"("+FIELD_ID+" integer primary key autoincrement,"
+FIELD_TITLE+" text );";
db.execSQL(sql);
//建立数据库
}
//获取纪录条数
public int getNumRecords() {
SQLiteDatabase db=this.getReadableDatabase();
if (db!= null) {
try {
Cursor oCursor = db.rawQuery(
"SELECT * FROM " + TABLE_NAME, null);
int i = oCursor.getCount();
oCursor.close();
return i;
} catch (Exception e) {
e.printStackTrace();
return 0;
}
} else {
return 0;
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
String sql=" DROP TABLE IF EXISTS "+TABLE_NAME;
db.execSQL(sql);
onCreate(db);
}
public long insert(String Title , int Score)
{
//插入数值
SQLiteDatabase db=this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(FIELD_TITLE, Title);
cv.put(FIELD_ID, Score);
long row=db.insert(TABLE_NAME, null, cv);
return row;
}
public ArrayList<MyData> readData(){
SQLiteDatabase db=this.getReadableDatabase();
ArrayList<MyData> dataList = new ArrayList<MyData>();//建立数组
Cursor cur=
db.query(TABLE_NAME, null, null, null, null, null, " score desc");//按照降序排列
if(cur!=null){
while (cur.moveToNext()) {
// 拿到每一行name 与score的数值
String name = cur.getString(cur.getColumnIndex("name"));
int score = cur.getInt(cur.getColumnIndex("score"));
MyData myData = new MyData();
myData.setName(name);
myData.setScore(score);
dataList.add(myData);//将值传入数组
}
}
cur.close();
return dataList;
}
//清除数据库
public void clearTable(){
SQLiteDatabase db=this.getWritableDatabase();
String sql = "DELETE FROM " + TABLE_NAME;
db.execSQL(sql);
}
// public void delete(int id)
// {
// SQLiteDatabase db=this.getWritableDatabase();
// String where=FIELD_ID+"=?";
// String[] whereValue={Integer.toString(id)};
// db.delete(TABLE_NAME, where, whereValue);
// }
//
// public void update(int id,String Title, int Score)
// {
// SQLiteDatabase db=this.getWritableDatabase();
// String where=FIELD_ID+"=?";
// String[] whereValue={Integer.toString(id)};
// ContentValues cv=new ContentValues();
// cv.put(FIELD_TITLE, Title);
// cv.put(FIELD_ID, Score);
// db.update(TABLE_NAME, cv, where, whereValue);
// }
/
}
//数据库数组
public class MyData {
private int id;
private String name;
private int score;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}
将数据库数值显示LIstView上:
ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>();
private dbHelper db;
SimpleAdapter listItemAdapter;
ListView lv ;
db = new dbHelper(mContext);
db.insert(username, meters);//插入数据库
if (db.getNumRecords() > 0) {
ArrayList<com.k.NewView.MyData> dataList = db.readData();
for (int i = 0; i < 5; i++) {
HashMap<String, Object> myMap = new HashMap<String, Object>();
record_names[i] = dataList.get(i).getName();
record_values[i] = dataList.get(i).getScore();
myMap.put("COLUMN_NAME", record_names[i]);
myMap.put("COLUMN_NUMBER", record_values[i]+"m");
myMap.put("COLUMN_ID", "......");
listItem.add(myMap);
}
listItemAdapter = new SimpleAdapter(this,
listItem,
// 数据源
R.layout.liststyle,// ListItem的XML实现
// 动态数组与ListItem对应的子项
new String[] { "COLUMN_NAME","COLUMN_ID", "COLUMN_NUMBER" },
new int[] { R.id.tv1, R.id.tv2, R.id.tv3 });
lv.setAdapter(listItemAdapter);