发布了Android的App,我要开源几个组件!
做了一款App,本来是毕业设计但是毕业的时候还没有做完,因为大部分时间都改论文去了,你们都懂的。现在毕业了在工作之余把App基本上做完 了。为什么说基本上呢,因为我觉得还有很多功能还没实现,还要很多bug,还要很多东西有待研究。我还会继续更(ren)新(jian)版(bu)本 (chai)的,即使没多少人下载~!
本来当时命题的时候想的是做学校范围内的照片笔记App,因为毕竟我们上课的笔记都是用手机拍下来的,有时候还会录像,然后会有个小小的社交,类 似超级课程表那样的,但是其目的是分享自己上课的时候拍摄的笔记,考试前复(yu)习的时候更方便。但是时间不够没有做成诶,服务器那块PHP也基本上忘 的差不多了,而且我也没有服务器。。。
App
(可以直接下载)
目前就上了应用宝和Flyme的商店,因为身份证拿回来老家处理档案和户口去了,所以没法申请开发者。
应用信息
习惯了用手机拍照来记录一些重要的事情和资料?
拍完照之后回过头却早已忘记当初拍摄的原因和照片的意义,只恨当初没法在照片上写上一笔!
各种凌乱的照片无法归类整理?想起一张照片却又怎么都找不到?
拍摄的照片不是美美的?拍摄的照片不清晰?
换了手机照片和笔记都没法导过来?
PhotosNoter - 就是这样一款:
~能帮你快速整理和分类你的照片
~能在第一时间将照片分类,永远不会忘记拍下它的理由
~通过不同的角度来玩转你的照片
~照片不是美美的话可以滤镜一下下
~在图片上写写画画
~第三方登录,云备份
~想把重要的照片和笔记分享给朋友
大概功能
App实际上可以说是一个相册,只是在相册的基础上加上了笔记这块功能。
- 相册功能(ImageLoader加载图片)
- 分类功能
- 拍照功能(系统和自己写的)
- 本地上传图片(系统的,后期打算自己写)
- 文字编辑
- 滤镜(Camera360 EDIT SDK)
- 文字编辑
App中我认为的干货
- 相机的状态机(状态机不对很容易崩哦~还要参数部分)。
- 照片分为两种,一个是大图,一个是小图,小图是相册界面缩略图的时候加载的,大图是可以照片详情页面的时候加载的。
- 每个笔记的数据库ID都是某个分类的外键。
- 图片处理,这是一个老生常谈的了。但是在App中,发现很多这方面的问题我还没有解决。比如红米1s后置摄像头800W,那么拍一张图是3M 左右,但是Camera的照片的0度是我们正常手机视角的90度。那么我们需要把这个3M的图片给翻转过来,又不想失分辨率,诶,java臣妾做不到啊! 那么现在的解决办法是不去拍摄800W像素的,拍大概400-500W像素的不会OOM的。
- 沙盒。每次拍完照都是先把数据放到沙盒数据库中,然后再到服务中去作图,做完的话再从数据库中删除掉。作图的Service是和Camera 那个Activity绑定的(bind方式),当不再拍照的时候就退出了Service,然后回到相册界面的时候会去判断沙盒数据库中是否有没有做完的 图,没有做完的话另外启一个进程的Service继续作图。
- 图片处理完之后(比如在Service中做完了图之后)通知更新界面,用的是广播。
- 高斯模糊(网上找的),如果图大的话会非常慢。
- activity退出和进入的动画。这块弄了很久,主要是想模仿Android5.0的那种,但是有些界面做出来超级卡,卡到爆。
- 主题设置,沉浸式状态栏(5.0)。
- (后续添加GridView的动画)。
- (文字编辑中的Emoji和语音输入)。
- (等等等等。。。。。。)
大概想到的只有那么多,在写App的过程中学习到了许多,去看了许多开源的东西,真的学到了好多。所以我也想要开源!
我也要开源
因为整个App技术含量不高,有很多控件都是开源的直接拿来用的,但是在App中我也做了许多控件,打算把他们开源出来。
SlideAndDragListView
欢迎Star!
这个已经放到github上了,但是我还没有整理好,现在抽离出来功能都已经实现了,bug也被我改掉了不少,目前我这边简单测试的话基本上没有什么bug了。接下来我要做的是把控件抽成一个Module。
好消息:我注释写的很详细。
不要问我为什么那么详细,我不会告诉你青轴键盘码起来根本停不下来。
主要功能
- item可以侧滑,侧滑之后显示出来的两个button可点击。
- item可以拖放移动。
大概实现
- ListView中的setOnItemClick()和setOnItemLongClick()都被我覆盖掉了,因为和手势冲突,所以我就自己另外在onTouch中自己定义了LongClick事件。
- 侧滑是Scroller实现的。
- 拖放是通过OnDragListener实现的。
Camera&Camera2 MVC
这部分还没有放到github上,主要是因为我的Camera2部分都还没有写,只写了Camera部分。
当上面那个弄完之后我就开始弄这个辣。到时候另启一篇文章吧,因为Camera2真的很棒。(N5,N6上基本上支持所以参数,但是像魅族,小米那些5.0的Rom大部分都不支持,还是Legacy-Level的)。
目录结构:
我是天王盖地虎的分割线
我不敢直接开源App,因为我觉得App写的并不是那么的好,而且还要不断的更新版本。但是后面还是回考虑开源出来的。
谢谢大家,散花~欢迎到github上star哟~