四月份开始学android,并着手做这个项目,腾讯面试实习忙了半个月没有再做最终铩羽而归。做到5月30日,做了一个交差版,停下了差不多一个月,这两天再捡起完善一点。

项目是做一个视频保存和分享的网站,是网盘和视频分享的结合。用户自拍视频记录生活点点滴滴,上传到服务器保存,可以随时下载,或者通过发送视频邮件与好友分享自己的自拍视频。

分为三端实现,PC端、web端、android端。我是负责android客户端的实现。

功能结构模块图:

对于拍摄这一块,着实让我纠结一段时间。原因就是我用的手机系统版本是2.2,使用createTemplefile 创建一个临时保存的文件,Mediarecorder调用相机录制视频,没有任何问题。但是自android4.0以上, 不再是在SD卡上创建一个临时文件,忘了在哪里创建临时文件了。结果就是在4.0上录制的时候崩溃了。

后来改了直接在目录下创建一个文件的方式。对视频输出格式使用MediaRecorder.setProfile方法,并且要私用CamcorderProfile.get()方法来获得一个Profile的示例。但是在2.2版本需要设置视频输出格式,编码参数。

因为服务器数据库设计的有问题,对于邮件这一块我暂时放弃,没怎么做。

还有一个问题,就是刷新数据问题,我对列表的数据进行修改,需要退出到主界面,再次进入列表才能刷新,因为我列表的数据都是从数据库中导出来的。过段时间完善是,这个我想开一个线程动态加载列表数据解决。

在这个项目上我没有用到service后台处理,这个是一个很失败的地方,上传过程中只能等待上传完毕才可以进行下一步操作。需要用到service的有上传视频。

另外一个就是像素太高的摄像头拍摄的视频太大了,用小米测试的时候10秒钟就有23M了。。。没有进行编码压缩,手机流量肯定消受不了,除非有wifi。

视频日志之android的总结与思考的更多相关文章

  1. Android插件化的思考——仿QQ一键换肤,思考比实现更重要!

    Android插件化的思考--仿QQ一键换肤,思考比实现更重要! 今天群友希望写一个关于插件的Blog,思来想去,插件也不是很懂,只是用大致的思路看看能不能模拟一个,思路还是比较重要的,如果你有兴趣的 ...

  2. 监控、日志、APM整个监控体系思考 我为峰2014 简书作者 4.6092018-11-19 11:39打开App 序言

    监控.日志.APM整个监控体系思考 我为峰2014 简书作者 4.6092018-11-19 11:39打开App 序言

  3. Android面试题《思考与解答》11月刊

    又来更新啦,Android面试题<思考与解答>11月刊奉上. 说说View/ViewGroup的绘制流程 View的绘制流程是从ViewRoot的performTraversals开始的, ...

  4. 更新日志 - BugHD Android 客户端上线

    当我们讨论 Bug 的时候,总是一脸愁容.尤其是移动应用的开发者,要应对用户可能在各种场景下使用 App 时产生的莫名崩溃. 为了更好地解决开发者的焦虑,BugHD Android 客户端上线了,高效 ...

  5. YOLO2:实时目标检测视频教程,视频演示, Android Demo ,开源教学项目,论文。

    实时目标检测和分类 GIF 图: 视频截图: 论文: https://arxiv.org/pdf/1506.02640.pdf https://arxiv.org/pdf/1612.08242.pdf ...

  6. cocos2d-js 写日志log 查看日志log Android调试查看log

    1 输出日志的方式,当然是cc.log了 2 如何查看日志?        a)如果小程序可以先在浏览器上跑,例如用chrome,在控制台就可以看到输出的log:        b)如果在真机上调试, ...

  7. Android OOM 引发的思考

    一.为何会出现OOM 因为Android系统的硬件资源是相当有限的,而且分配给一个应用的资源更为有限,尤其是内存.当应用突然申请的内存大于允许的最大值的时候,就会出现OOM. 如果想要获取App的内存 ...

  8. 近期对招聘Android开发者的一些思考

    公司要招聘Android开发者,故面试了大概十来个人.由于是小公司,所以来的人大多是90后,比較年轻.90后大概二十三四岁吧,从简历上看都写了一到两年的工作经验. 也由于是小公司,所以对工作经验这些没 ...

  9. html5--移动端视频video的android兼容,去除播放控件、全屏等

    html5 中的video 在手机浏览器中的总结所有页面播放时, 如果选择全屏播放, 播放画面将浮动到屏幕的最上层 IOS 手机   自动播放 播放界面浮动文字 播放时是否自动全屏 能否嵌入在页面中播 ...

随机推荐

  1. 【Java 小实验】重写(覆写 Override)返回值类型能不能相同

    背景 每次看到重写那里写着: 重写机制是指子类的方法的方法名.参数表.返回值与父类中被重写的方法都相同,而方法体不同. 而重载是: 方法名与父类中的相同,而参数表不同,则属于同名方法的重载. 本来的感 ...

  2. 转:JavaScript函数式编程(三)

    转:JavaScript函数式编程(三) 作者: Stark伟 这是完结篇了. 在第二篇文章里,我们介绍了 Maybe.Either.IO 等几种常见的 Functor,或许很多看完第二篇文章的人都会 ...

  3. service:jmx:rmi:///jndi/rmi

    service:jmx:rmi:///jndi/rmi://ip:9889/jmxrmi http://stackoverflow.com/questions/2768087/explain-jmx- ...

  4. Zookeeper介绍

    Zookeeper是一个分布式的开源系统,目的是为分布式应用提供协调一致性服务. 分布式应用可以在Zookeeper提供的简单原语集之上构造更高层次的服务.比如统一命名服务.状态同步服务.集群管理.分 ...

  5. VS2010中经常使用的快捷键

    1. 格式化对齐:Ctrl+K+F 2. 智能感知:Ctrl+J: 3. 智能感知显示參数信息:Ctrl+Shift+空格: 4. 检查括号匹配(在左右括号间切换): Ctrl +] 5. 选中从光标 ...

  6. leetcode之 median of two sorted arrays

    这是我做的第二个leetcode题目,一开始以为和第一个一样很简单,但是做的过程中才发现这个题目非常难,给人一种“刚上战场就踩上地雷挂掉了”的感觉.后来搜了一下leetcode的难度分布表(leetc ...

  7. winform CheckedListBox实现全选/全不选

    /全选         private void button3_Click(object sender, EventArgs e)         {             for (int i ...

  8. OCP prepare 20140627

    1. catalog start with catalog start with 是一个很好的命令. 有了这个命令后,  基本上可以不再使用catalog数据库了 . 因为可以通过这个命令将以前的备份 ...

  9. @property和@synthesize

    main.m #import <Foundation/Foundation.h> #import "Student.h" int main(int argc, cons ...

  10. 关于sizeof()和内存对齐

    PS补充:枚举类型的字节数为什么为4 百度知道回答: typedef enum e1{ MON, TUE, THI, }e; e1是一个数值,它的允许值范围是: MON,TUE,THI, 它的取值为其 ...