文章目录

AndroidRookie

存档: 2018 年 03 月 (17)

Linux-Tomcat安装与配置 有更新!

Linux-Tomcat安装与配置 精简步骤版

ViewPager实现层叠卡片 有更新!

(一) 开始 ViewPager实现一个层叠的卡片,先看看效果 我将其用在了APP的引导页面上,这个效果虽然看上去很难,但实际上实现起来特别的简单,主要是使用PageTransformer来实现这个效果,推荐先看一下hongyang的前置教程:Android 自定义 ViewPager 打造千变万化的图片切换效果,请确保你已经掌握前置,原理里都写了,就不在累述.(主要还是因为太懒了) (二) 编码 1. 首先我们先创建一个Activity,配置好页面,就像以下效果。一个ViewPager,里面放fragment,fragment里面就放一个CardView。还需要给viewpager的setOffscreenPageLimit一个大一点的值。 正常情况下,viewpager里面的内容是水平排列的。现在要做的第一步,就是将viewpager里面所有的view都显示在同一个位置,那么就需要自定义PageTransformer了。 2. 自定义PageTransformer 既然ViewPager里面的View是水平排列的,那么只要将每个view的x轴坐标更改为:view的宽度乘以下标的….

崩溃解决方案 有更新!

1.Activity被销毁弹出窗口而崩溃 描述 android.view.WindowManager$BadTokenException: Unable to add window – token android.os.BinderProxy@42a40b58 is not valid; is your activity running? 解决方案 if(!((Activity) context).isFinishing()) //弹出dialog } 2. Fragment必须要留有一个空的构造方法 描述 make sure class name exists, is public, and has an empty constructor that is public

水平循环滑动的View(HorizontalLoopView) 有更新!

水平方向无限滑动的View,支持任意View,自定义,不会OOM

记Kotlin与Arouter使用kapt循环依赖 有更新!

问题 Error:Circular dependency between the following tasks: :module_home:compileDebugKotlin -– :module_home:kaptDebugKotlin -– :module_home:compileDebugKotlin () () - details omitted (listed previously) 解决方案 使用高版本的gradle classpath ‘com.android.tools.build:gradle:2.3.3’ 这是一个Kotlin Gradle plugin 1.1.2-4的BUG buildscript { … dependencies { … classpath ‘org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.2-2’ } } 在 local.properties 添加以下: kotlin.incremental=false 地址 原地址

FTP连接

CentOS6.7 vsftpd配置 查看是否已经安装 rpm -qa | grep vsftpd 删除: rpm -e xxx可以删除已安装的vsftpd 安装: yum -y install vsftpd -y 启动: service vsftpd start 开机自启动: chkconfig vsftpd on 开关: 开启、重启、关闭 service vsftpd start service vsftpd restart service vsftpd stop 配置 vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO ascii_upload_enable=YES ascii_download_enable=YES ftpd_banner=Welcome to LINTUT ftp service. use_localtime=YES 配置防火墙 vi /etc/sysconfig/iptables INPUT -p tcp -m state –state NEW -m tcp –dport 21 -j ACCEPT -….

Gradle之强制依赖某个第三方库 有更新!

#前言 在之前的一个项目中,compileSdkVersion和targetSdkVersion都是使用的24,都是使用最新的,紧跟潮流嘛,一直是相安无事。直到有一天接入一个第三方的SDK的时候,问题暴露了:第三方SDK仅仅只支持最大22的编译,23及以上他本身的SDK就会直接崩溃。没办法,只能降级项目中的编译版本来兼容他了。这一降,才知道不是那么好办的。 1.创建项目 如上图所示,创建了一个项目,compileSdkVersion、targetSdkVersion都是22,并且引用了一个appcompat-v7:22.2.1包。 2.提升引用appcompat-v7版本 看下图,将v7包提升到了23.2.1,就直接爆出了一个错误。 这个错误,如果单单只是在我们自己的项目中出现,还是很好解决的,要么降低v7的版本和sdk一致,要么就提升sdk版本和v7保持一致。但是,有得时候所引用的v7是在我们引用的开源库中引用的,我们自己的sdk不能提升,也不能修改开源库中的引用版本。 3.其他开源库appcompat-v7高版本 为了方便,我就自己创建了一个library并引用了,并且在lib….

Gradle构建变种(一份源码,多份APK) 有更新!

需求 一份源码,修改API地址,包名,替换桌面图标和一些其他资源文件,生成不同的APK卖给不同的人。 ##PS 篇幅略长,但是绝对全是干货 解决方案 为解决这个问题,我经历了以下三个阶段: 需要几份APK就copy几份源码进行修改。 将整个项目作为module来引用。 使用Gradle的Product Flavors来构建变种。 第一种方案:需要几份APK就copy几份源码进行修改 这是早期做Android开发,仍然是EC横行的时候,很痛苦,需要几份就复制几份,开始简单,但是后期维护 却是特别的痛苦。原因是当出现一个BUG的时候需要修改多次,虽然说修改完成一份,后面只需要复制黏贴,但是也是痛苦,可以想象一下,被繁琐的事情缠绕。 第二种方案:将整个项目作为module来引用 这是我接触到了AS,当时考虑的就是将整个项目改造成为module,创建不同的主项目来引用同一份源码,最终改造到一半,不可行,因为要修改大量的代码,比如: 1. ID不再是final类型的了,switch view.id 之类的方法不能再使用。 第三种方案:使用Gradle的Product Flavors来构….

Linux-JDK安装与配置环境搭建 有更新!

#JDK安装 首先,更新包: yum update 检查服务器上是否已安装旧版本的Java: java -version ##下载安装JDK 前往Oracle Java下载页面,根据你的系统架构找到合适的版本。比如我的系统是Centos 6 x86,找到jdk-8u102-linux-i586.rpm,复制其下载地址,在服务器中下载: wget –no-cookies –no-check-certificate –header “Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie” "http://download.oracle.com/o 在你下载的目录中执行rpm包安装命令: rpm -ivh jdk-8u102-linux-i586.rpm ##环境变量设置 在/etc/profile.d/路径下新建一个文件,名为java.sh: vim /etc/profile.d/java.sh 写入以下语句: #!/bin/bash JAVA_HOM….