Skip to content

aquarius20th/android_PhotoNoter

 
 

Repository files navigation

PhotoNoter

Material Design风格的开源照片笔记。

下载:

如果发现bug或者有什么建议,欢迎在issue里面讨论

应用截图

动画gif

界面

技术点

  1. 相机MVC架构(正在抽离出来中 Camera-Camera2-MVC)。
  2. 相机的状态机(状态机不对很容易崩哦~还要参数部分)。
  3. 照片缓存分为两种,一个是大图,一个是小图,小图是相册界面缩略图的时候加载的,大图是可以照片详情页面的时候加载的。
  4. 每个笔记的数据库ID都是某个分类的外键。
  5. 图片处理,这是一个老生常谈的了。但是在App中,发现很多这方面的问题我还没有解决。比如红米1s后置摄像头800W,那么拍一张图是3M左右,但是Camera的照片的0度是我们正常手机视角的90度。那么我们需要把这个3M的图片给翻转过来,又不想失分辨率,诶,java臣妾做不到啊!那么现在的解决办法是不去拍摄800W像素的,拍大概400-500W像素的不会OOM的。
  6. 沙盒。每次拍完照都是先把数据放到沙盒数据库中,然后再到服务中去作图,做完的话再从数据库中删除掉。作图的Service是和Camera那个Activity绑定的(bind方式),当不再拍照的时候就退出了Service,然后回到相册界面的时候会去判断沙盒数据库中是否有没有做完的图,没有做完的话另外启一个进程的Service继续作图。
  7. 图片处理完之后(比如在Service中做完了图之后)通知更新界面,用的是广播。
  8. 高斯模糊(网上找的),如果图大的话会非常慢。
  9. activity退出和进入的动画。这块弄了很久,主要是想模仿Android5.0的那种,但是有些界面做出来超级卡。
  10. 主题设置,沉浸式状态栏(5.0)。
  11. 可以滑动item和可以拖放item的ListView(SlideAndDragListView)。
  12. …...

更新版本说明

1.1.2

  • API21之后的透明状态栏和沉浸状态栏
  • RecyclerView的动画
  • 引导页重构
  • 详情页重构
  • 由之前数据库内容变化发广播改成观察者模式
  • 数据库重构
  • 详情页重构,添加功能
  • 解决上一版本已知bug

1.1.1

  • RecyclerView替换GridView
  • 图片界面Delete动画
  • 5.0兼容
  • 详情页重构
  • Camera方向旋转带动View旋转
  • 设置界面相机矫正功能
  • Camera前置摄像头镜像功能
  • 设置界面重构
  • 拍照比例1:1后台作图截图功能

1.1.0

  • 相机界面以及功能
  • 抽离相机出来成Lib
  • 介绍页面
  • 添加字体
  • QQ登录
  • AIDL,Service作图
  • 重构Splash界面
  • 5.0风格Dialog
  • 作图沙盒

致谢

License

Copyright 2015 yydcdut

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

About

Material Design风格的开源照片笔记。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 100.0%