自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 资源 (1)
  • 收藏
  • 关注

原创 升级targetSdkVersion至33(以及迁移至Androidx)

android.support.v4.widget.Space -> androidx.legacy.widget.Space(为使用space,还需要implementation 'androidx.legacy:legacy-support-v4:1.0.0)1.设置 android.useAndroidX=true 和 android.enableJetifier=true。7.注销build.gradle文件中的自定义路径(gradle tool插件7.x版本好像不支持自定义路径)

2023-09-27 11:34:03 1461 1

原创 fitsSystemWindows 与 paddingTop

现象:某个 ViewGroup 中装了个 EditText,不管怎么设置,ViewGroup 都出现paddingTop原因:如果某个View 的 fitsSystemWindows 设为true,那么该View的padding属性将由系统设置,用户在布局文件中设置的padding会被忽略。系统会为该View设置一个paddingTop,值为statusbar的高度。解决办法:重写该...

2019-11-27 10:41:35 593 1

原创 glide为列表加载大小不固定的图片

目标: 有一个列表,每个item中都有一个 ImageView,要求 ImageView 尺寸等于图片内容尺寸;当图片最大宽度超过屏幕宽度时,ImageView 宽度就固定为屏幕宽度,保持原图宽高比缩放显示图片。实现如下代码:RequestOptions mOptions = new RequestOptions() //.placeho...

2019-11-27 10:35:36 1130

原创 Android中阿里云文本垃圾内容检测接口的实现

1.注册账号申请 accessKeyId 和 accessKeySecret2.实现代码3.注意事项:1)参考官网的sdk发现,signString 方法中使用了DatatypeConverter.printBase64Binary(signData) 方法,但是在Android平台中,DatatypeConverter 的 theConverter 为空2)官网中待签名字符串的...

2019-09-20 20:12:43 665

原创 android studio 中把library发布到本地maven库和对本地maven库的引用依赖

