微信号:ardays

介绍:android每日绝对干货

一款照片笔记风格的照片

2016-08-16 20:25 孙孙啊i

技术要点:

  1.  整体项目MVP结构(1.2.0版本之前是 MVC )。

  2. Dagger2 。

  3. 相机部分,API >= 21使用 Camera2 ,API < 21使用 Camera 。

  4. 相机的状态机,聚焦状态机。

  5. 照片缓存分为两种,一个是大图,一个是小图,小图是相册界面缩略图的时候加载的,大图是查看图片的时候加载的。

  6. 图片处理。但是在 App 中,发现很多这方面的问题我还没有解决。比如红米1s后置摄像头800W,那么拍一张图是3M左右,但是 Camera 的照片的0度是我们正常手机视角的90度。那么我们需要把这个3M的图片给翻转过来,但是呢又不想失分辨率,就会导致OOM!那么现在的解决办法是设置EXIF信息,然后显示图片通过 Exif 信息去旋转角度。

  7. 沙盒。每次拍完照都是先把数据放到沙盒数据库中,然后再到服务中去作图,做完的话再从数据库中删除掉。作图的 Service 是和 Camera 那个 Activity 绑定的(bind方式),当不再拍照的时候就退出了 Service,然后回到相册界面的时候会去判断沙盒数据库中是否有没有做完的图,没有做完的话另外启一个进程的 Service 继续作图。

  8. Activity 退出和进入的动画。这块弄了很久,主要是想模仿 Android5.0 的那种,但是有些界面做出来超级卡。

  9. 一些 UI 的动画,比如 “ 意见反馈”、 “ 语音输入” 这里面的动画。

  10. 主题设置,沉浸式状态栏(Android 5.0)。

  11. 切换主题。

  12. 可以滑动 item 和可以拖放 item 的 ListView(SlideAndDragListView)。

  13. Android 原生平台的 Markdown,支持 EditText 编辑实时预览 (RxMarkdown)。

  14. RxJava + RxAndroid(RxCategory/ RxPhotoNote/ RxSandBox/ RxFeedBack/ RxUser)。

  15. dex分包处理。第一次开启App的时候 install dex + dexopt 时间很长,所以第一次开启的时候另启进程专门做这个事情,防止主线程因为时间长而发生ANR。以及自己去配置主dex是为了以防自动分包ClassNotFound异常。

  16. Dex自动分包脚本。

  17. Android 6.0 权限适配。

  18. NDK && AIDL。


项目截图:



(回复“开源项目-一款照片笔记风格的照片”即可获取下载链接)

  今天的干货就到这里了,每天有各种干货等着你.各种实用的Demo等着你下载。喜欢的用户可以长按下图的二维码进行关注哦.


 
Android每日干货 更多文章 音乐播放器(android studio版本) Android之你不可不知道的小知识 5 个顶级 Android 开源库 模仿荷包启动动画 android日常开发总结的技术经验60条
猜您喜欢 实现电商平台从业务到架构的治理体系 苹果公司各岗位工资排行! 房源推荐、房屋估价、经纪人画像...,链家如何利用数据挖掘技术服务房地产? 独家放送|金融IT行业与容器的巅峰对话:听梁胜博士畅谈容器技术未来 免费在线讲座|丛林对决:透过云家政解读O2O行业生存法则