android SQL数据库

public class dbHelper extends SQLiteOpenHelper {


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);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值