<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Earth_Programer的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/Earth_Programer</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; Earth_Programer]]></copyright><item><title><![CDATA[SpringSocial 源码分析]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/93218239</link><guid>https://blog.csdn.net/Earth_Programer/article/details/93218239</guid><author>Earth_Programer</author><pubDate>Fri, 21 Jun 2019 18:56:02 +0800</pubDate><description><![CDATA[鸽了两个月没写博客，快变鸽王了，( ´◔ ‸◔`)。今天终于把 SpringSocial 源码分析篇完结了，整理了一下，先发上来分享给大家。后面要加油了，(ง •̀_•́)ง。废话不多说，下面进入正文环节。
从上一章我们已经可以知道 SpringSocial 的整体结构与使用流程。这一章我们按使用流程走一遍源码，顺便验证一下整体结构。

还是以上面这张流程图为主，我们先从 SocialAuthen...]]></description><category></category></item><item><title><![CDATA[SpringSocial 开发 QQ 登录]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/89932004</link><guid>https://blog.csdn.net/Earth_Programer/article/details/89932004</guid><author>Earth_Programer</author><pubDate>Tue, 07 May 2019 23:34:05 +0800</pubDate><description><![CDATA[本篇文章带着大家在自己的系统中集成 QQ 第三方登录
不管是做什么操作，官方文档与手册绝对是最靠谱的。所以我们先来看一下 QQ 互联官网的文档

QQ 互联介绍
QQ 互联官网
在 QQ 互联官网上，我们发现 QQ 互联接入分为网站接入、移动应用接入、移动游戏接入，本篇文章主要针对网站接入。通过对官网的文档的阅读，我们可以总结出以下几点:

网站应用接入 QQ 登录是基于 OAuth2 协议的
开...]]></description><category></category></item><item><title><![CDATA[OAuth2 协议及其四种授权模式]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/89489243</link><guid>https://blog.csdn.net/Earth_Programer/article/details/89489243</guid><author>Earth_Programer</author><pubDate>Wed, 24 Apr 2019 11:25:46 +0800</pubDate><description><![CDATA[官方资料置顶，本篇文章主要结合官方资料与自己的使用经验对 OAuth2 协议做一个简单的记录。
部分翻译解释可能存在问题，如果发现了，欢迎及时在评论区向博主反馈。
官网
OAuth2 协议官方 pdf
What is OAuth2 ?
An open protocol to allow secure authorization in a simple and standard method fro...]]></description><category></category></item><item><title><![CDATA[SpringSecurity 下 Session 使用]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/89264672</link><guid>https://blog.csdn.net/Earth_Programer/article/details/89264672</guid><author>Earth_Programer</author><pubDate>Fri, 12 Apr 2019 23:35:14 +0800</pubDate><description><![CDATA[在之前的几章里面，我们分别做了快速入门、自定义表单登录、自定义手机登录。他们有一个共同点，就是目前我们与客户端之间的交互都依赖于 Session。那么本章我们就带大家来了解一下 SpringSecurity 下 Session 的使用与设置。
Session 是什么？
Session 中文意思为会议，在计算机中，尤其在网络应用中称为会话控制。

Session直接翻译成中文比较困难，一般都译成时域...]]></description><category></category></item><item><title><![CDATA[3. SpringSecurity 自定义手机号登录]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/89112331</link><guid>https://blog.csdn.net/Earth_Programer/article/details/89112331</guid><author>Earth_Programer</author><pubDate>Mon, 08 Apr 2019 22:22:29 +0800</pubDate><description><![CDATA[距离上一次更新，不知不觉已经过去了半个月了，人真的是不能放松，一放松就肆意妄为了。希望这个月内可以把 SpringSecurity 系列更新完毕吧，加油！。
OK，言归正传上一章我们利用 SpringSecurity 提供的一些可选配置，实现了自定义表单登录。但是在我们的日常需求中，仅仅是表单登录时满足不了的。所以这一章，我给大家带来 SpringSecurity 下自定义登录方式的示例。
首先我...]]></description><category></category></item><item><title><![CDATA[2. SpringSecurity 自定义表单登录]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/88776547</link><guid>https://blog.csdn.net/Earth_Programer/article/details/88776547</guid><author>Earth_Programer</author><pubDate>Sun, 24 Mar 2019 14:32:36 +0800</pubDate><description><![CDATA[在上一篇文章的结尾，我们列入了默认使用 SpringSecurity 一些待优化和解决的问题，我们再来回顾一下

用户登录不可能以这种弹框形式去登录，一般网页都有自己的登录页面(自定义登录页面)
用户名、密码应该是从数据库中读取，而不是默认和随机的(自定义认证逻辑)
并不是对所有的资源或接口都需要认证(设置资源白名单)
认证成功或者失败的处理，比如登录成功可以做一些记录，失败做一些处理

本篇文章...]]></description><category></category></item><item><title><![CDATA[1. SpringSecurity 快速入门与简单使用]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/88678078</link><guid>https://blog.csdn.net/Earth_Programer/article/details/88678078</guid><author>Earth_Programer</author><pubDate>Wed, 20 Mar 2019 01:10:30 +0800</pubDate><description><![CDATA[SpringSecurity 快速入门与简单使用
Spring 官网对 SpringSecurity 的简介

Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spri...]]></description><category></category></item><item><title><![CDATA[WebService]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/78133840</link><guid>https://blog.csdn.net/Earth_Programer/article/details/78133840</guid><author>Earth_Programer</author><pubDate>Fri, 29 Sep 2017 14:56:32 +0800</pubDate><description><![CDATA[WebService简单使用1.WebService是什么？ 
WebService是一个基于Web的服务，使服务端的资源能够被客户端访问。 
实质上WebService是一种跨编程语言和操作系统平台的远程调用技术或者说一种规范。  刚开始接触WebService时，会感到迷惑。WebService和Struts2、SpringMVC似乎在功能上都差不多。  但其实还是有本质差别的，Struts2和]]></description><category></category></item><item><title><![CDATA[Java8学习总结]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/78009901</link><guid>https://blog.csdn.net/Earth_Programer/article/details/78009901</guid><author>Earth_Programer</author><pubDate>Sun, 17 Sep 2017 13:51:23 +0800</pubDate><description><![CDATA[1.Lambda表达式1.1 什么是Lambda表达式 
lambda表达式是一个匿名函数，即没有函数名的函数。  1.2 Lambda表达式可以做什么 
替代了Java中原先使用匿名内部类的地方。使代码更加简洁，将关注的重点放在真正需要关注的地方上，提高可读性，更加灵活。 1.3 怎么使用Lambda表达式 
lambda表达式引用了新的操作符’->’，他将lambda表达式分为两个部分: 
左侧]]></description><category></category></item><item><title><![CDATA[okHttp3学习总结]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/61758631</link><guid>https://blog.csdn.net/Earth_Programer/article/details/61758631</guid><author>Earth_Programer</author><pubDate>Mon, 13 Mar 2017 00:37:58 +0800</pubDate><description><![CDATA[OkHttp3okHttp3 是一个 Android的基于Http的网络开源框架，是由 square 公司开发。  现在网上比较推荐的两个 Android 网络开源框架，一个是 okHttp，另一个是 Retrofit 
，而 Retrofit 是根据 okHttp封装的框架。所以关于Android网络部分，okHttp是必须要学习的一个知识。  [官网地址] (https://github.com]]></description><category></category></item><item><title><![CDATA[SpringMvc+MyBatis+Spring+Maven整合遇到的问题总结]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/60971062</link><guid>https://blog.csdn.net/Earth_Programer/article/details/60971062</guid><author>Earth_Programer</author><pubDate>Thu, 09 Mar 2017 21:34:41 +0800</pubDate><description><![CDATA[SSM整合问题总结http://blog.csdn.net/zhshulin/article/details/37956105/1.pom.xml第一行报错 
到MavenRepository里删除所有jar包，重新下载，maven update  2.maven已经下载spring jar包的情况下，spring注解报找不到类 
jar下载不全或者失败，到MavenRepository中删除对应j]]></description><category></category></item><item><title><![CDATA[Android基础1]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/56835750</link><guid>https://blog.csdn.net/Earth_Programer/article/details/56835750</guid><author>Earth_Programer</author><pubDate>Fri, 24 Feb 2017 11:41:29 +0800</pubDate><description><![CDATA[Android架构  
Linux内核层(Linux Kernel) 
Linux内核 + Driver  
系统运行层库(Libraries + Android runtime) 
Libraries是C/C++编写的程序库，Android runtime是java虚拟机 
包括View、Content Providers、Resource Manager、Notification Manager]]></description><category></category></item><item><title><![CDATA[我在Android开发中遇到的问题]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/53178114</link><guid>https://blog.csdn.net/Earth_Programer/article/details/53178114</guid><author>Earth_Programer</author><pubDate>Tue, 15 Nov 2016 21:54:19 +0800</pubDate><description><![CDATA[我在Android开发中遇到的问题前段时间开始实习了，在工作中遇到了很多问题，应为没有老司机带路， 
基本上一个到处踩坑，遇到了很多问题，有时间的话再这里更新一下。1.ListView的ViewHolder导致的数据混乱(其实是自己垃圾 = =)问题描述: 
ListView的Item有关注、点赞按钮。在获取数据初始化后，滑动ListView将Item移出屏幕，再返回之前被移出的关注、点赞按钮状态都]]></description><category></category></item><item><title><![CDATA[AsyncTask]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50831785</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50831785</guid><author>Earth_Programer</author><pubDate>Tue, 08 Mar 2016 23:36:23 +0800</pubDate><description><![CDATA[AsyncTask和Handler对比1 ） AsyncTask实现的原理,和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:l  简单,快捷l  过程可控使用的缺点:l  在使用多个异步操作和并需要进行Ui变更时,就]]></description><category></category></item><item><title><![CDATA[Handler消息机制学习总结(转)]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50731240</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50731240</guid><author>Earth_Programer</author><pubDate>Wed, 24 Feb 2016 15:33:12 +0800</pubDate><description><![CDATA[Handler的作用在Android中使用Handler主要是因为，在主线程（UI线程）中不能进行耗时操作（网络下载之类的…），否则界面会卡死。而在子线程中不能进行UI更新，因为这对主线程来说是不安全的(多个子线程同时对UI进行更新…)。为了解决将耗时操作放到子线程中，同时UI更新是在主线程中。开发者提出了Handler消息机制。Handler消息机制的原理概念： 
1.Handler：与不同线程的]]></description><category></category></item><item><title><![CDATA[Android系统的启动流程(转载)]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50730598</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50730598</guid><author>Earth_Programer</author><pubDate>Wed, 24 Feb 2016 14:25:26 +0800</pubDate><description><![CDATA[Android是一个基于Linux的开源操作系统。x86（x86是一系列的基于intel 8086 CPU的计算机微处理器指令集架构）是linux内核部署最常见的系统。然而，所有的Android设备都是运行在ARM处理器（ARM 源自进阶精简指令集机器，源自ARM架构）上，除了英特尔的Xolo设备(http://xolo.in/xolo-x900-features)。Xolo来源自凌动1.6GHz]]></description><category></category></item><item><title><![CDATA[Android刷ROOT原理及小案例]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50730465</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50730465</guid><author>Earth_Programer</author><pubDate>Wed, 24 Feb 2016 14:10:44 +0800</pubDate><description><![CDATA[刷模拟器，rom写文件（su）
如果想让真实手机运行这些指令，手机必须要有root权限
刷root原理：把su二进制文件拷贝到/system/bin或者/system/xbin
Android刷root软件，工作的原理全部都是利用系统的漏洞实现
rom：可以理解为android系统的安装文件
把su文件和superuser.apk写入img文件
执行su指令Runtime.getRuntime().]]></description><category></category></item><item><title><![CDATA[常用的Linux指令+Android下的Linux指令]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50730446</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50730446</guid><author>Earth_Programer</author><pubDate>Wed, 24 Feb 2016 14:08:56 +0800</pubDate><description><![CDATA[Android下的Linux指令
su：superuser 
切换到超级用户
rm：remove，删除文件 
rm 文件名
ls：列出目录下的所有文件和文件夹 
ls -l：查看文件的详细信息
ls -a：查看隐藏文件
cd：切换到某个目录
cat：查看文件内容 
cat 文件名
不要cat二进制可执行文件
mv：move 修改文件名 
mv 原文件名 新文件名
mkdir：创建文件夹 
mkdir]]></description><category></category></item><item><title><![CDATA[Android系统目录结构]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50730416</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50730416</guid><author>Earth_Programer</author><pubDate>Wed, 24 Feb 2016 14:06:23 +0800</pubDate><description><![CDATA[Android目录结构
dataapp：用户安装的应用
data：应用的专属文件夹
system：系统的配置信息，注册表文件
anr：anr异常的记录信息
dev：devices的缩写存放设备所对应的文件
mnt：mount的缩写挂载在系统上的设备：sdcard，u盘
proc：硬件配置，状态信息cpuinfo、meminfo
sbin：system bin系统重要的二进制执行文件
adbd：服务器]]></description><category></category></item><item><title><![CDATA[Android_NDK简便开发流程]]></title><link>https://blog.csdn.net/Earth_Programer/article/details/50688123</link><guid>https://blog.csdn.net/Earth_Programer/article/details/50688123</guid><author>Earth_Programer</author><pubDate>Fri, 19 Feb 2016 00:04:28 +0800</pubDate><description><![CDATA[Eclipse->Window->Preference->Android->NDK






然后创建工程
声明native方法  Private native String hello();
设置函数库的名字：右键工程->Android Tools->App Native support
会自动生成mk文件和C文件
使用javah生成.h的头文件(在工程的src目录下，按]]></description><category></category></item></channel></rss>