美文网首页Android开发经验谈程序员android实用技术
AutoCamera - 极简的Android拍照/相册/截图调

AutoCamera - 极简的Android拍照/相册/截图调

作者: Jason__Ding | 来源:发表于2016-08-09 11:12 被阅读673次

    AutoCamera是什么?


    AutoCamera可以帮你用几行代码,就完成拍照/相册/截图的API调用。

    怎么用呢?


    前提

    这个库不负责申请权限,需要有的权限有:

        <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    

    使用方法

    1. 在Activity上使用此注解,指定存储位置,以下两种方式可以取其一
    /**
    @NeedUseCamera是必须的,savePath可以不传,但是一定要有@PathGenerator才行,默认needCrop为fales,即关闭截图
    */
    @NeedUseCamera(savePath = "test.jpg")
    public class MainActivity extends AppCompatActivity {
    /**
    如果指定了savePath,这个方法可以不创建,如果创建了这个方法,会覆盖savePath
    */
    @PathGenerator
    String generatePath(){
        return "test.jpg";
    }
    }
    
    • 声明返回方法
    // 参数的类型必须是Uri
    @OnImageReturn
    void onImageReturn(Uri uri){
        Toast.makeText(this,uri.toString(),Toast.LENGTH_LONG).show();
    }
    
    • Build 了之后,在onActivityResult中添加
    MainActivityAutoCamera.onActivityResult(this,requestCode,resultCode,data);
    
    • 使用
      // 开启相册
      MainActivityAutoCamera.openAlbum(MainActivity.this);
      
      // 开启相机
      MainActivityAutoCamera.openCamera(MainActivity.this);
    

    配置

    1. 根项目下的build.gradle添加插件
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
    
    • app项目下的build.gradle添加依赖
     compile 'org.jason:autocamera-library:0.0.1'
     apt 'org.jason:autocamera-processor:0.0.1'
    
    • app项目下的build.gradle应用插件
    apply plugin: 'com.neenbedankt.android-apt'
    

    为什么要这么做


    从开始做Android开发,用相机的API经过了三个阶段:

    1. 在每个需要调用摄像头的地方,新建Intent,然后startActivityForResult,然后在onActivityResult中进行处理。
    • 封装一个工具类,将新建IntentstartActivityForResult封装,但是还是需要在onActivityResult中,获取返回结果,并处理。
    • 使用AutoCamera,将能封装的,全部封装。

    其中,需要的参数,例如保存地址,截图后的比例,截图后图像的大小,都可以在注解中声明。

    怎么做的


    大家应该都是用过Dagger/ButterKnife,使用同样的思路,使用注解来生成代码,帮我们自动写出来要用的代码。

    例如MainActivityBuild之后会生成一个MainActivityAutoCamera的类,这个类并不复杂,就是我们平时写的那些代码,大家一看便知道了。

    Github


    点击AutoCamera可以查看源码,欢迎大家fork,start,issue。

    相关文章

      网友评论

        本文标题:AutoCamera - 极简的Android拍照/相册/截图调

        本文链接:https://www.haomeiwen.com/subject/bxxdsttx.html