Android
文章平均质量分 95
yeliang23
这个作者很懒,什么都没留下…
展开
-
游戏社区App (三):客户端与服务端的加密处理 和 登录
http请求数据无论是GET或者POST都可能会被抓包获取到数据。为了避免用户的敏感数据被窃取(比如密码),需要对数据进行加密处理。一、相关名词解析RSA:非对称加密。会产生公钥和私钥,公钥在客户端,私钥在服务端。公钥用于加密,私钥用于解密。优势在于 不需要共享私钥,避免了私钥泄露的风险。劣势在于 加密效率低,数据量大时耗时也大。AES:对称加密。客服端和服务器端都使用同一个秘钥来进行加密和解密。优势在于 加密效率高缺点在于 秘钥需要共享给客户端,具有泄露的风险MD5:MD5信息摘要算法原创 2020-06-08 17:50:23 · 1306 阅读 · 0 评论 -
游戏社区App (六):文章编辑与上传
一、文章编辑-Android端示例:1、富文本编辑器富文本编辑器参考的是GitHub上RichEditotAndroid的富文本编辑器实现方式为使用 WebView + JavaScript。原理为使用WebView来显示一个本地HTML。1)、需要先在assets里放置静态网页和需要的初始化css。其中editor.html 为静态网页,editor.js为Android通过js与html相互调用的方法。2)、RichEditor.java 作为富文本的实现类。2、对RichEditot原创 2020-05-21 17:52:05 · 502 阅读 · 0 评论 -
游戏社区App (四):底部导航栏
底部导航栏目标:只需添加相应的按钮和相应的视图,然后就可在Activity中切换显示。大概思路:在底部的LinearLayout中添加相应的图标,然后设置tag,绑定相应的Fragment数组对应的下标值。点击切换的时候,根据获取到的tag值,取出数组中对应下标的Fragment,并显示出来。新建一个BaseBottomDelegate对底部导航栏进行组装public abstract...原创 2020-04-29 16:07:22 · 529 阅读 · 0 评论 -
游戏社区App (二):网络请求框架的封装
网络请求框架的封装封装后可以在需要网络请求的地方便捷地进行post请求RestClient.builder() .url("https://www.baidu.com/") .success(new ISuccess() { @Override public void onSuccess(String respon...原创 2020-04-29 16:00:09 · 392 阅读 · 0 评论 -
游戏社区App (一):基本框架
序言:需要做一个类似米游社的游戏社区App。先确定基本架构一、采用多模块Activity+多Fragment架构多模块Activity+多Fragment架构:即一个模块用一个Activity,比如1、登录注册流程使用:LoginActivity + 登录Fragment + 注册Fragment + 填写信息Fragment + 忘记密码Fragment优点:速度快,相比单Ac...原创 2020-04-29 15:43:58 · 2752 阅读 · 1 评论 -
手游SDK-Maven私有仓库的搭建
一、配置服务器(如果已有,可以忽略这一步)1、服务器的购买(以阿里云为例)购买阿里云的云服务器ECS,看需求选择对应的配置。唠叨:当时最便宜的1核1G,40GB,1M带宽,Window Service系统的16块一周。2、远程服务器登录阿里云 进去控制台–>实例与镜像–>实例–>远程连接。第一次使用的时候,需要先重置密码(没有默认密码)。如果远程连接时提示需要白名单...原创 2020-02-24 19:11:15 · 661 阅读 · 0 评论 -
手游SDK-导出
一、提供SDKSDK需要提供给游戏方进行接入,提供的方式可以有 jar包、aar、maven等几种方式。这里我是采用了jar包的形式提供SDK。但Android Studio 并不会自动生成 jar包,所以需要再编写一个gradle自动脚本生成 对应的jar包和资源。1、生成SDK的 jar包示例代码:def buildJar() { FileFilter fileFilter ...原创 2020-01-04 09:57:06 · 533 阅读 · 0 评论 -
手游SDK-混淆
一、SDK与APP混淆的区别SDK混淆和APP相比除了常用的混淆配置以外,还需要避免混淆暴露给游戏的接口。同时为了避免游戏接入SDK之后混淆了关键代码导致闪退,SDK还需要提供一份混淆配置文件。二、混淆基础Android的代码混淆只需要在AS的build.gradle中配置开启即可。示例代码如下: buildTypes { release { ...原创 2020-01-03 18:56:18 · 658 阅读 · 0 评论 -
手游SDK-悬浮球
一、游戏内显示悬浮球手游SDK的悬浮球和一般的悬浮窗有点不一样,它只需要在游戏内显示即可,不需要也不能在桌面中显示出来。所以如果使用WindowManager创建悬浮窗,需要监听App是否在前台,如果在,则显示。如果不在则隐藏悬浮窗。而App不在前台了,可能有三种情况:1、正常退出。2、home键回到主界面了。3、点击任务键切换到别的程序。正常退出的情况,那只要正常销毁悬浮窗就好。hom...原创 2020-01-03 18:48:49 · 1709 阅读 · 3 评论 -
手游SDK-数据上报
数据上报可以分为运营统计数据上报 和 崩溃日志数据上报一、运营统计数据上报市面上也已经有很多第三方的统计服务了,比如友盟统计。第三方统计服务的优点是:简单、方便、统计范围广。缺点也很明显: 数据需要保存在第三方,定制化程度不高。1、自己实现数据统计功能上报数据时,需先将上报信息保存到本地文件中。若上报成功则删除本地文件。若上报失败,则间隔一定时间后重新发送。示例代码:public...原创 2020-01-03 17:47:15 · 2085 阅读 · 0 评论 -
手游SDK-支付
一、支付的基本流程1)点击游戏支付按钮,游戏首先向游戏服务器请求充值,生成一个游戏订单号参数(注意这个订单号和下面的不是同一个)。即点击支付时,游戏会调用X_SDK的支付方法并传入商品金额,商品名称,游戏订单号参数等信息。2)X_SDK与SDK服务器进行通信,向SDK服务器传递对应信息。即把商品金额,商品名称,游戏订单号参数等信息传给服务器。3)SDK服务器生成唯一的订单号,同时在数据库中存...原创 2019-12-30 18:56:41 · 2308 阅读 · 1 评论 -
手游SDK-动画
一、Dialog切换动画。1、动画基础Android 中的动画可以分为逐帧动画、补间动画、属性动画三类。1)、逐帧动画逐帧动画就是依次播放图片,每一帧都是一张图片。利用人眼视觉暂留的原理,实现动画。就如同平时的电影、动漫一样。逐帧动画通常是采用XML资源进行定义,在 <animation-list …/> 标签下使用 <item …/> 子元素标签定义动画的全部帧...原创 2019-12-30 18:55:16 · 487 阅读 · 0 评论 -
手游SDK-登录界面
登录界面可以通过自定义Dialog来实现。一、登录界面基本Dialog继承Dialog后有三个构造函数,不一定要都实现,但必须实现一个构造函数。这三个构造函数的作用如下:BaseView(Context context) :单纯的传入Context,最常用。在代码中通过new来获得Dialog实例,然后使用show()展示。BaseView(Context context, int th...原创 2019-12-30 17:36:22 · 1308 阅读 · 0 评论 -
手游SDK-登录
一、登录1、登录的基本流程:(以账密登录为例)1)调用X_SDK的登录方法,进行SDK登录操作。即弹出登录框,等待用户输入账号密码。2) X_SDK与SDK服务器进行通信,向SDK服务器传递对应信息。即把账号密码等信息传给服务器。3)SDK服务器向X_SDK返回token,token中包含了玩家的验证信息。1、2、3 这三步可以理解为调用X_SDK的登录方法,然后等待服务器回调token。...原创 2019-12-30 16:43:53 · 3493 阅读 · 0 评论 -
手游SDK-概述
手游SDK的基本功能手游SDK的核心功能就是登录和支付、以及数据上报。SDK和普通APP的主要区别在于:SDK是作为一个 module ,也就是程序库,它不能独立存在,需要其他APP去调用.SDK不能引入开源框架,比如图片处理框架Gilde , 网络框架 retrofit和okhttp 等,因为引用该SDK的APP也可能使用相同的开源库,这样就会导致冲突。SDK需要暴露回调接口给被调用...原创 2019-12-30 16:34:32 · 2565 阅读 · 0 评论 -
Android 悬浮窗 (附圆形菜单悬浮窗)
序言Android悬浮窗的实现,主要有四个步骤:1. 声明及申请权限2. 构建悬浮窗需要的控件3. 将控件添加到WindowManager4. 必要时更新WindowManager的布局一、权限申请需要在 AndroidMainfest.xml 中声明权限<uses-permission android:name="android.permission.SYSTEM_ALER...原创 2019-12-12 17:38:33 · 2749 阅读 · 1 评论 -
Android 混淆
Android的代码混淆只需要在AS的build.gradle中配置开启即可。示例代码如下: buildTypes { release { minifyEnabled true // true - 打开混淆 shrinkResources false // true - 打开资源压缩 pro...原创 2019-12-12 17:20:57 · 189 阅读 · 0 评论 -
Android 统一打包框架(附源码下载)
序言:目的:通过配置文件完成SDK的接入并且出包。主要就是三个部分:一、SDK接入框架二、各SDK的接入实现三、打包工具一、SDK接入框架1、结构:YMSDK - 业务层访问SDK的唯一入口PluginFactory - 实例化插件的工厂,通过读取assets目录下的sdk_config.xml文件,配置对应的插件信息,在需要实例化插件时,读取这些配置信息,构造对应的SDK实例...原创 2019-12-12 17:00:11 · 775 阅读 · 2 评论 -
抓包工具的使用
一、使用AS的工具抓包(方便但功能不是很全)AS自带的抓包工具Android Profile的使用:(其他抓包工具还有 Charles)1、点击 View > Tool Windows > Android Profiler 打开Android Profiler也可以直接点击下图按钮直接打开2、 从 Android Profiler 工具栏中选择您想要分析的设备和应用进程。 如...原创 2019-10-14 14:16:18 · 997 阅读 · 0 评论 -
反编译相关
1、把jar包转换成smail文件工具:https://pan.baidu.com/s/1GxoDnGy5AAjSaBMrCpSxQQ使用方法:apktool的简单使用:apktool d [apkFile] -f -o [outputDir]d —— 代表操作是反编译解包(b 代表回编译)[apkFile] —— 需要解包的apk路径, 例如C:\1.apk-f —— 强制覆盖,若...原创 2019-10-14 14:08:30 · 242 阅读 · 0 评论