<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[rocrocflying的专栏]]></title><description><![CDATA[不忘初心，方得始终。]]></description><link>https://blog.youkuaiyun.com/rocrocflying</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; rocrocflying]]></copyright><item><title><![CDATA[javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor ...]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/102798883</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/102798883</guid><author>rocrocflying</author><pubDate>Tue, 29 Oct 2019 14:31:55 +0800</pubDate><description><![CDATA[今天项目升级targetSDK到android 9.0（28）后，下载文件出现了个异常：

javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

经分析主要问题原因：

   由于项目...]]></description><category></category></item><item><title><![CDATA[AlertDialog去掉默认的边距]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/90172578</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/90172578</guid><author>rocrocflying</author><pubDate>Mon, 13 May 2019 14:16:32 +0800</pubDate><description><![CDATA[我们在用AlertDialog定制底部弹窗时，如果只是按照通常代码来展示实现的话，两侧可能总会出现左右固定的边距，一直无法消掉，那么如何完全去掉这个边距，答案很简单，我们只需在show之前添加


     window.getDecorView().setBackgroundColor(getResources().getColor(R.color.comm_transparent_00));...]]></description><category></category></item><item><title><![CDATA[解决NestedScrollView中嵌套ViewPager，ViewPager内容无法正常显示问题]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/80212072</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/80212072</guid><author>rocrocflying</author><pubDate>Sun, 06 May 2018 10:24:21 +0800</pubDate><description><![CDATA[由于公司项目要使用下图(向上滑动收缩顶部下拉继续展示)的效果。所以使用Android中自带控件CoordinatorLayout来实现，下面滑动布局内容使用NestedScrollView来实现，NestedScrollView中嵌套了ViewPager来展示不同的Tab滑动展示，然后运行后，手机里面ViewPager始终无法正常展示，&amp;lt;android.support.v4.widget.N...]]></description><category></category></item><item><title><![CDATA[Android 8.0及8.0以下版本通知开启引导设置]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/78333256</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/78333256</guid><author>rocrocflying</author><pubDate>Tue, 24 Oct 2017 19:11:45 +0800</pubDate><description><![CDATA[在平时开发项目过程中，为了提升APP通知到达率，提升APP的日活跃度，会不可避免的去优化通知引导设置，然而大多数场景下我们只能引导用户进入应用权限页面去再进一步进入通知设置，是否有更加更加快捷的引导用户开启APP通知呢？答案当然是肯定的,具体设置如下所示:


//android 8.0引导
if(Build.VERSION.SDK_INT &gt;=26){
    intent.setActi...]]></description><category></category></item><item><title><![CDATA[Java枚举类型]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/77124608</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/77124608</guid><author>rocrocflying</author><pubDate>Sat, 12 Aug 2017 17:46:53 +0800</pubDate><description><![CDATA[构造函数的枚举挺有意思的！代码如下：



[java] view
 plain copy






package com.jemsn.weekday;  
  
public class test {  
  
    public static void main(String[] args) {  
  
        weekday mon = w]]></description><category></category></item><item><title><![CDATA[SharedPreference.Editor的apply和commit方法异同]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/76168602</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/76168602</guid><author>rocrocflying</author><pubDate>Thu, 27 Jul 2017 08:57:58 +0800</pubDate><description><![CDATA[在Android 中存储数据时经常用SharedPreference, 并且在提交数据时一直用的是Editor的commit方法, 今天无意了看到了系统用了apply,看了方法的介绍,
 原来这个方法也是可以提交数据的.

apply方法在官方SDK说明如下：

Commit your preferences changes back from this Editor to the Sh]]></description><category></category></item><item><title><![CDATA[ScrollView can host only one direct child]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/76160307</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/76160307</guid><author>rocrocflying</author><pubDate>Wed, 26 Jul 2017 18:36:13 +0800</pubDate><description><![CDATA[当采用ScrollView进行布局出现ScrollView can host only one direct child问题，原因：ScrollView 只能包含一个直接子布局，当其包含多个并列的子布局就会出现问题，所以建议使用ScrollView时，其子布局只使用一个。]]></description><category></category></item><item><title><![CDATA[JobService和JobScheduler机制在Android5.0以上保活]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/73647737</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/73647737</guid><author>rocrocflying</author><pubDate>Fri, 23 Jun 2017 14:45:49 +0800</pubDate><description><![CDATA[JobService和JobScheduler机制在Android5.0以上保活

我们知道在Android5.0之前，Android源代码还是有不小漏洞的，导致很多不光明的手段来进行++保活++。但是在Android5.0之后，很多都是可以被APP杀死的。Android5.0之后android提供了JobService和JobScheduler这两的类。我们可以通过这个JobSchedule]]></description><category></category></item><item><title><![CDATA[Android自定义标题栏后，刚进入应用会出现黑色的标题背景栏的解决方案]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/50539510</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/50539510</guid><author>rocrocflying</author><pubDate>Mon, 18 Jan 2016 22:16:30 +0800</pubDate><description><![CDATA[打开style.xml文件夹在 
        a
    

添加    true 即可防止问题再次出现。]]></description><category></category></item><item><title><![CDATA[Android 命名规范 （提高代码可以读性）]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/50414436</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/50414436</guid><author>rocrocflying</author><pubDate>Sun, 27 Dec 2015 22:27:51 +0800</pubDate><description><![CDATA[刚接触android的时候，命名都是按照拼音来，所以有的时候想看懂命名的那个控件什么是什么用的，就要读一遍甚至好几遍才知道，这样的话，在代码的审查和修改过程中就会浪费不少不必要的时间。如果就是我一个人开发，一个人维护的话还好，可是如果一个项目是团队分工合作，这样让你的同事去看你的代码就更加吃力了，因为大家之间的编程方式不一样，所以，在开发过程中，命名规范统一尤为重要，最好是团队中统一好大家命名方法]]></description><category></category></item><item><title><![CDATA[android中WebView加载网页设置进度条]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49850095</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49850095</guid><author>rocrocflying</author><pubDate>Sun, 15 Nov 2015 16:33:55 +0800</pubDate><description><![CDATA[我们平时在进行安卓开发使用到webview加载网页时，我们不能准确了解网页的加载进度，因此为了提高用户体验，我们在webview中加入进度条显示加载进度。
程序预览界面：



一、主界面xml布局文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="ht]]></description><category></category></item><item><title><![CDATA[android studio安装过程中常见错误]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49848665</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49848665</guid><author>rocrocflying</author><pubDate>Sun, 15 Nov 2015 13:49:38 +0800</pubDate><description><![CDATA[1.安装完启动不了：


1）进入刚安装的Android Studio目录下的bin目录。找到idea.properties文件，用文本编辑器打开。2）在idea.properties文件末尾添加一行： disable.android.first.run=true ，然后保存文件。3）关闭Android Studio后重新启动，便可进入界面。


2启动完之后出现:


Erro]]></description><category></category></item><item><title><![CDATA[Handler sendMessage 与 obtainMessage (sendToTarget)比较]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49424543</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49424543</guid><author>rocrocflying</author><pubDate>Mon, 26 Oct 2015 15:23:55 +0800</pubDate><description><![CDATA[转自：http://iaiai.iteye.com/blog/1992196

obtainmessage（）是从消息池中拿来一个msg 不需要另开辟空间new

new需要重新申请，效率低，obtianmessage可以循环利用；





[java] view
 plaincopy






//use Handler.obtainMessage(),i]]></description><category></category></item><item><title><![CDATA[java并发库之Executors常用的创建ExecutorService的几个方法说明]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49423417</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49423417</guid><author>rocrocflying</author><pubDate>Mon, 26 Oct 2015 14:15:20 +0800</pubDate><description><![CDATA[Executors提供了一些方便创建ThreadPoolExecutor的常用方法，主要有以下几个：

1、 Executors.newFixedThreadPool(int nThreads);创建固定大小(nThreads,大小不能超过int的最大值)的线程池

//线程数量

int nThreads = 20;

//创建executor 服务

ExecutorSer]]></description><category></category></item><item><title><![CDATA[阿里云服务器 Centos 6.5 32位配置javaweb环境]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49384687</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49384687</guid><author>rocrocflying</author><pubDate>Sat, 24 Oct 2015 14:15:56 +0800</pubDate><description><![CDATA[1、远程连接工具：Xshell，ftp连接：Xftp，mysql远程连接：Navicat premium
2、安装rzsz。
yum update -y
yum list lrzsz*
yum install rzsz* -y


3、安装JDK。
yum list java*
yum install java-1.7.0-openjdk* -y


4、安装mysql。]]></description><category></category></item><item><title><![CDATA[Android中使用Gson解析数据]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/49077791</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/49077791</guid><author>rocrocflying</author><pubDate>Mon, 12 Oct 2015 18:22:59 +0800</pubDate><description><![CDATA[相对于较为传统的Json解析来说，google共享的开源Gson在解析速度和所使用的内存在有着明显的优势，虽然说阿里巴巴也提供了fastgson包，但是它跟Gson的处理速度大同小异，只是底层实现的原理不同，在这里就来学习一下怎么使用google的开源包Gson（在学习之间你应该下载好google gson包）

       Gson的解析非常简单，但是它的解析规则是必须有一个bean文件，]]></description><category></category></item><item><title><![CDATA[Android ListView使用BaseAdapter与ListView的优化]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/48918959</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/48918959</guid><author>rocrocflying</author><pubDate>Mon, 05 Oct 2015 22:34:58 +0800</pubDate><description><![CDATA[在ListView的使用中，有时候还需要在里面加入按钮等控件，实现单独的操作。也就是说，这个ListView不再只是展示数据，也不仅仅是这一行要来处理用户的操作，而是里面的控件要获得用户的焦点。读者可以试试用SimpleAdapter添加一个按钮到ListView的条目中，会发现可以添加，但是却无法获得焦点，点击操作被ListView的Item所覆盖。这时候最方便的方法就是使用灵活的适配器Base]]></description><category></category></item><item><title><![CDATA[Synchronized详解]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/48689941</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/48689941</guid><author>rocrocflying</author><pubDate>Wed, 23 Sep 2015 22:28:40 +0800</pubDate><description><![CDATA[记下来，很重要。
Java语言的关键字，当它用来修饰一个方法或者一个代码块的时候，能够保证在同一时刻最多只有一个线程执行该段代码。
     一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时，一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
     二、然而，当一个线程访问object的一]]></description><category></category></item><item><title><![CDATA[java求树根]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/48469977</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/48469977</guid><author>rocrocflying</author><pubDate>Tue, 15 Sep 2015 16:56:30 +0800</pubDate><description><![CDATA[数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数，那么这个数就是数根；如果结果是两位数或者包括更多位的数字，那么再把这些数字加起来。如此进行下去，直到得到是一位数为止。
比如，对于24 来说，把2 和4 相加得到6，由于6 是一位数，因此6 是24 的数根。
再比如39，把3 和9 加起来得到12，由于12 不是一位数，因此还得把1 和2 加起来，最后得到3，这是一个一位数]]></description><category></category></item><item><title><![CDATA[java中的BigInteger(很好很强大)]]></title><link>https://blog.youkuaiyun.com/rocrocflying/article/details/48445035</link><guid>https://blog.youkuaiyun.com/rocrocflying/article/details/48445035</guid><author>rocrocflying</author><pubDate>Mon, 14 Sep 2015 20:07:32 +0800</pubDate><description><![CDATA[JAVA之BigInteger








用Java来处理高精度问题，相信对很多ACMer来说都是一件很happy的事，简单易懂。用Java刷了一些题，感觉Java还不错，在处理高精度和进制转换中，调用库函数的来处理。下面是写的一些Java中一些基本的函数的及其……

头文件：import java.io.*;

import java.util.*;

imp]]></description><category></category></item></channel></rss>