<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[IT_luntan的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/IT_luntan</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; IT_luntan]]></copyright><item><title><![CDATA[Android TabLayout的Indicator自定义设置为图片方法]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/120512101</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/120512101</guid><author>IT_luntan</author><pubDate>Mon, 27 Sep 2021 17:08:27 +0800</pubDate><description><![CDATA[好久咩写博客了，先随手写一个熟悉熟悉，后期持续博客更新中...
前言：由于一直在使用ReactNative开发，原生代码很少进行开发；正好在做腾讯云聊天服务的一个原生界面，用到了TabLayout；且谷歌的TabLayout指示器Indicator不支持设置图片的形式；所以自己自定义一个指示器，效果好不错；如下图所示：


好了，废话不多说，直接讲解如何实现的方案，具体源码的话，可以去查看TabLayout源码，这里不做具体描述；

首先在布局中引入TabLayout,这里不要引用错了，使用的谷歌的TabL]]></description><category></category></item><item><title><![CDATA[Jenkins+SonarQube+Gitlab搭建自动化持续代码扫描质量平台（转载）]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/114628175</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/114628175</guid><author>IT_luntan</author><pubDate>Wed, 10 Mar 2021 10:32:47 +0800</pubDate><description><![CDATA[一、前言
	二、代码评审
	三、SonarQube简介
	四、SonarQube安装配置
	五、小团队持续代码扫描实践
	
	1、技术方案&amp;实现
		2、流程&amp;标准
		3、团队&amp;文化
	
	六、写在最后
	
	一、前言

	现如今大家越来越认识到质量前移的重要性。如果一开始就写出优质的、经过测试的代码，那么后面的测试阶段将会减少很多不必要的时间。如果开发人员迫于业务压力，一味追求项目开发进度，往往会容易形成大量的“烂代码”。
	一般的烂代码体现在逻辑混乱、复杂度高、易读性差、没有单]]></description><category></category></item><item><title><![CDATA[xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/109644988</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/109644988</guid><author>IT_luntan</author><pubDate>Thu, 12 Nov 2020 15:38:17 +0800</pubDate><description><![CDATA[git命令突然不能使用，报错异常信息！整理方案如下：

1、输入git命令时，报如下错误：



2、原因：我遇到的原因是电脑自动升级了，导致git命令突然不能使用，无法提交东西，无法拉取东西。。。。

3、解决方案：

方案一：执行命令行


xcode-select --install

会弹出提示框，提示安装失败不能安装该软件 因为当前无法从软件更新服务器获得；

方案二：方案一无法使用时，直接去平台去下载新的Xcode进行安装即可；

下载路径：https://developer.apple.co.]]></description><category></category></item><item><title><![CDATA[RN升级篇（四）：地图定位TypeError:undefined is not an object navigator.geolocation.getCurrentPosition]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/108616335</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/108616335</guid><author>IT_luntan</author><pubDate>Wed, 16 Sep 2020 10:55:48 +0800</pubDate><description><![CDATA[因项目需求需要再次做RN升级，从最开始的0.48升级到0.57稳定后，一直持续项目开发，然后到现在的0.62.2版本；RN也做了重大调整，许多核心组件已不能直接使用；例如 前面上文提到的ListView、WebView、ART等核心组件，还有文中即将提到的地图定位geolocation组件已经不能直接使用了；

未升级之前的定位组件是不需要import导入的，都是直接访问全局的navigator.geolocation对象；

现在升级到0.6版本之后，会提示报如下错误：

凡事不要慌，直接看下错误信息，已]]></description><category></category></item><item><title><![CDATA[RN升级篇（二）：--deprecated-react-native-listview替换Listview]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/108580575</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/108580575</guid><author>IT_luntan</author><pubDate>Mon, 14 Sep 2020 15:55:12 +0800</pubDate><description><![CDATA[由于项目从0.57.5升级到0.62.2，导致许多ReactNative核心插件无法使用（RN的坑）、比如Webview、ART、Listview；

由于我们的项目沉淀时间太久，从0.4几的版本开始开发过来的，项目中有太多的地方引用Listview,全部替换FlatList工作量太大，所以只能寻找替代方法；

小建议：如果项目中引用listview地方不是太多，直接将ListView替换使用新的组件FlatList;

本文主要描述记录一下Listview无法使用的替代方法：

报错信息如下：



RN]]></description><category></category></item><item><title><![CDATA[RN升级篇（五）:版本升级从0.57.5升级到0.62.2遇到的Android错误以及RN插件错误]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/108516818</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/108516818</guid><author>IT_luntan</author><pubDate>Thu, 10 Sep 2020 16:30:48 +0800</pubDate><description><![CDATA[前两篇文章已经记录部分错误日志信息，从0.57.5升级到0.62.2；

由于项目原因，需要进行项目重构，现在的0.57.5版本已经不能满足于项目需求；

期间升级也遇到了许多的坑，只能说对于AndroidStudio以及RN的兼容性还不是太友好

由于0.62.2升级后已经支持androidx特性，对于项目中的v4、v7特性已经不在支持，这简直是干(丧)的(心0漂(病)亮(狂);

因为项目比较大，可以说是很大很大¥¥¥……%#¥#%¥，只能手动修改每一处报错信息：

好了，正文开始：

1、Androi]]></description><category></category></item><item><title><![CDATA[RN升级篇（一）：libjscexecutor.so caused by :dlopen failed:library“libjsc.so“ not found]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/108515759</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/108515759</guid><author>IT_luntan</author><pubDate>Thu, 10 Sep 2020 15:54:56 +0800</pubDate><description><![CDATA[本次记录下RN升级遇到的错误：因项目是Android+RN混合开发；

由于项目原因需要将RN进行强制升级：0.57.5---0.62.2；

升级RN版本涉及到需要的组件升级以及适配Androidx的属性；

固在Android原生进入RN项目时报如下错误：


couldn't find DSO to load: libjscexecutor.so caused by :dlopen failed:library"libjsc.so" not found ；

解决方案：

1、在android/ap.]]></description><category></category></item><item><title><![CDATA[RN升级篇（三）:Tried to register two views with the same name RNCViewPager]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/108514584</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/108514584</guid><author>IT_luntan</author><pubDate>Thu, 10 Sep 2020 15:33:06 +0800</pubDate><description><![CDATA[本次升级RN：从0.57.5升级到0.62.2，跨度蛮大的，遇到的问题也特别多；
因package.json中同时引用了react-native-swiper和react-native-scrollable-tab-view；两者底层代码中都引用了viewpager包；

且两者版本都比较低，不再兼容androidx，并且在使用时提示报红如下信息：
React Native:Tried to register two views with the same name RNCViewPager

很明显的错误]]></description><category></category></item><item><title><![CDATA[Android如何使用react-native-webview加载html支持屏幕自适应并允许缩放]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/102600364</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/102600364</guid><author>IT_luntan</author><pubDate>Thu, 17 Oct 2019 10:58:22 +0800</pubDate><description><![CDATA[叙述：react-native中自带的webview对iOS的适配很友好，对Android的适配简直掉渣；现在记录一下探索方案！

一、方案

react-native-webview本身不支持Android自适应，现在需要使用react-native-webview去实现该需求；

二、实现方式

如何引入webview就不描述了，具体去看官网！直接上代码：



&lt;WebView
   ...]]></description><category></category></item><item><title><![CDATA[Android 代码混淆语法讲解及常用模板(转)]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/88104864</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/88104864</guid><author>IT_luntan</author><pubDate>Mon, 04 Mar 2019 11:19:01 +0800</pubDate><description><![CDATA[转载请注明原博客地址Android 代码混淆语法讲解及常用模板

前言

混淆对于每一个开发者来说都不陌生，对于大多数 APP 而言，在上线之前，通常会进行代码混淆，加固，防止自己的 APP 被别人轻易破解。

一般来说，混淆有以下好处

提高自己 APP 的安全性，防止被别人轻易破解
	在一定程度上起到 APK 瘦身的作用，因为方法名，类名都变成 a，b，c 等这样的形式，这无疑会节省资源
...]]></description><category></category></item><item><title><![CDATA[(转)解决RN-FlatList onEndReached 刷新次数频繁问题]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/88020362</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/88020362</guid><author>IT_luntan</author><pubDate>Thu, 28 Feb 2019 11:46:27 +0800</pubDate><description><![CDATA[项目开发时，使用FlatList 处理加载时，采取多种方式处理后，Android可以正常加载分页显示，ios无法正常加载，会频繁调用onEndReached；现参考文档https://www.jianshu.com/p/79fb4c6b3214解决，Android、ios共同存在的问题；


&amp;lt;FlatList
    style={{flex: 1}}
    data={ExamHome...]]></description><category></category></item><item><title><![CDATA[ReactNative-Android给当前应用添加水印（转）]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/87864457</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/87864457</guid><author>IT_luntan</author><pubDate>Thu, 21 Feb 2019 17:16:03 +0800</pubDate><description><![CDATA[
使用如何给ReactNative所有界面添加水印效果
/**
 * zjm
 * 2019/2/19
 * 4:32 PM
 */
public class WaterMarkUtil {
    public static String mWaterMarkDesc;

    /**
     * 显示水印布局
     *
     * @param activity
     */
  ...]]></description><category></category></item><item><title><![CDATA[RN实现TabNavigator自定义中间凸出Tab]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/79064269</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/79064269</guid><author>IT_luntan</author><pubDate>Mon, 15 Jan 2018 14:33:49 +0800</pubDate><description><![CDATA[其实这种效果很简单只要实现自定义tab然后将需要凸起的Tab单独拿出来设置成绝对布局就可以实现了。 
关键代码：

 render(){
        const {navigation,jumpToIndex} = this.props;
        const {routes,} = navigation.state;
        const focused = 1 === n]]></description><category></category></item><item><title><![CDATA[在React Native中使用 高德地图组件react-native-amap3d]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78982497</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78982497</guid><author>IT_luntan</author><pubDate>Fri, 05 Jan 2018 16:09:58 +0800</pubDate><description><![CDATA[本文主要介绍高德react-native-amap3d组件的使用。
react-native 高德地图组件，使用最新 3D SDK，支持 Android + iOS，受 react-native-maps 启发，提供功能丰富且易用的接口。

主要功能：
地图模式切换（常规、卫星、导航、夜间）
3D 建筑、路况、室内地图
内置地图控件的显示隐藏（指南针、比例尺、定位按钮、缩放按钮）
手势交互]]></description><category></category></item><item><title><![CDATA[React Native 使用SectionList实现分组列表]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78922593</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78922593</guid><author>IT_luntan</author><pubDate>Thu, 28 Dec 2017 15:21:24 +0800</pubDate><description><![CDATA[接上一篇博客导航器框架实现基础上实现分组列表； 
简述：ReactNative在0.43.0版本中开始推出SectionList,RN高性能的分组(section)列表组件,支持下面的这些常用功能：完全跨平台。
支持水平布局模式。
行组件显示或隐藏时可配置回调事件。
支持单独的头部组件。
支持单独的尾部组件。
支持自定义行间分隔线。
支持下拉刷新。
支持上拉加载。如果你的列表不需要分组(sectio]]></description><category></category></item><item><title><![CDATA[ReactNative导航器react-navigation的使用心得总结]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78892024</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78892024</guid><author>IT_luntan</author><pubDate>Mon, 25 Dec 2017 13:59:52 +0800</pubDate><description><![CDATA[开场白：react-navigation导航器已经发布许久，相信有不少朋友都已经体验到了它的方便之处，现在仅做一下个人总结，早在2017年1月份，新开源的react-natvigation库备受瞩目。在短短不到3个月的时间，github上星数已达4000+。Fb推荐使用库，并且在React Native0.44中已将Navigator删除。现在的ReactNative版本已经达到0.51.0.rea]]></description><category></category></item><item><title><![CDATA[Android自定义WheelView]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78722144</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78722144</guid><author>IT_luntan</author><pubDate>Tue, 05 Dec 2017 16:50:00 +0800</pubDate><description><![CDATA[功能滚轮式选择View,类似于TimePicker、DataPicker,可以设置有无边界（首尾是否相接）效果图说明 
继承于View，以OverScroller协助完成滚动效果，使用最低API版本为9。如果有需要，可以使用Scroller代替，不影响效果。  
尚未添加xml自定义属性，样式设置当前只能使用代码设置。\部分方法说明public void addData(String show,Ob]]></description><category></category></item><item><title><![CDATA[ReactNative网络获取数据在Android平台5.0以下https访问失败的问题]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78589591</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78589591</guid><author>IT_luntan</author><pubDate>Tue, 21 Nov 2017 10:16:26 +0800</pubDate><description><![CDATA[概述这篇文章是处理React Native访问https在android5.0以下失败的问题，用于满足开发者访问网络的需求。注：  
1.本文示例及代码分析基于react native 0.44.3版本。  
2.限于水平有限，仅用于参考。期望更正，谢谢。 
3.如果后台CA证书是正式的证书则不会出现此问题。以下为处理方式，代码很简单，复制使用即可： 
1、具体的RN如何使用网络直接参考官网即可，R]]></description><category></category></item><item><title><![CDATA[【转载】React Native未来导航者：react-navigation 使用详解]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78284738</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78284738</guid><author>IT_luntan</author><pubDate>Thu, 19 Oct 2017 14:45:46 +0800</pubDate><description><![CDATA[原创作者：转载原创作者文章一、开源库介绍今年1月份，新开源的react-natvigation库备受瞩目。在短短不到3个月的时间，github上星数已达4000+。Fb推荐使用库，并且在React Native当前最新版本0.44中将Navigator删除。react-navigation据称有原生般的性能体验效果。可能会成为未来React Native导航组件的主流军。本篇内容基于【 ^1.0.0]]></description><category></category></item><item><title><![CDATA[react-native-easy-toast, 一款简单易用的 Toast 组件，支持 Android&iOS.]]></title><link>https://blog.youkuaiyun.com/IT_luntan/article/details/78222395</link><guid>https://blog.youkuaiyun.com/IT_luntan/article/details/78222395</guid><author>IT_luntan</author><pubDate>Fri, 13 Oct 2017 09:49:15 +0800</pubDate><description><![CDATA[原文 原文链接地址react-native-easy-toast 
A react native module to show toast like android, it works on iOS and Android.Content 
.        Installation 
.        Demo 
.        Getting started 
.        API 
.]]></description><category></category></item></channel></rss>