发布了Android的App,我要开源几个组件!

做了一款App,本来是毕业设计但是毕业的时候还没有做完,因为大部分时间都改论文去了,你们都懂的。现在毕业了在工作之余把App基本上做完了。为什么说基本上呢,因为我觉得还有很多功能还没实现,还要很多bug,还要很多东西有待研究。我还会继续更(ren)新(jian)版(bu)本(chai)的,即使没多少人下载~!

本来当时命题的时候想的是做学校范围内的照片笔记App,因为毕竟我们上课的笔记都是用手机拍下来的,有时候还会录像,然后会有个小小的社交,类似超级课程表那样的,但是其目的是分享自己上课的时候拍摄的笔记,考试前复(yu)习的时候更方便。但是时间不够没有做成诶,服务器那块PHP也基本上忘的差不多了,而且我也没有服务器。。。

App

http://android.myapp.com/myapp/detail.htm?apkName=com.yydcdut.note

(可以直接下载)

目前就上了应用宝和Flyme的商店,因为身份证拿回来老家处理档案和户口去了,所以没法申请开发者。

应用信息

习惯了用手机拍照来记录一些重要的事情和资料?

拍完照之后回过头却早已忘记当初拍摄的原因和照片的意义,只恨当初没法在照片上写上一笔!

各种凌乱的照片无法归类整理?想起一张照片却又怎么都找不到?

拍摄的照片不是美美的?拍摄的照片不清晰?

换了手机照片和笔记都没法导过来?

PhotosNoter - 就是这样一款:

~能帮你快速整理和分类你的照片

~能在第一时间将照片分类,永远不会忘记拍下它的理由

~通过不同的角度来玩转你的照片

~照片不是美美的话可以滤镜一下下

~在图片上写写画画

~第三方登录,云备份

~想把重要的照片和笔记分享给朋友

大概功能

App实际上可以说是一个相册,只是在相册的基础上加上了笔记这块功能。

  • 相册功能(ImageLoader加载图片)
  • 分类功能
  • 拍照功能(系统和自己写的)
  • 本地上传图片(系统的,后期打算自己写)
  • 文字编辑
  • 滤镜(Camera360 EDIT SDK)
  • 文字编辑

App中我认为的干货

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

大概想到的只有那么多,在写App的过程中学习到了许多,去看了许多开源的东西,真的学到了好多。所以我也想要开源!

我也要开源

因为整个App技术含量不高,有很多控件都是开源的直接拿来用的,但是在App中我也做了许多控件,打算把他们开源出来。

SlideAndDragListView

https://github.com/yydcdut/SlideAndDragListView

欢迎Star!

这个已经放到github上了,但是我还没有整理好,现在抽离出来功能都已经实现了,bug也被我改掉了不少,目前我这边简单测试的话基本上没有什么bug了。接下来我要做的是把控件抽成一个Module。

好消息:我注释写的很详细。

不要问我为什么那么详细,我不会告诉你青轴键盘码起来根本停不下来。

主要功能

  1. item可以侧滑,侧滑之后显示出来的两个button可点击。
  2. item可以拖放移动。

大概实现

  1. ListView中的setOnItemClick()和setOnItemLongClick()都被我覆盖掉了,因为和手势冲突,所以我就自己另外在onTouch中自己定义了LongClick事件。
  2. 侧滑是Scroller实现的。
  3. 拖放是通过OnDragListener实现的。

Camera&Camera2 MVC

这部分的Camera2部分都还没有写,只写了Camera部分。

https://github.com/yydcdut/Camera-Camera2-MVC

当上面那个弄完之后我就开始弄这个辣。到时候另启一篇文章吧,因为Camera2真的很棒。(N5,N6上基本上支持所以参数,但是像魅族,小米那些5.0的Rom大部分都不支持,还是Legacy-Level的)。

目录结构:

我是天王盖地虎的分割线

我不敢直接开源App,因为我觉得App写的并不是那么的好,而且还要不断的更新版本。但是后面还是回考虑开源出来的。

https://github.com/yydcdut/SlideAndDragListView
https://github.com/yydcdut/Camera-Camera2-MVC

谢谢大家,散花欢迎到github上star哟

posted @ 2015-08-18 10:09  我爱物联网  阅读(5774)  评论(34编辑  收藏  举报
AmazingCounters.com