由后台任务和界面UI组成
每个界面可以理解为一个Activity
开发过程应注意Activity生命周期
之间依靠Intent通讯,可以传递数据
除少数特殊服务外,大多数都有界面
src/main/java 下就是java源码的路径
src/main/res 存放资源文件
src/main/res/layout 界面布局
AndroidManifest.xml 为整个项目的配置
我们暂时只关心上面几个路径
因为我们需要拍摄,并给出魔方限定区域,因此不能直接使用子带的相机界面,只能自己定制预览窗口。
界面开发比想象中的要复杂很多,预计需要一个星期才能基本采集到想要的图像。
SurfaceHolder
预览相机内容
通过如下代码可直接调用系统api拍摄照片
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("android.intent.extras.CAMERA_FACING_FRONT", 1);
// 调用前置摄像头
startActivityForResult(intent, 1);
在这一步的基础上,需要在拍摄的时候给出一个拍摄的区域,类似二维码扫码时的界面。
拍摄完成后我们只保存选定的正方形区域
给应用申请权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Android 7 以上还需要动态申请