自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 注册登录请求中RSA加密,PHP服务器和Android客户端实现

前言客户端利用Http协议进行注册和登录等操作时,如果不做特殊处理,请求中携带的密码等敏感信息是明文传输的,有可能会被截获。解决这个问题最好的方法当然是使用Https协议,但是Https协议需要像权威机构申请证书才能保证足够的安全性,在没有证书的情况下,可以考虑自己来实现加密解密处理。我们现在的场景只考虑在Http请求中加密,Http响应中没有敏感信息,暂时不考虑加密。首先考虑下对称加密的方式,这种

2017-11-28 16:38:06 3007 2

原创 Appium最新的Java client库废弃了swipe等函数后,用TouchAction实现各种手势操作

前言更新了最新的Appium java-client库 io.appium:java-client:5.0.4,对着官方文档找函数,发现一些文档上写的函数,在代码里敲不出来,像下面这几个 http://appium.io/slate/en/master/?java#swipeSWIPESimulate a user swipe.// javadriver.swipe(75, 500, 75, 0

2017-11-12 17:56:56 5344

原创 模拟用户弧线滑动,算法python实现

前言用自动化软件执行脚本时,其中拖拽、滑动等这些操作往往是直线,而实际用户滑动时一般都不是直线,可能是一段弧线或者更复杂的线。下面就介绍一种计算两个点直线弧线路径的方法,并通过 python 和 sikuli 实现弧线滑动弧线坐标计算已知 A、B两点坐标分别为(x1,y1)、(x2,y2),求经过A、B两点的弧线,显然这样的弧线有无数条,需要再加上限定条件,弧线的弧度φ,也就是A、B两点和圆心连线的

2017-11-07 18:10:34 3776

原创 Java + TestNG + Appium 实现单机多个Android终端并发测试

前言我们知道,单台 PC 上用 Appium 连接多个 Android 终端进行测试时,需要同时用不同的端口号启动不同的 Appium Server,例如启动两个服务器:node main.js -p 4723 -bp 4724 -chromedriver-port 9515 -U emulator1node main.js -p 4725 -bp 4726 -chromedriver-port

2017-09-26 02:48:13 6744 10

原创 Android Studio下使用JAVA+Appium进行自动化测试及简单封装

背景待测Android项目源码:https://github.com/zhongchenyu/jokes 测试项目源码: https://github.com/zhongchenyu/jokes-appium创建项目先随便新建一个空的Android项目,然后在项目根目录下:右键-new-module,选择Java Library: 这里我们将Module命名为demotest,然后将待测应用的a

2017-08-22 16:13:55 6215 1

原创 Laravel项目中运用Travis持续集成和自动化测试

背景在很多Github开源项目页面的readme中,经常看到类似的图标 这个 bulid passing,其实是 Travis 的构建状态图标。Travis 是一个结合 Github 使用的持续集成(CI:continuous integration)工具。持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集

2017-07-09 18:17:35 1960

原创 Laravel 实现自动更新服务器数据

背景最近写了一个看笑话的 Android 应用,数据来源于一个半免费的 API 接口,每个 app_key 每天有访问次数限制,并且认证机制也过于简单,仅仅是在 HTTP GET 请求的参数里明文传输 app_key,这样的话,就不能直接让客户端来发起请求,一是容易暴露 app_key,二是请求次数很快就会用完。想解决第一个问题,可以使用一个自己的服务器作中转,客户端向我们自己的服务器发起请求,不

2017-06-09 17:56:22 2668

原创 Android 基于 MVP 框架的下拉刷新、上拉加载页面,View和Presenter层基类封装

前言Android 项目开发中经常遇到列表式页面,并且需要实现下拉刷新,上拉到底后加载下一页的功能,这里结合我们项目正在使用的 MVP 框架,介绍一种基类封装方案,实现 View、Adapter、数据处理Presenter层的基类封装,后续继承这几个类,简单地重写下 UI 布局,网络请求即可实现下拉刷新,上拉加载功能。老规矩,先上 Github 和 App 下载链接: App下载地址: http:

2017-05-21 15:52:18 1549

