Android VR Player(全景视频播放器) [2]:开发说明

来源:互联网 发布:ip与mac绑定有什么缺点 编辑:程序博客网 时间:2024/05/21 05:06

Android VR Player(全景视频播放器) [2]:开发说明

工具

本项目主要的开发工具为Android Studio 2.3,Android SDK Tools版本为26.0.2,Android Platform Version为API 25:Android 7.1.1;版本管理用了git;操作系统为Ubuntu 16.04 LTS。


过程

因为自己前期并没有Android开发的经历,所以这次基本上算是从零开始。大二时修过Java课,但都忘得差不多了。不过这些天来的开发经历也告诉自己,Android开发入门的话,不需要那么多前期知识储备,直接上手一点点去学会更有效,但是对一些概念还是要有基本的认识。比如,类,继承,接口,静态,重写等,这些都可以从任何一本Java入门书中查到,除此之外,activity,fragment等也是需要有一定认识的基本概念。因为涉及到界面,所以还需要会写一点基本的xml布局。

自己在开发过程中,要做某种效果时,经常就是百度,比如要实现视频列表,就百度“Android 视频列表”,然后就会找到很多相关的专业词汇,然后再用这些词汇作为关键词去检索,很容易会找到一些前辈们写的博客和demo,运行一下,看看代码,然后再加到自己的项目中。这种方法虽然很快,但是别人的方法,用到自己的项目中,难免出现“水土不服”的现象,这个时候就需要自己去看懂前辈实现的思路,为什么这样写,然后再针对自己的项目进行修改。

遇到问题的时候,自己一般先是debug,调不出来再百度,最后再google。一般的问题都能解决,很具体的问题,就需要自己仔细想了,加调试输出,去推逻辑。程序是死的,它只会按照人给的逻辑去执行,会出问题的是人,而不是程序。自己因为有时候不求甚解,生搬硬套地用了前辈们的代码,运行的过程中出了不少问题,这种情况下写代码,自然是越写越提心吊胆,因为自己都不知道运行起来到底是怎么样。自己在能力范围内尽可能地避免一些异常,但是最后Monkey测试(压力测试,可以理解为一只猴子什么也不知道地乱按你写的应用,看看多久会出问题)的时候,还是惨不忍睹。 所以,要想写出质量高的应用,还是没那么简单,还有很长的路要走。

五一期间完成了界面的基本设计,五一后打算做全景视频的采集和拼接,并完善服务器端,之后便是VR Player的视频播放控制,然后会根据师兄给的demo做全景视频的播放处理,最后会进行整体的测试。


Android Studio工程的目录结构和检索的tips

Android工程的目录结构
下面会简单说明一下自己对Android Studio工程目录结构的认识,已经熟悉的读者可以直接跳过。

上图为一个本项目的Android Studio工程目录结构,我们需要对典型的Android工程的目录结构有基本的认识,不过这个在开发的过程中慢慢就会熟悉,但是,提前有一些了解也是必要的。Android开发还是推荐使用Android Studio,毕竟是官方的,会方便很多,减少很多不必要的麻烦,当然,习惯Eclipse的话,也可以继续使用,毕竟工具是为人服务的,不过还是推荐尝试一下Android Studio,应该会得到更好的开发体验。

最关键的是app文件夹下的内容:

build文件夹下是build工程后得到的内容,比如我们生成的apk就可以在该文件夹下的outputs文件夹中找到;

下一个是src文件夹,这里的内容包含我们的项目源码文件夹(项目的逻辑在这里实现)和资源文件夹res,资源文件夹下的drawable文件夹保存着项目中的一些图片资源,layout文件夹下保存着项目的布局文件,values文件下的几个xml文件,strings.xml,colors.xml等定义了本项目的一些资源变量,比如定义一些颜色信息和字符串等,res文件夹还有一个重要的文件是AndroidManifest.xml,顾名思义,它用来表明本项目的一些基本信息,比如这个项目有哪些activity,需要哪些权限等等;

app文件夹下还有一个build.gradle文件,这个文件用来说明本项目使用自动构建工具Gradle时的一些配置,比如sdk的版本,依赖等。

当然一个Android Studio工程还有许多其他的目录,比如外部库,module等,这些在开发的过程中慢慢就会用到,不过比较常用的就是上面说明的部分,一个工程中有很多内容都是Android Studio自动生成的,这些部分并不需要我们关心。


Android 开发离不开检索(做开发似乎都离不开),百度比较常用,因为有很多问题会得到“本土”前辈们贴心的解答,他们无私地分享在各种博客上的内容往往对于我们有很好的指导;Google也会经常用,因为有些问题确实要爬出去看看,才能得到答案。如果使用Android Studio来开发的话,某些工具又不能不用,因为更新等都要从Google公司的服务器下载。

一般来讲,大多数的问题都可以在国内主要的技术博客CSDN和博客园等中找到解决办法,当有许多信息的时候,对我们筛选信息的能力提出了要求。一些比较优秀的博主通常会有较高的浏览量,比如CSDN有个博客专家的认证,这些“博客专家”写的博客通常语言清楚,逻辑严谨,思路清晰,有的还会给出完整的demo,这种博客是有较高的参考价值的,当然也不排除一些没有那么高的排名但是同样写得很好的博主。反之,有的博主则是直接贴整篇的代码,逻辑混乱,含糊不清,这种博客就没有太大的参考价值。国内的许多问答社区通常也会给我们许多的启示,但像百度知道这种不太专业化的就不推荐。国外的话,自己主要是看一些github上的项目代码和Stack Overflow中的问答。


下一篇将会介绍自己是如何用bottomnavigationbar和fragment实现底部导航的。

0 0
原创粉丝点击