ContentValues


在使用SQLite数据库的时候回使用到ContentValues类来进行插入或更新,一般的写法是
public void insert(TasksManagerModel model){
   ContentValues cv = new ContentValues();
   cv.put("id",model.getId());
   cv.put("name",model.getName()); 
   cv.put("url",model.getUrl());
   cv.put("path",model.getPath());
db.insert(table,cv,....)

}

以上的写法有个问题就是:如果要update,那么又要重写上述中的有关ContentValues代码,造成代码的重复冗余,为了解决上述问题使用下面的方法可以解决:
private static class
TasksManagerModel { public final static String ID = "id" ; public final static String NAME = "name" ; public final static String URL = "url" ; public final static String PATH = "path" ; private int id ; private String name ; private String url ; private String path ; 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 String getUrl() { return url ; } public void setUrl(String url) { this. url = url ; } public String getPath() { return path ; } public void setPath(String path) { this. path = path ; } public ContentValues toContentValues() { ContentValues cv = new ContentValues() ; cv.put( ID , id) ; cv.put( NAME , name) ; cv.put( URL , url) ; cv.put( PATH , path) ; return cv ; }}

你可能感兴趣的:(Android小方法)