原创 API接口JWT方式的Token认证(下),客户端(Android)的实现

上篇文章已经介绍了 JWT 认证在 Laravel 框架服务器上的实现。这篇文章继续介绍 Android 客户端的实现。回顾下 JWT 认证的流程,客户端先提交账号密码进行登录,账号密码验证成功后,服务器会生成一个 token,其中包含了用户信息,token 到期时间等信息,服务器将 token 返回给客户端后不会保存此 token。客户端接受到 token 后,需要对 token进行存储,在以后访

2017-05-04 02:42:06 12725 6

原创 API接口JWT方式的Token认证(上),服务器(Laravel)的实现

简介最近在开发一个 Android 程序,需要做用户登录和认证功能,另外服务器用的是 Laravel 框架搭建的。最终决定用 JWT 实现API接口的认证。JWT 是 Json Web Tokens 的缩写,与传统 Web 的 Cookies 或者 Session 方式的认证不同的是,JWT 是无状态的,服务器上不需要对 token 进行存储,也不需要和客户端保持连接。而 JWT 的 token 分

2017-05-03 01:44:23 30526 9

原创 利用Git搭建自动部署的Laravel环境

目标:服务器上搭建Laravel环境,本地使用IDE进行开发,使用Homestead做本地调试环境,代码提交后自动部署到服务器Root目录下。 下面是整个流程的示意图: 1. 准备工作,搭建LNMP环境搭建一个Linux服务器,安装好nginx、mysql、php因为要用到Laravel 5.4,对安装的PHP有以下要求 PHP >= 5.6.4 OpenSSL PHP Exten

2017-04-29 03:33:52 5299

原创 使用MVP+Retrofit+RxJava实现的的Android Demo (下)使用Retrofit+RxJava处理网络请求

上篇文章介绍了MVP的实现,这篇文章将介绍Retrofit+RxJava实现网络请求。先重新贴一下需求从网络Api获取Json格式的笑话数据,通过列表方式显示,列表分页显示,当上拉到最后一个数据是,自动从网络加载数据并显示,在顶端进行下拉式刷新数据。最终效果图: App下载地址: http://a.app.qq.com/o/simple.jsp?pkgname=chenyu.jokes 微信

2017-04-24 18:21:57 968 1

原创 使用MVP+Retrofit+RxJava实现的的Android Demo (上)使用Nuclues库实现MVP

最近写了一个 Android 小 Demo,使用基于Nucleus库的MVP框架进行代码分割,并Retrofit和RxJava进行数据请求和处理,下面通过Demo代码分享下这几种技术的使用方法。需求从网络Api获取Json格式的笑话数据,通过列表方式显示,列表分页显示,当上拉到最后一个数据是,自动从网络加载数据并显示,在顶端进行下拉式刷新数据。最终效果图: App下载地址: http://a.

2017-04-11 11:54:22 2278

原创 Google官方Demo NavigationDrawer 侧边导航源码分析

主要功能实现侧边导航栏,平时是隐藏的,通过点击特定按钮或者从屏幕边缘滑动可以打开导航抽屉。效果图: UI布局根视图是一个DrawerLayout。 子视图第一个必须是界面的主内容(即导航隐藏时显示的内容),这是因为导航栏在打开时是要遮盖主内容的,所以主内容必须放在导航栏的前面。Demo中是一个FragmentLayout,高宽都设为match_parent,已达到填充整个页面的效果。 其后可以

2017-04-10 17:41:40 574

原创 【填坑】Android Studio更改SDK路径后gradle出错,Error:Execution failed for task ':app:compileRetrolambdaDebug'. >

在持续使用Android Studio后,随着SDK库的不断更新,占的空间不断增加,由于一开始对SDK库大小预判过低,把AS装在了C盘,SDK也是用的默认路径,在C盘User下面,结果几乎把C盘占满了,所以就考虑更改SDK路径。结果更改成功后执行gradle是居然出错了,下面分享下问题的解决过程。首先路径更改方法:1.先建立目标文件夹,把原有的SDK文件拷贝过去,比如放到D:\an

2017-03-14 11:42:11 3062 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除