小编Arc*_*tos的帖子

如何找到使用Intent MediaStore.ACTION_IMAGE_CAPTURE拍摄的照片的方向?

当我使用Androids相机应用程序拍照时,它会检测手机的方向并相应地保存照片.因此,如果我拍摄建筑物的照片,无论是将手机置于横向位置还是纵向,屋顶都将位于顶部.

但是,当我使用时

Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

要获得图片,相机应用程序不会对方向做出反应.如果我垂直握住手机(人像),结果图片将会旋转,所述建筑物的屋顶位于屏幕左侧.

如何设置意图以使相机考虑方向?

或者我可以在某种程度上推断出拍摄照片的方向,然后自己旋转它?

或者任何其他建议将不胜感激.

〜提前致谢,最好的问候.

camera android android-intent

21
推荐指数
2
解决办法
2万
查看次数

如何使用大位图.旋转并插入画廊

我需要用相机拍照,如果取决于图片大小,请先将其旋转,然后再将其保存到图库中.

我正在使用

Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri); startActivityForResult(imageCaptureIntent,IMAGE_CAPTURE);

拍摄照片并将其保存到临时文件中.

然后

位图bmp = BitmapFactory.decodeFile(imagePath);
String str = android.provider.MediaStore.Images.Media.insertImage(cr,bmp,name,description);

保存它.

这是我试图用来旋转位图的代码

Matrix matrix = new Matrix();
matrix.postRotate(180);
Bitmap x = Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),bmp.getHeight(),matrix,true);
android.provider.MediaStore.Images.Media.insertImage(cr,x,name,description);

问题是我得到一个OutOfMemoryException.

是否有更好的方法来处理位图以避免破坏内存?

〜先谢谢,问候

memory camera android image

5
推荐指数
1
解决办法
3015
查看次数

Green Dao onUpdate.如何向旧表添加新列?

使用绿色dao时,需要进行一些代码自定义,以便从一个模式更新到下一个模式.对于我之前的需求,在DaoMaster.java中使用这样的代码添加任何新表就足够了:

 if(oldVersion==SCHEMA_VERSION_OLD_VERSION&& newVersion==SCHEMA_VERSION){
             Log.i("greenDAO", "Upgrading schema from version " + oldVersion + " to " + newVersion + " by adding language & checklist table");                 
             boolean ifNotExists = true;
             NewTableDao.createTable(db, ifNotExists);
             NewTable2Dao.createTable(db, ifNotExists);              
        }
Run Code Online (Sandbox Code Playgroud)

到目前为止,它的效果非常好.但是对于我当前的模式,我在表之间添加了更多连接,并且在从旧版本更新之后,我发现崩溃表明新列不存在.

在greendao有添加新列的方法吗?我是否需要以旧学校的方式编写sqlite代码才能实现这一目标?(任何代码示例都很受欢迎)

提前致谢

sqlite android greendao

1
推荐指数
1
解决办法
4514
查看次数

标签 统计

android ×3

camera ×2

android-intent ×1

greendao ×1

image ×1

memory ×1

sqlite ×1