1、checkbox是listview一行中的一个控件,单击chekbox,如何更新listview一行的背景?
定义一个类型变量 View tempView;
在checkbox单击事件中,给类型变量 tempView赋值
在满足条件的情况下, 设置行的背景色
2、实体、json格式字符串、json对象、json数组之间转换
可通过第三方包(gson,fastjson),进行转换
可通过android开发包中自带的包(org.json),进行转换
如果实体使用了ORMLITE等,不能转换,可以重新实体的toString()方法,在toString方法中,构造json字符串。
3、ormlite与sqlite之间数据库生产
实体最好用一下数据类型:String,int ,double
4、ormlite操作同一张表,向同一张表添加数据,如果数据量大,如何提高性能
使用事物,提高添加数据的性能
public int insertListByTransaction(List<T> objectList) {
int count = objectList.size();
AndroidDatabaseConnection dbConnection = null;
try {
dbConnection = new AndroidDatabaseConnection(getHelper().getWritableDatabase(), true);
getDao().setAutoCommit(dbConnection, false);
for (int i = 0; i < count; i++) {
//getDao().createIfNotExists(objectList.get(i));
getDao().createOrUpdate(objectList.get(i));
}
dbConnection.commit(null);
return 1;
} catch (SQLException e) {
e.printStackTrace();
try {
dbConnection.rollback(null);
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return 0;
}
5、sqlite的模糊查询
String querySql = "select SCOUTID,SCOUTTYPEID,SCOUTDATE from B_GBJX_SCOUT t where t.SCOUTDATE like '"
+ scoutDate2 + "%'";
List<HashMap<String, Object>> scoutList = scoutDao
.queryScoutList(querySql);
6、base类的使用, 比如BaseFragment,BaseActivity,主要用途之一
比如,将一些常用的变量和方法放在base类中。如弹出对话框。
7、Fragment的使用
如果在Activity对应的布局文件中, 有Fragment对应,那么可以在activity中直接引用该FRAGMENT,并使用。
8、include标签的使用
在布局文件中,使用了include标签,在Activity中,可以直接应用include标签中的控件,常用菜单。
9、线程使用
public void checkUpdate()
{
new Thread(new Runnable() {
@Override
public void run() {
// 下载基础数据
try {
checkUpdate= isUpdate();
} catch (Exception e) {
e.printStackTrace();
}
mHandler.post(new Runnable() {
public void run() {
if(checkUpdate)
{
mHandler.sendEmptyMessage(Show_Dialog);
}
}
});
}
}).start();
}
10、迁移来源判断
getActivity().getClass().getName().contains("MainActivity")
11、静态变量的使用
DEVICEID = DeviceDefectManageActivity.DEVICEID; // 设备缺陷
12、sqlite 和ormlite 分页
public List<T> queryForPageSection(int pagesize,int pagecount) {
try {
QueryBuilder<T, Integer> query = getDao().queryBuilder();
int offsetSize = pagesize * (pagecount - 1);
query.limit(pagesize).offset(offsetSize).orderBy("SHOWORDER", true);
return getDao().query(query.prepare());
} catch (SQLException e) {
Log.e("DbHelper", "queryForSectionOrderby", e);
}
return null;
}