移动开发小水吧

没啥高深技术,只求水水更健康!


  • 首页

  • 分类

  • 关于

  • 搜索
close

使用ELGmal算法为跨系统调用保驾护航

发表于 Sep 26 2019   |   分类于 Java   |  

为什么我们需要加密算法?

一般在开发过程中,我们为了保证敏感数据的安全性,才会对操作传输的数据进行加密,从而提高整个系统的安全性。

比如,客户端和服务端的数据交互传输,服务端将从数据库查询出来的数据通过加密的方式传递给客户端,客户端也将用户提交的数据加密后提交给服务端,两边都通过对应的解密规则进行解密,这样在数据传输的过程中,一些别有用心的人试图通过Fiddler这样的工具进行数据抓包而试图获得一些隐私数据将变得极其艰难,这也就达到了我们对数据安全性提升目的。

周一的时候,我接到了一个需求,某领导想要通过系统A免密跳转到系统B,因为领导觉得再去系统B输入一次用户名、密码、验证码实在是太繁琐了,尤其是在他有大量的审批工作要做的情况下。

如果两个系统统一做的CAS单点登录的前期框架性工作,这件事可以说根本不叫事,但是这个系统A和系统B都是近十年的老系统,肯定是没有这样的条件的,于是如何将免密登录的安全性提高就成了这个需求的重中之重了。

阅读全文 »

不比不知道,好程序员怎么写饼状图?

发表于 Aug 27 2019   |   分类于 Android   |  

一张饼图

最近在学习HenCoder的自定义View的系列教程,刚看完第一章基础知识(虽然会,但是还是觉得跟着走一遍教程会比较好),之后开始做作业,作业都比较简单,无非就是一些基础的Api的调用,为了扎实基础而做的,但是我发现最后一张饼图,我虽然做出来了,但是很多知识都不确定,代码写的也不优美,比如从饼图上延伸出的线和文字的位置我就是用硬编码写出来的,非常的不友好,于是开始翻看别人的代码,几乎大同小异,都是写的硬编码,知道我看到了一个网友提交的作业后,眼前一亮,功力不可谓不高深啊!

饼图

直接贴人家的代码:

阅读全文 »

Android 崩溃日志采集组件-DhccCrashLib

发表于 May 10 2019   |   分类于 Android   |  

异常崩溃怎么办?

关于异常崩溃是每个App都要面对的,平时开发还好,在调试状态下遇到的问题,可以通过LogCat打印的异常日志信息进行分析处理,但是一旦App上线后,大量用户安装了你的应用,每个用户的手机大小、传感器、SDK版本都不尽相同,可能你在测试机上跑的稳稳的应用,到了客户手机上就会出现一些莫名其妙的异常,如果只是一些内存泄露的问题可能还好,最起码不会瞬间崩溃,但是如果遇到一些可以导致手机崩溃Bug的话,你让出问题的用户来复现Bug是不可能的,所以,全局异常捕获就显得很重要了,而DhccCrashLib就是一个全局异常捕获的组件。

DhccCrashLib怎么用?

阅读全文 »

AndroidStudio3 配置Ndk和OpenCV4.0

发表于 Apr 3 2019   |  

起因

我这个人喜欢没事就去招聘网站刷刷招聘信息,也不全是为了找工作,因为我个人觉得从招聘信息中,我可以了解到行业的大方向,了解现在市场上的用人单位都需要一个程序员具备什么样的素质和技能,程序员这个职业,一辈子都需要学习和进步,如果技术固步自封,不深入底层或者不拓展技术视野,那么成为一个十年开发一年经验的程序员就不远了,于是我打开了招聘网站,随便刷了刷就发现了问题。

问题就是,对于初级程序员,市面上的公司要求不多,除了BAT,基本上回写bug就行,但是如果到了一定岁数,你想找一些中高级的Android程序员的工作时,市面上的公司就会有一些特殊的需求了,这需求其实就是门槛,现在我贴几张招聘简章的截图,大家看看:

招聘简章1

招聘简章2

招聘简章3

需求各式各样,但是我发现一个共同的问题,都需要NDK或者C/C++的技能,看来NDK是未来一个学习的热点和趋势,不仅音视频、各种硬件的调用、核心算法的实现以及一些照片的处理都需要用到JNI开发。

可能你会问了,我是个Java程序员,学这C++开发相当于跨行了,其实也对,Android都没整明白呢,就跑去弄什么NDK,但是还是那句老话,技多不压身,多学习学习接触一下肯定没坏处,最起码简单的NDK开发框架会搭建,知道一些基本的配置和用法,就算以后项目里用到了基础的配置和调试也能用得到啊。

阅读全文 »

Android 9 Activity的加载和显示

发表于 Mar 29 2019   |   分类于 Android   |  

起因

昨天被人问起Activity的启动过程,我一阵心虚,说实话,N年前看过一回别人写的文章,但是自己从来没有跟着源码去研究过Activity的启动过程,所以别人问到后,我只能把从PhoneWindow到DecorView到SetContentView到ViewRootImpl调用performTraversals()方法,再调用其内部的performMeasure()、performLayout()、performDraw(),从而将布局文件绘制并加载到父类为FrameLayout的DecorView上,这个过程虽然没什么打错,但是这个其实只是View的绘制流程分支,与Activity的界面加载有部分重合,真正的Activity启动后,界面加载的流程是要比这个复杂的,怀着惭愧的心情,今天赶紧打开AndroidStudio,从源码开始,一点一点的扣整个启动过程。

不过这里先说一下,我无法从Activity的StartActivity()方法开始讲,因为这部分内容特别多,而且相当复杂,我还没有完全吃透,所以我的源码分析过程是从ActivityThread的StartActivityNow开始讲解并分析的,如果这个过程很熟悉,只是为了看前半部分的朋友,可以转战到这篇文章下:

(Android 9.0)Activity启动流程源码分析

阅读全文 »
12…7
Mr.Cool

Mr.Cool

热爱移动开发,专注移动技术

35 日志
7 分类
5 标签
微博
© 2019 Mr.Cool
由 Hexo 强力驱动
主题 - NexT.Muse