xUtils3之数据库笔记
来源:互联网 发布:mac合上盖子播放音乐 编辑:程序博客网 时间:2024/06/07 12:38
数据库的初始化放在Application,且必须提供获取数据库的方法,使得在应用程序的任何地方都可以直接获取数据库,并操作数据库,不然重复的获取与释放只能增加内存无谓的消耗
首先:修改AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
android:name=".AppApplication"
Application.java
package com.snow.myapplication;import android.app.Application;import org.xutils.DbManager;import org.xutils.x;/** * Created by snow on 2016/4/18. */public class AppApplication extends Application { private DbManager.DaoConfig daoConfig; public DbManager.DaoConfig getDaoConfig() { return daoConfig; } @Override public void onCreate() { super.onCreate(); x.Ext.init(this);//Xutils初始化 daoConfig = new DbManager.DaoConfig() .setDbName("snow_db")//创建数据库的名称 .setDbVersion(1)//数据库版本号 .setDbUpgradeListener(new DbManager.DbUpgradeListener() { @Override public void onUpgrade(DbManager db, int oldVersion, int newVersion) { // TODO: ... // db.addColumn(...); // db.dropTable(...); // ... } });//数据库更新操作 }}
Child.java
package com.snow.myapplication;import org.xutils.DbManager;import org.xutils.db.annotation.Column;import org.xutils.db.annotation.Table;import org.xutils.ex.DbException;/** * Author: wyouflf * Date: 13-7-29 * Time: 下午5:04 */@Table(name = "child")public class Child { @Column(name = "id", isId = true) private int id; @Column(name = "name") private String name; @Column(name = "email") private String email; @Column(name = "parentId" /*, property = "UNIQUE"//如果是一对一加上唯一约束*/) private long parentId; // 外键表id // 这个属性被忽略,不存入数据库 private String willIgnore; @Column(name = "text") private String text; public Parent getParent(DbManager db) throws DbException { return db.findById(Parent.class, parentId); } public long getParentId() { return parentId; } public void setParentId(long parentId) { this.parentId = parentId; } 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 getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getWillIgnore() { return willIgnore; } public void setWillIgnore(String willIgnore) { this.willIgnore = willIgnore; } public String getText() { return text; } public void setText(String text) { this.text = text; } @Override public String toString() { return "Child{" + "id=" + id + ", name='" + name + '\'' + ", email='" + email + '\'' + ", parentId=" + parentId + ", willIgnore='" + willIgnore + '\'' + ", text='" + text + '\'' + '}'; }}
MainActivity.java
package com.snow.myapplication;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import org.xutils.DbManager;import org.xutils.ex.DbException;import org.xutils.x;import java.util.List;public class MainActivity extends AppCompatActivity { private AppApplication appApplication; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); appApplication=new AppApplication(); DbManager db = x.getDb(appApplication.getDaoConfig()); Child child=new Child(); child.setName("小黑"); child.setEmail("gmaillove@163.com"); try { db.save(child); } catch (DbException e) { e.printStackTrace(); } try { //List<Child> lyjPersons=db.selector(Child.class).findAll(); List<Child> lyjPersons=db.selector(Child.class).where("name","==","小白").findAll(); System.out.println("总共找到:"+lyjPersons.size()); for (int i=0;i<lyjPersons.size();i++){ System.out.println("Child:"+i+" .name="+lyjPersons.get(i).getName()); lyjPersons.get(i).setName("小白猪"); db.update(lyjPersons.get(i)); // db.delete(lyjPersons.get(i)); } } catch (DbException e) { e.printStackTrace(); } }}
package com.snow.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import org.xutils.DbManager;
import org.xutils.ex.DbException;
import org.xutils.x;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private AppApplication appApplication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
appApplication=new AppApplication();
//添加数据
DbManager db = x.getDb(appApplication.getDaoConfig());
Child child=new Child();
child.setName("小黑");
child.setEmail("gmaillove@163.com");
try {
db.save(child);
} catch (DbException e) {
e.printStackTrace();
}
//查找数据
DbManager db = x.getDb(appApplication.getDaoConfig());
Child child=new Child();
child.setName("小黑");
child.setEmail("gmaillove@163.com");
try {
List<Child> lyjPersons=db.selector(Child.class).findAll();
for (int i=0;i<lyjPersons.size();i++){
System.out.println("Child:"+i+" .name="+lyjPersons.get(i).getName());
}
} catch (DbException e) {
e.printStackTrace();
}
//查找字段
DbManager db = x.getDb(appApplication.getDaoConfig());
Child child=new Child();
child.setName("小黑");
child.setEmail("gmaillove@163.com")
try {
List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
System.out.println("总共找到:"+lyjPersons.size());
for (int i=0;i<lyjPersons.size();i++){
System.out.println("Child:"+i+" .name="+lyjPersons.get(i).getName());
}
} catch (DbException e) {
e.printStackTrace();
}
//更新字段
DbManager db = x.getDb(appApplication.getDaoConfig());
Child child=new Child();
child.setName("小黑");
child.setEmail("gmaillove@163.com")
try {
List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
System.out.println("总共找到:"+lyjPersons.size());
for (int i=0;i<lyjPersons.size();i++){
System.out.println("Child:"+i+" .name="+lyjPersons.get(i).getName());
lyjPersons.get(i).setName("小白猪");
db.update(lyjPersons.get(i));
}
} catch (DbException e) {
e.printStackTrace();
}
//删除字段
DbManager db = x.getDb(appApplication.getDaoConfig());
Child child=new Child();
child.setName("小黑");
child.setEmail("gmaillove@163.com")
try {
List<Child> lyjPersons=db.selector(Child.class).where("name","==","小黑").findAll();
System.out.println("总共找到:"+lyjPersons.size());
for (int i=0;i<lyjPersons.size();i++){
System.out.println("Child:"+i+" .name="+lyjPersons.get(i).getName());
db.delete(lyjPersons.get(i));
}
} catch (DbException e) {
e.printStackTrace();
}
}
}
- xUtils3之数据库笔记
- XUtils3之数据库笔记
- Xutils3总结2之数据库
- xUtils3.0 db数据库操作笔记1
- xUtils3数据库模块分析之数据篇
- xutils3框架之数据库使用详解!
- Android xUtils3源码解析之数据库模块
- Android xUtils3源码解析之数据库模块
- xutils3框架之数据库使用详解!
- xUtils3数据库的使用
- Xutils3——数据库
- Xutils3的数据库模块
- XUtils3.0数据库操作心得
- XUtils3.0数据库操作(转载)
- Xutils3 数据库模块的使用方法
- Xutils3关于数据库的操作
- xutils3 数据库版本更新问题
- Xutils3数据库db问题补充
- CBCentralManager 蓝牙
- ORB
- [bzoj4199][NOI2015]品酒大会
- iOS技术面试题
- android viewGroup事件分发一
- xUtils3之数据库笔记
- Sping+ActiveMQ整合--源自技术
- 线上故障:高内存和CUP100%解决办法
- jQuery事件绑定的最佳实践
- Python 三元表达式
- 多线程学习01
- GetWindowRect和GetClientRect的区别详解
- ACM第二次练习—1017
- 安卓webView,js交互