上一个项目还没讲完,地址如下
http://bbs.csdn.net/topics/391928080
User逻辑层如下:
Student逻辑层如下:
package com.example.sqlitedatabase;
import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import com.iotek.entity.Student;
public class StudentBiz {
private DBHelper dbHelper = null;
public StudentBiz(Context context) {
dbHelper = new DBHelper(context);
}
/**
* 添加一个学生
*
* @param stu
* @return
*/
public long addStudent(Student stu) {
/**
* 这行代码一定要有,getWritableDatabase()获取SQLiteDatabase实例,才能创建出表
*/
SQLiteDatabase db = dbHelper.getWritableDatabase();
/*
* db.execSQL("insert into student(name,age,score)values(?,?,?)", new
* Object[] { stu.getName(), stu.getAge(), stu.getScore() });
*/
ContentValues values = new ContentValues();
values.put("name", stu.getName());
values.put("age", stu.getAge());
values.put("score", stu.getScore());
// insert into student() values()
long id = db.insert("student", null, values);// 返回的是记录的id
Log.i("add", id+"");
return id;
}
/**
* 删除一个学生
*
* @param _id
* @return
*/
public int delStudent(int _id) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
// db.execSQL("delete from student where _id=?", new Object[] { _id });
int rows = db.delete("student", "_id=?", new String[] { _id + "" });// 返回影响的行数
return rows;
}
/**
* 更新一个学生信息
*
* @param stu
* @return
*/
public int updateStudent(Student stu) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
/*
* db.execSQL( "update student set name=?,age=?,score=? where _id=?",
* new Object[] { stu.getName(), stu.getAge(), stu.getScore(),
* stu.get_id() });
*/
ContentValues values = new ContentValues();
values.put("name", stu.getName());
values.put("age", stu.getAge());
values.put("score", stu.getScore());
int rows = db.update("student", values, "_id=?",
new String[] { stu.get_id() + "" });
return rows;
}
/**
* 得到所有的学生
*
* @return
*/
public List<Student> getAllStudents() {
SQLiteDatabase db = dbHelper.getReadableDatabase();
List<Student> stuList = new ArrayList<Student>();
// 返回的是游标
/*
* Cursor cursor = db.rawQuery("select _id,name,age,score from student",
* null);
*/
Cursor cursor = db.query("student", new String[] { "_id", "name",
"age", "score" }, null, null, null, null, null);
while (cursor.moveToNext()) {
int _id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
int score = cursor.getInt(cursor.getColumnIndex("score"));
stuList.add(new Student(_id, name, age, score));
}
return stuList;
}
/**
* 根据学号查询一个学生
*
* @param _id
* @return
*/
public Student getStudentById(int _id) {
SQLiteDatabase db = dbHelper.getReadableDatabase();
Student stu = null;
// 返回的是游标
/*
* Cursor cursor = db.rawQuery(
* "select _id,name,age,score from student where _id=?", new String[] {
* _id + "" });
*/
Cursor cursor = db.query("student", new String[] { "_id", "name", "age", "score" },
"_id=?", new String[] { _id + "" }, null, null, null);
if (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("_id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
int score = cursor.getInt(cursor.getColumnIndex("score"));
stu = new Student(id, name, age, score);
}
return stu;
}
}
布局文件如下:
activity_main
item
就一个textView,放适配器用的,ListView里显示的控件布局为TextView
Login
register
具体的控件id在上一个项目能够根据封装的findView()方法里对应的找到,每个activity对应每个布局layout。