假如要发布的library为 mylib1.在mylib的build.gradle文件中添加: apply plugin: 'maven'2.在项目根目录下新建一个名为 Repo 的目录,然后继续在该 build.gradle 文件的最外层添加:uploadArchives{ repositories.mavenDeployer { def r...

2019-04-25 14:34:37 1387

原创 不同android版本手机跳转到通知设置页面的方法

public static void open(Context context) { // vivo 点击设置图标>加速白名单>我的app // 点击软件管理>软件管理权限>软件>我的app>信任该软件 Intent appIntent = context.getPackageManager().getLaun...

2019-04-11 16:40:14 1392 2

原创 AudioTrack的简单用法

参考https://github.com/renhui/AudioDemo/blob/master/audiodemo/src/main/java/com/renhui/audiodemo/MainActivity.javahttps://blog.csdn.net/ronaldo4511/article/details/89155457AudioTrack:用于输出音频数据,它有两种数...

2019-04-10 11:14:36 2370

原创 AudioRecord的用法

参考http://www.cnblogs.com/renhui/p/7457321.html1.计算缓冲录音数据的字节数组的大小。AudioRecord 需要一个容器来缓冲来自硬件的音频信息。int recordBufSize = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat);...

2019-04-09 17:28:25 7218

原创 使用idea创建springmvc项目

1. 创建项目:File - new - project... - spring + spring mvc + web application - next - 设置项目名称和workspace - finish2.这是原始的项目结构3.在web/WEB-INF目录下创建目录lib和jsp4.把根目录的lib目录下jar包复制到新建的lib目录下,如下添加依赖...

2019-03-28 17:32:54 267

原创 Hash Hashtable HashMap ConcurrentHashMap

Hash算法:为快速查找而设计1.普通查找(例如数组):使用数组存储entry,查找 key=x的value时,需要去遍历entry,找出对应的entry才能找到value2.hash查找:查找key=x,对key取hash值得到value的内存地址,因此hash算法的查找的复杂度是 O(1)3.hashmap的hash算法:为了压缩hash存储时所需要的内存空间(所给予的空间是cap...

2019-03-03 13:25:37 109

原创 java内存空间与内存模型

内存空间分为五大部分:线程私有内存的 【栈】 【native栈】 【寄存器】 + 线程共有的 【堆】 【方法区】内存模型有三个特性:【可见性】 【原子性】 【有序性】jvm内存空间:管理的内存空间可以分为以下五个区域1.程序计数器(寄存器):线程私有的内存空间,记录着当前线程执行指令的情况,例如指定到哪一条字节码2.栈:线程私有的内存空间,保存了是 基本数据类型(int, l...

2019-03-02 16:31:01 150

原创 google data-binding的简单使用

1.数据绑定到ui的最简单使用1) 在 build.gradle 文件的 android 配置中加入dataBinding { enabled = true}2)在xml文件的根节点layout下添加data节点<data> <variable name="player" type="com.zls.myarc...

2019-01-10 11:24:09 195

原创 okhttp的源码简单追踪

参考: https://blog.piasy.com/2016/07/11/Understand-OkHttp/https://www.jianshu.com/p/82f74db14a181.基本调用方法OkhttpClient client = new OkhttpClient();Request request = new Request.Builder().url(url...

2018-11-26 11:11:10 146

原创 常用排序算法

//公共方法:交换位置 private static void exchangePosition(Integer[] arr, int index1, int index2){ int temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; }...

2018-10-12 10:59:26 115

原创 Android touch 事件的处理流程

1.与 touch 事件相关的主要处理方法是:    dispatchTouchEvent (onInterceptTouchEvent + onTouchEvent)    onInterceptTouchEvent 只存在于 ViewGroup 中。2.在页面,touch事件的传递顺序,从外层到内层依次是 Activity,ViewGroup 和 View。3.Activity...

2018-08-25 11:21:17 3046

原创 Handler、Message 和 Looper 源码的理解

1.Handlerhandler的主要功能是发送消息和处理消息。在源码中,主要有四类方法:构造方法,获取 Message 的方法,发送 Message 的方法,处理Message 的方法。1)handler 的构造方法。可以看出,一个 handler 只对应一个 looper ,而 looper 和 thread 是一对一的关系。public Handler(Callback c...

2018-08-22 19:11:50 151

原创 对 ThreadLocal 类的理解

1.通过 synchronize 关键字,各线程可以共享变量。而通过 ThreadLocal 各线程彼此分隔,维护只属于自己的变量。2.ThreadLocal  本身不保存什么数据,它主要提供操作方法,从 ThreadLocalMap 中存取数据。3.ThreadLocal 联系着 Thread 和 ThreadLocalMap,每个 Thread 保存一个 ThreadLocalMap ...

2018-08-22 12:49:38 193

原创 双层嵌套recyclerview的整屏滑动

recyclerview 的 scrollstate 有三种 0 -> idle 1 -> dragging 2 -> settingrecyclerview 的原始滚动状态变化是1.拖动松手: 0 -> 1 -> 02.滑动松手: 0 -> 1 -> 2 -> 0要处理 recyclerview 嵌套 recycler...

2018-08-04 16:35:46 1476

原创 textview阻塞滑动事件!!!

在 viewpager + fragment + recyclerview 布局时,滑动发生在recyclerview的item上时viewpager无法滑动,而滑动发生在recyclerview的间隙或者没有item的地方时viewpager可以滑动。最终发现item上有match parent的text,此textview是阻塞viewpager无法滑动的罪魁祸首!!!...

2018-07-24 10:39:16 394

原创 自定义两端为椭圆形的进度条

1.定义属性<declare-styleable name="DownloadProgress"> <attr name="borderColor" format="color" /> <attr name="borderWidth" format="dimension" />

2018-06-12 17:14:22 1351

原创 pyplot 画图(二)

条形图1.plt.bar(list, list) 或者 plt.bar(list, Series)2.pandas.Series.plot(kind='bar')3.pandas.DataFrame.plot(kind='bar')import matplotlib.pyplot as pltimport pandas as pddata_train = pd.read_csv('data/...

2018-05-25 15:32:36 566

原创 pyplot 画图

参考 点击打开链接1. 使用 plt.plot() 画 折线图import matplotlib.pyplot as pltimport pandas as pdx = [1, 3, 7, 8, 12, 14, 17, 25, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40] y = [3, 5, 6, 10, 13, 23, 24, 27, 30, 28,...

2018-04-13 10:52:53 6117

原创 python读取csv的三种方式

import csvimport pandas as pdimport numpy as npdef get_csv_by_open(path, list_x, list_y):    with open(path,'r') as csvfile:        plots = csv.reader(csvfile)        for row in plots:            list...

2018-04-13 08:54:35 2931

原创 pandas 数据操作

参考 https://blog.csdn.net/xiaodongxiexie/article/details/53108959 https://www.cnblogs.com/chaosimple/p/4153083.html1. 从 csv 文件中读取数据pd.read_csv("path", encoding='utf-8'),返回的数据类型是 pd.DataFrame2. 【创建 Data...

2018-04-12 18:22:58 168

原创 python 函数参数与generator

def fn(*args): g = (x for x in args) print('g = ', g) print(next(g)) print(next(g)) print(next(g))fn(12, 1, 3)输出结果是g =  <generator object fn.<locals>.<genexpr> at...

2018-04-10 11:30:05 753

原创 设置子视图的宽度超过父视图的宽度

有这样的需求:父视图宽为 W,子视图宽为 2W ,然后通过 setX 的方法使子视图在父视图中移动。普通情况下,不管在什么时机下设置 子视图的 width = 2W,还是设置 clipChildren为false,都无法起到效果。然而,把父视图设置为 Framelayout 可以实现需求。...

2018-03-09 11:47:38 792

原创 uiautomatorviewer.bat Please set ANDROID_SWT to point to the folder containing swt.jar for your ...

启动uiautomatorviewer.bat时可能出现如下错误:Exception in thread "main" java.lang.UnsupportedClassVerifier ......Unsupported major.minor version 52.0Please set ANDROID_SWT to point to the folder containin

2018-03-08 16:14:18 5093 1

原创 在springmvc的web项目的jsp文件中引用jquery

1.下载jquery http://download.csdn.net/download/yangwei19680827/74544192.选择一个版本的jquery,例如 jquery-1.8.3.js,放入webroot目录下的适当位置,例如 webroot/res/js/jquery-1.8.3.js3.在springMVC的xml文件中添加以下属性        4.在

2017-12-06 17:43:23 886

原创 使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

背景:使用 yum install "@Chinese Support"安装中文输入法时,报错原因:yum命令文件是由python2执行;系统把python路径指向了python3解决方法:1.切换路径到 /usr/bin路径下,找到python2.X 版本2.python2.X yum install .. 命令安装

2017-08-13 09:51:41 1327

原创 Retrofit框架替换AsyncHttpClient框架

1.背景1)项目中原来使用了 AsyncHttpClient框架。这套框架不满足 https + sni 的需要,需要改造。2)具体的页面中,有约100个接口,在200+ 处使用了AsyncHttpClient,格式类似于RequestParams params = new RequestParams();params.put("userId", hostUserId);par

2017-05-27 17:10:06 1297

原创 activity切换动画与overridePendingTransition方法

设置从 activity1 切换到 activity2 的动画加载方式1.在 activity1.startActivity(intent) 方法后,调用方法activity1.overridePendingTransition(anim1, anim2);其中 anim1 是 activity2 出现的动画,anim2 是 activity1 退出的动画2.在  acti

2017-02-09 10:36:30 303

原创 在spark集群中通过hive访问mysql数据库

除hive客户端外,所有模块都安装于spark集群中的master机器1.安装spark集群(参考http://blog.csdn.net/ronaldo4511/article/details/52886672)2.安装 mysql1) 查看系统当前是否已安装mysqlrpm -qa | grep mysqk # 列出和mysql相关的包,本机的结果只有一条 mysql-li

2016-11-30 19:46:47 4048 1

原创 spark2.0版本的 DataFrame、DataSet 与 Spark sql

参考:http://www.cnblogs.com/seaspring/p/5804178.htmlhttps://my.oschina.net/cjun/blog/655263?p={{currentPage%201}}http://spark.apache.org/docs/latest/sql-programming-guide.html1. 相关概念1) R

2016-11-30 11:44:01 7153

原创 RDD转换为DataFrame的两种方式及spark sql的简单实例

参考 http://zhao-rock.iteye.com/blog/2328161package spark_sqlimport util.HDFSHelperimport java.io.{File, PrintWriter}import org.apache.hadoop.conf.Configurationimport org.apache.hadoop.fs.FileSy

2016-11-28 16:26:57 11402

原创 value toDF is not a member of org.apache.spark.rdd.RDD[People]

编译如下代码时,出现value toDF is not a member of org.apache.spark.rdd.RDD[People]  错误val rdd : RDD[People]= sparkSession.sparkContext.textFile(hdfsFile,2).map(line => line.split(",")).map(arr => People(arr(0

2016-11-28 16:07:08 6179 1

原创 scala中hdfs文件的操作

对于org.apache.hadoop.fs.Path来说, path.getName只是文件名,不包括路径 path.getParent也只是父文件的文件名,同样不包括路径 path.toString才是文件的全路径名以下是hdfs文件操作的工具类package utilimport org.apache.hadoop.fs._import scala.collection.mutable.{H

2016-11-24 20:18:19 22568

原创 svn笔记

1.使用android studio checkout svn工程如何切换svn账号打卡 tortoisesvn的settings,在saved data中清除之前的认证信息即可

2016-11-17 08:43:19 298

原创 app实现状态栏和导航栏沉浸效果

在activity的oncreate方法中添加如下代码即可://当系统版本为4.4或者4.4以上时可以使用沉浸式状态栏if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { //透明状态栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUC

2016-11-10 15:29:18 1624

原创 spark错误记录

1.问题:使用 ssh pa 登录 pa虚拟机时报错:ssh: connect to host pa port 22:no route to host原因:如果不是防火墙的问题,那么可能是pa的ip与记录在 /etc/hosts文件中pa的ip不一致解决:update  /etc/hosts文件中pa的ip

2016-11-07 15:34:57 377

原创 使用idea sbt运行spark程序

1.新建scala-sbt 项目2.待sbt及相关依赖下载完成后,配置spark依赖spark 2.0.0后,目录下没有lib文件夹,也找不到assembly jar包,实际上该jar已经分拆成了spark安装目录下的jars文件夹下的各jar包。导入依赖如下打开idea - file - project structure - libraries,点击“+” - java,选择jar

2016-11-04 16:18:54 6969

《MySQL入门很简单》源代码

这是《MySQL入门很简单》的源代码,欢迎大家一起分享和学习

2015-02-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除