serializer.endTag(null,"person");
}
4sqlite的增删改查
首先自己定义一个继承于SQLiteOpenHelper的类用来创建数据库和表
public class MySqliteOpenHelper extends SQLiteOpenHelper {
public MySqliteOpenHelper(Context context) {
super(context, "itheima.db", null, 3);
}
public void onCreate(SQLiteDatabase db) {
System.out.println("create table");
db.execSQL("CREATE TABLE person (personid integer primary key autoincrement, name varchar(20),phone varchar(20))");
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
接着在dao的构造函数里初始化MySqliteOpenHelper
public PersonDao(Context context){
myHelper = new MySqliteOpenHelper(context);
}
最后就是增删改查
public boolean addPerson(Person person){
String name = person.getName();
String phone = person.getPhone();
SQLiteDatabase db = myHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("insert into person values(null,?,?)", new String[]{name,phone});
db.close();
return true;
}
return false;
}
public boolean deletePersonByName(String name){
SQLiteDatabase db = myHelper.getWritableDatabase();
if(db.isOpen()){
db.execSQL("delete from person where name=?", new String[]{name});
db.close();
return true;
}
return false;
}
public boolean update(Person person){
SQLiteDatabase db = myHelper.getWritableDatabase();
System.out.println(person.getName() + "::"+person.getPhone() + "::"+person.getId());
if(db.isOpen()){
db.execSQL("update person set name=? , phone=? where personid=?", new String[]{person.getName(),person.getPhone(),person.getId()+""});
db.close();
return true;
}
return false;
}
public Person findPersonByName(String name){
SQLiteDatabase db = myHelper.getReadableDatabase();
if(db.isOpen()){
Cursor cursor = db.rawQuery("select * from person where name=?", new String[]{name});
if(cursor.moveToFirst()){
int indexid = cursor.getColumnIndex("personid");
String personid = cursor.getString(indexid);
int indexName = cursor.getColumnIndex("name");
String personName = cursor.getString(indexName);
int indexPhone = cursor.getColumnIndex("phone");
String phoneNo = cursor.getString(indexPhone);
Person person = new Person();
person.setId(Integer.parseInt(personid));
person.setName(personName);
person.setPhone(phoneNo);
return person;
}
}
return null;
}
public List<Person> findAllPerson(){
List<Person> persons = new ArrayList<Person>();
SQLiteDatabase db = myHelper.getReadableDatabase();
if(db.isOpen()){
Cursor cursor = db.rawQuery("select * from person", null);
while(cursor.moveToNext()){
int indexid = cursor.getColumnIndex("personid");
String personid = cursor.getString(indexid);
int indexName = cursor.getColumnIndex("name");
String personName = cursor.getString(indexName);
int indexPhone = cursor.getColumnIndex("phone");
String phoneNo = cursor.getString(indexPhone);
Person person = new Person();
person.setId(Integer.parseInt(personid));
person.setName(personName);
person.setPhone(phoneNo);
persons.add(person);
}
}
return persons;
}
5 获取sd卡的大小
File path = Environment.getExternalStorageDirectory();
StatFs stat = new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
long totalbytes = blockSize*totalBlocks;
System.out.println(totalbytes);