package com.andbase.demo.activity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.andbase.demo.R;
import com.andbase.demo.db.sdcard.DBSDHelper;
import com.andbase.demo.model.LocalUser;
import com.andbase.demo.model.Phone;
import com.andbase.demo.model.Stock;
import com.andbase.library.app.base.AbBaseActivity;
import com.andbase.library.db.orm.dao.AbDBDao;
import com.andbase.library.db.orm.dao.AbDBDaoImpl;
import com.andbase.library.util.AbJsonUtil;
import java.util.ArrayList;
import java.util.List;
public class DBActivity extends AbBaseActivity {
//定义数据库操作实现类
private AbDBDao dao = null;
private TextView resultData = null;
private List<Stock> stocks = new ArrayList<Stock>();
private long id = -1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_db);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setTitle(R.string.title_db);
toolbar.setContentInsetsRelative(0, 0);
toolbar.setNavigationIcon(R.drawable.ic_back);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//初始化数据库操作实现类
dao = new AbDBDaoImpl(DBSDHelper.getInstance(this),LocalUser.class);
Button insertBtn = (Button)this.findViewById(R.id.insertBtn);
Button queryBtn = (Button)this.findViewById(R.id.queryBtn);
Button deleteBtn = (Button)this.findViewById(R.id.deleteBtn);
Button clearBtn = (Button)this.findViewById(R.id.clearBtn);
Button clearScreenBtn = (Button)this.findViewById(R.id.clearScreenBtn);
resultData = (TextView)this.findViewById(R.id.resultData);
//测试数据
Phone phone = new Phone();
phone.setName("华为C199");
phone.setDesc("Android 手机");
final LocalUser mLocalUser = new LocalUser();
mLocalUser.setUserId("100");
mLocalUser.setName("我是100");
mLocalUser.setPhone(phone);
final Stock stock1 = new Stock();
stock1.setText1("100的桌子");
final Stock stock2 = new Stock();
stock2.setText1("100的衣服");
stocks.add(stock1);
stocks.add(stock2);
mLocalUser.setStocks(stocks);
insertBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//显示插入的数据
resultData.append("插入数据:表local_user");
resultData.append(AbJsonUtil.toJson(mLocalUser)+"\n");
resultData.append("---------------------------------------\n");
//保存
//(1)获取数据库
dao.startWritableDatabase(false);
//(2)执行查询
id = dao.insert(mLocalUser);
resultData.append("保存的数据的ID为:"+id+"\n");
//(3)关闭数据库
dao.closeDatabase();
}
});
queryBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
queryData();
}
});
clearBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//保存
//(1)获取数据库
dao.startWritableDatabase(false);
//(2)执行查询
dao.deleteAll();
//(3)关闭数据库
dao.closeDatabase();
resultData.setText("");
}
});
deleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//保存
//(1)获取数据库
dao.startWritableDatabase(false);
//(2)执行查询
dao.delete((int)id);
//(3)关闭数据库
dao.closeDatabase();
resultData.setText("");
}
});
clearScreenBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
resultData.setText("");
}
});
}
public void queryData(){
//查询出结果检查是否成功了
dao.startReadableDatabase();
List<LocalUser> mLocalUserList = dao.queryList();
dao.closeDatabase();
if(mLocalUserList==null || mLocalUserList.size()==0){
resultData.append("查询数据:无数据");
}else{
resultData.append("查询数据:\n");
resultData.append(AbJsonUtil.toJson(mLocalUserList)+"\n");
resultData.append("---------------------------------------\n");
}
}
}