<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shaohan0719的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shaohan0719</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shaohan0719]]></copyright><item><title><![CDATA[java-websocket 服务端  开发中遇到的问题]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/76816733</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/76816733</guid><author>shaohan0719</author><pubDate>Mon, 07 Aug 2017 11:00:51 +0800</pubDate><description><![CDATA[一、
    由于项目需求，需要早android设备上架一个websocket服务，可以供浏览器调用。但是移动设备的ip是不固定的，也就是说到作为服务端，移动设备并不能完全满足客户端的需要。后来想到了用一台中转服务器，在这台服务器上架上websocket服务，然而移动端和pc端都是作为websocket的客户端存在。


二、
       如过websocket要走wss通讯，就需要加]]></description><category></category></item><item><title><![CDATA[POS机交易关键字]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/64906076</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/64906076</guid><author>shaohan0719</author><pubDate>Wed, 22 Mar 2017 10:57:48 +0800</pubDate><description><![CDATA[银行的交易体系是一套比较复杂的系统，本文将就POS机交易涉及到的一些概念、流程等作简要介绍。

名词解释

首先，解释一下我们在日常生活或者POS等支付系统开发时经常遇到的一些名词的基本概念。


1.签到
签到基本上是所有POS机必须支持的一项功能，并且POS机应该在每天的使用之前进行签到操作，其目的有两个：一是保证操作员及POS机的合法性（一般签到需要输入操作员号和对应的密码，]]></description><category></category></item><item><title><![CDATA[银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/64905251</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/64905251</guid><author>shaohan0719</author><pubDate>Wed, 22 Mar 2017 10:06:51 +0800</pubDate><description><![CDATA[KEK：
KEK密钥的用途：KEK实际上是一个密钥，用于加解密主密钥。导进去的主密钥是经过KEK加密后的密文，厂商在SDK再用kek解密主密钥密文。
KEK用3DES算法加密主密钥

KEK, 主密钥，工作密钥
一般做法是，商家提供主密钥密文及ＫＥＫ给厂商，我们终端出厂烧好；商家在终端绑定时，下工作密钥。
所以密钥机制要规划好，看这个ＫＥＫ和主密钥，是不是出厂机器就烧好
601601]]></description><category></category></item><item><title><![CDATA[adb常用命令]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/59110541</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/59110541</guid><author>shaohan0719</author><pubDate>Wed, 01 Mar 2017 16:33:46 +0800</pubDate><description><![CDATA[adb的常见命令:

            adb
 shell pm list packages 


adb devices 列出当前手机

                adb shell 进入模拟器终端


adb install xxxx.apk  把apk拖到cmd窗口 安装应用程序 --ａｄｂ　ｉｎｓｔａｌｌ　空格　　然后直接往里拖

adb unins]]></description><category></category></item><item><title><![CDATA[android 6.0新特性]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/59110451</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/59110451</guid><author>shaohan0719</author><pubDate>Wed, 01 Mar 2017 16:31:17 +0800</pubDate><description><![CDATA[1、电源管理；

       应用待机


        Doze


2、app Link

   应用间的跳转


3、指纹识别

4、应用程序权限管理

5.0以后 用户可以关闭某些权限

6.0运行时权限--动态添加应用危险权限

三、移除Appache的HTTP Client（Apache HTTP Client Removal）
  An]]></description><category></category></item><item><title><![CDATA[android--jni]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/53634738</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/53634738</guid><author>shaohan0719</author><pubDate>Wed, 14 Dec 2016 10:04:07 +0800</pubDate><description><![CDATA[java端：


        在本地新建静态代码块


            static{

        System.loadLibrary("holle")//c文件名称


}





private native String FromC();//调用本地方法




c中代码include c的头文件

    


n]]></description><category></category></item><item><title><![CDATA[给apk加签名文件]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/53634656</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/53634656</guid><author>shaohan0719</author><pubDate>Wed, 14 Dec 2016 10:01:19 +0800</pubDate><description><![CDATA[最好将将要签名的apk和签名文件keystore放在同一目录下。

在当前目录下打开命令行

输入 jarsigner -verbose -keystore **.keystore（签名文件）
 -signedjar xxx.apk（签名后生成的apk名字） ***.apk（要被签名的apk） ***(签名文件中的别名


以前翻阅别人文档的时候
 他们好多都错将以上命令行的最后]]></description><category></category></item><item><title><![CDATA[Android studio 关联so文件 最新方法]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/51044446</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/51044446</guid><author>shaohan0719</author><pubDate>Sat, 02 Apr 2016 16:45:35 +0800</pubDate><description><![CDATA[不管多忙，这个博客是一定要写的，因为这个问题，整整困扰的了我一下午。网上对于这个问题有各种说法，我通通试了一遍，但是都不行。
好的，我现在说说我是怎么做的。
1.首先在src/main文件目录下创建jniLibs文件夹，把我们项目所需的so文件导进去。如图


也不需要在grdle文件中配置什么 souset{---什么的---}]]></description><category></category></item><item><title><![CDATA[touch事件]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/48974991</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/48974991</guid><author>shaohan0719</author><pubDate>Thu, 08 Oct 2015 17:05:14 +0800</pubDate><description><![CDATA[跟touch事件相关的3个方法：
public boolean dispatchTouchEvent(MotionEvent ev);    //用来分派event
public boolean onInterceptTouchEvent(MotionEvent ev); //用来拦截event
public boolean onTouchEvent(MotionEvent ev);    ]]></description><category></category></item><item><title><![CDATA[UI最佳实践的N条建议]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/48972567</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/48972567</guid><author>shaohan0719</author><pubDate>Thu, 08 Oct 2015 14:58:13 +0800</pubDate><description><![CDATA[UI最佳实践的N条建议
1. 避免嵌套过多层级的布局
即使使用的全都是官方提供的基础布局和控件，也不意味着就能做出高效的UI布局设计。每个布局(layout)，控件(Button、TextView等)，都需要进行初始化，测量大小、定位以及绘制。布局里嵌套了过多的层级将带来相当大的性能开销。官方提供了Hierarchy Viewer工具来帮助我们查找可能的优化点。Hierarchy Viewer]]></description><category></category></item><item><title><![CDATA[Android 任务栈的启动模式]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/48972421</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/48972421</guid><author>shaohan0719</author><pubDate>Thu, 08 Oct 2015 14:48:59 +0800</pubDate><description><![CDATA[任务栈有四种启动模式:
可以在清单文件的中配置启动模式
android:launchMode=" 默认是standard "
standard:每当开启一个Activity 就进栈,退出时一个一个出栈
singleTop:单一顶部 被设置为singleTop模式的Activity,在加入任务栈时,检查当前顶部是不是 和自己一样的Activity,如果是,不往里加
例子:浏览器的保存书签功]]></description><category></category></item><item><title><![CDATA[Android之常见异常总结--OOM --解决办法]]></title><link>https://blog.youkuaiyun.com/shaohan0719/article/details/45191587</link><guid>https://blog.youkuaiyun.com/shaohan0719/article/details/45191587</guid><author>shaohan0719</author><pubDate>Wed, 22 Apr 2015 10:28:29 +0800</pubDate><description><![CDATA[看过其他大神写过关于OOM的文章，总感觉不是自己想要的，跟自己想的不能串联起来。所以就自己总结了一下，仅供博友们参考！！
我认为大概需要搞定一下两方面足以：

一、加载大图片的时候要压缩

获取屏幕大小、只加载图片信息、计算压缩比--图像/屏幕、压缩图片显示
BitmapFactory.Options参数，将这个参数的inJustDecodeBounds属性设置为true，

1.]]></description><category></category></item></channel></rss>