android平台项目开发杂谈
好久没发帖了,之前每次都是发著作贴,这次发个经历沟通贴。前段时间给一家公司做了个unity的android渠道上的项目,由于保密性这里给不了截图,所以就和我们谈谈开发中的一些经历之谈吧。
这个项目是个室内描绘软件,撑持房间户型自界说,能够界说恣意的形状,然后撑持各种家具,如门窗、垭口、间隔、灯具等等,这些家具都有各自的特点,长宽凹凸都可自界说。除了安卓客户端之外,项目需求要有服务器端,用户能够在客户端新建项目,制造好一个户型后能够将户型上载至服务器,然后之后能够从服务器端下载项目到客户端;还有客户端还需求自行存储数据,若是不上载新建的项目,在本地数据也要进行保管;客户端还要有从服务器端下载模型和贴图的功用,客户端本地有个资料库,这个资料库能够经过向服务器下载新的资料进行拓宽。
这里我就unity完成android端和服务器端通讯和数据下载以及android端数据存储进行一些经历共享。
首要unity完成android和服务器端交互有多种方法,我挑选的是WWW类拜访服务器端的URL并WWWForm传送验证参数,服务器端的拦截器获取恳求后处置参数回来一个成果字符串,这个字符串就是交互的中心,我对这个字符串进行格局化处置,就像TCP/IP的协议,每个字符串有对应的成果描绘,android端能够获取到这个成果字符串,经过这个字符串的格局解分出所需的成果。比方客户端上载项目信息到服务器端进行保管,这里首要客户端需求输入用户在服务器端注册的用户名暗码,经过这个暗码服务器找到该用户在服务器端的对应项目目录,之后客户端会将一切本地存储的项目数据打包以字符串的格局作为http恳求发给服务器,服务器将这个数据解包后存在不一样的数据表中。
接下来是客户端的数据下载功用,根据unity的下载功用就是WWW的流式下载,客户端拜访服务器一个.unity3d或.jpg资源,然后经过www.byte将二进制数据写到本地进行保管,由于我这个项目撑持批量下载,多以还触及一些验证和重传的难题,这里就不加描绘,最终客户端描绘户型的时分一切的模型资料就是从本地读取的,本地的资料就是从服务器端下载下来的。
最终说一下unity完成本地数据存储的功用,android渠道数据库许多人会用sqllite,若是用unity开发android程序最棒不要用这个数据库,由于会有许多难题,这个看官网论坛的兄弟或许看到过许多关于sqllite的bug,我这边引荐一个目标数据库叫Siaqodb,这个数据库比来挺火的,撑持windows phone,android,ios等挪动渠道,这个数据库用一个邮箱注册后能够得到一个月的序列号。这个数据库存储数据的形式是根据目标的,一个目标就是一个C#类,比方一个People类,就相当于一张People表,表里的age、name、sex等字段就是People类的特点,这个和java的bean概念差不多。自己的主张就是用这个数据库必定要看官方的文档,要不然后期会碰到许多吐血的难题。
对了,忘了说了,最重要的一个,就是许多刚开始用unity开发android运用的兄弟最关怀的,就是手指的操作怎样完成,由于unity那套finger的API其实很不便利,调试必定要用模拟器或许直接打包成apk后才干测验,这个关于开发其实是很不便利的,这里我引荐一个asset store上面畅销的一个插件,叫FingerGestures,这个插件现已对finger的那套函数进行了简直完美的封装,里边有许多demo让你知道一切的手指事情的运用,并且这个插件调试十分便利,它会自动检测运转渠道,若是是editor或window/web渠道,它就会用mouse事情替代一切finger事情,iso/android渠道它就会运用finger事情,一切的pinch、swap、move、drag、stay等悉数进行完美的封装。
好了,就说到这里吧,欢送我们之后持续沟通。文章来源 立丰食品
posted on 2012-12-26 18:07 MonkeyDLuffy 阅读(122) 评论(0) 收藏 举报
浙公网安备 33010602011771号