使用activeandoid存储值的My My Activity类代码...我已将图像文件转换为以下代码中的字节..但它不存储在Db中......所有其他值都存储了
case R.id.notVerified:
ActiveAndroid.beginTransaction();
try {
c.setName(Ename.getText().toString());
c.setEmail(Eemail.getText().toString());
c.setMemo(Eemail.getText().toString());
c.setPhone(Ephone.getText().toString());
c.setPhoto("user.png");
String s = new String(byteArray);
Toast.makeText(getActivity(), c.getImage().toString() ,Toast.LENGTH_LONG).show();
c.setImage(byteArray);
c.setTitle(ETitle.getText().toString());
c.save();
ActiveAndroid.setTransactionSuccessful();
Toast.makeText(getActivity(), "Contact Added",Toast.LENGTH_LONG).show();
} finally {
ActiveAndroid.endTransaction();
}
break;
这适用于将图像转换为字节
if (requestCode == CAMERA_REQUEST) {
Uri selectedImage = data.getData();
String[] filePathColumn = {MediaStore.Images.Media.DATA};
Cursor cursor = getActivity().getContentResolver().query(selectedImage,
filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
Eimgname.setText(filePath);
cursor.close();
Bitmap yourSelectedImage = BitmapFactory.decodeFile(filePath);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
yourSelectedImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
byteArray = stream.toByteArray();
c.setImage(byteArray);
}
答案 0 :(得分:0)
从性能视图来看,它更有用,可以将列创建为字符串并从磁盘或Web获取映像。和AA支持保存字节数组可能你的实体类有问题。 并且不要忘记定义自定义type serializer可以帮助您。
答案 1 :(得分:0)
ActiveAndroid
还使用queries
提供自定义SQL SQLiteUtils class
。执行SQL有两种方法,即“execSql”和“rawQuery”。第一个提供没有结果queries
,而第二个提供queries
返回结果。在清单编号中。 12您可以找到methods
的使用示例。
SQLiteUtils.execSql("DELETE FROM Prelegents where id = ?", new String[]{"1"});
List prelegents =
SQLiteUtils.rawQuery(PrelegentDAO.class, "SELECT * from Prelegents where id = ?", new String[]{"1"});