热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

EZShare的一些经验

简介EZShare是什么:EZShare是由四位阿里应届生私下自己做的一款APP,专门为一些闷骚的微信(我问过我们部门的同事,来往没对外提供接口,所以无法做)用户提供服务,根据用户
  1. 简介
    EZ Share是什么:EZ Share是由四位阿里应届生私下自己做的一款APP,专门为一些闷骚的微信(我问过我们部门的同事,来往没对外提供接口,所以无法做)用户提供服务,根据用户的心情来匹配一些装逼的图片,并能把文字合理编排并融入装逼的图片,显得更有逼格。
  2. 系统架构
    因为功能比较简单,所以系统的复杂度也比较简单。主要分为两部分:phonegap,原生Android/IOS,如下图所示。
    《EZ Share 的一些经验》
    phonegap部分除了提供界面和APP的交互之外,还有一个很重要的功能,就是使用canvas对图片的处理,把文字融入图片里面。可能你会奇怪为啥要这样做?因为用原生来处理的话虽然性能不错,但Android和IOS都需要各写一份代码,而且原生对图片的处理比较麻烦。
    Android/IOS原生部分其实很简单,就是接入微信的SDK分享微信。
    phonegap和原生之间的通信我的做法是在原生部分建立一个socket server,通过socket通信。
  3. phonegap部分技术细节
    3.1 phonegap调试
    我觉得phonegap的调试比较麻烦,我是采用weinre进行远程调试,其原理如下图:
    《EZ Share 的一些经验》
    配置步骤:(小心细节,我因为一些细节问题折腾了几个小时)
    【1】 使用npm安装weinre
    2 启动weinre
    3 注入一份js到index.html当中(在虚拟机中特别注意,千万别写localhost或者127.0.0.1,不然的话就会向虚拟机本身请求)
    【4】 记得在config.xml添加访问的权限
    3.2 canvas处理图片
    如下图所示,这个部分主要是分为3个canvas层:
    《EZ Share 的一些经验》
    【1】第一层:主要是渲染图片的背景
    【2】第二层:主要是渲染一些纯色背景并且根据用户的输入的文字渲染上去,并监听输入框的焦点事件,当失去焦点的时候,就会把文字重绘到第二层canvas上
    【3】第三层:这个canvas的display是hidden的,当用户确定发送的时候,就会将第一层和第二层的canvas的内容渲染到第三层并生成一张图片储存到sd卡里面
  4. 原生Android部分技术细节
    其实就是接入微信sdk,当接收到phonegap发来的信息就发送到微信,现在我做了Android,因为太穷了,没有一台ios设备,大概等毕业之后回去入职的时候再买吧,^_^ 反正原生的代码不多,应该也很快。
    想吐槽一下的是android的微信sdk接入有点小麻烦,哈哈!一定要确保包名,签名证书正确才能发送。我也搜到一些资料有些人为了方便可以绕过微信的sdk直接唤醒微信的分享的activity,我猜他们的做法也是查看微信sdk包里面的源码再略加修改!

  5. 效果图
    《EZ Share 的一些经验》

因为咱们EZ团队还在学校度假中,各个都忙着毕业和旅游,所以还需要一点点时间才能推出,哈哈,装逼神器你绝对值得拥有!


推荐阅读
  • DH-UAP是西安大华时代网络科技有限公司开发的新一代应用开发、运行、维护平台。该平台提供了技术统一、架构合理、性能高效、安全可靠的企业级信息系统基础框架和组件库,支 ... [详细]
  • PhoneGap 介绍
    一、PhoneGap是什么1、PhoneGap是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发框架。2、它使开发者能够利用iPhone,A ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • intellij idea的安装与使用(保姆级教程)
    intellijidea的安装与使用(保姆级教程)IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(gi ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 我们程序员为什么要关注 JavaScript ?_js
    受这周我在企业中看到的JS现状的启发,我写了这篇文章。10年之前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在。下面是几个你之所以要关注Java ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • 最近网上搜了一些资料,以前版本的有个安装包,但是最新的版本没有了,他是通过命令行安装并且创建App的,我主要是看的他的文档来 ... [详细]
  • App混合开发(英文名:HybridApp),是指在开发一款App产品的时候为了提高效率、节省成本即利用了原生的开发技术还应 ... [详细]
  • 四十六、PhoneGapPhoneGap可能是Android最初的替代应用框架,于200 ... [详细]
author-avatar
伊丽汇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有