- 博客(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
2162
1
原创 fitsSystemWindows 与 paddingTop
现象:某个 ViewGroup 中装了个 EditText,不管怎么设置,ViewGroup 都出现paddingTop 原因:如果某个View 的 fitsSystemWindows 设为true,那么该View的padding属性将由系统设置,用户在布局文件中设置的 padding会被忽略。系统会为该View设置一个paddingTop,值为statusbar的高度。 解决办法:重写该...
2019-11-27 10:41:35
847
1
原创 glide为列表加载大小不固定的图片
目标: 有一个列表,每个item中都有一个 ImageView,要求 ImageView 尺寸等于图片内容尺寸;当图片最大宽度超过屏幕宽度时,ImageView 宽度就固定为屏幕宽度,保持原图宽高比缩放显示图片。 实现如下代码: RequestOptions mOptions = new RequestOptions() //.placeho...
2019-11-27 10:35:36
1301
原创 Android中阿里云文本垃圾内容检测接口的实现
1.注册账号申请 accessKeyId 和 accessKeySecret 2.实现代码 3.注意事项: 1)参考官网的sdk发现,signString 方法中使用了DatatypeConverter.printBase64Binary(signData) 方法,但是在Android平台中,DatatypeConverter 的 theConverter 为空 2)官网中待签名字符串的...
2019-09-20 20:12:43
787
原创 android studio 中把library发布到本地maven库和对本地maven库的引用依赖
假如要发布的library为 mylib 1.在mylib的build.gradle文件中添加: apply plugin: 'maven' 2.在项目根目录下新建一个名为 Repo 的目录,然后继续在该 build.gradle 文件的最外层添加: uploadArchives{ repositories.mavenDeployer { def r...
2019-04-25 14:34:37
1558
原创 不同android版本手机跳转到通知设置页面的方法
public static void open(Context context) { // vivo 点击设置图标>加速白名单>我的app // 点击软件管理>软件管理权限>软件>我的app>信任该软件 Intent appIntent = context.getPackageManager().getLaun...
2019-04-11 16:40:14
1588
2
原创 AudioTrack的简单用法
参考https://github.com/renhui/AudioDemo/blob/master/audiodemo/src/main/java/com/renhui/audiodemo/MainActivity.java https://blog.youkuaiyun.com/ronaldo4511/article/details/89155457 AudioTrack:用于输出音频数据,它有两种数...
2019-04-10 11:14:36
2650
原创 AudioRecord的用法
参考http://www.cnblogs.com/renhui/p/7457321.html 1.计算缓冲录音数据的字节数组的大小。AudioRecord 需要一个容器来缓冲来自硬件的音频信息。 int recordBufSize = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat); ...
2019-04-09 17:28:25
7556
原创 使用idea创建springmvc项目
1. 创建项目:File - new - project... - spring + spring mvc + web application - next - 设置项目名称和workspace - finish 2.这是原始的项目结构 3.在web/WEB-INF目录下创建目录lib和jsp 4.把根目录的lib目录下jar包复制到新建的lib目录下,如下添加依赖 ...
2019-03-28 17:32:54
353
原创 Hash Hashtable HashMap ConcurrentHashMap
Hash算法:为快速查找而设计 1.普通查找(例如数组):使用数组存储entry,查找 key=x的value时,需要去遍历entry,找出对应的entry才能找到value 2.hash查找:查找key=x,对key取hash值得到value的内存地址,因此hash算法的查找的复杂度是 O(1) 3.hashmap的hash算法:为了压缩hash存储时所需要的内存空间(所给予的空间是cap...
2019-03-03 13:25:37
161
原创 java内存空间与内存模型
内存空间分为五大部分:线程私有内存的 【栈】 【native栈】 【寄存器】 + 线程共有的 【堆】 【方法区】 内存模型有三个特性:【可见性】 【原子性】 【有序性】 jvm内存空间:管理的内存空间可以分为以下五个区域 1.程序计数器(寄存器):线程私有的内存空间,记录着当前线程执行指令的情况,例如指定到哪一条字节码 2.栈:线程私有的内存空间,保存了是 基本数据类型(int, l...
2019-03-02 16:31:01
228
原创 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
291
原创 okhttp的源码简单追踪
参考: https://blog.piasy.com/2016/07/11/Understand-OkHttp/ https://www.jianshu.com/p/82f74db14a18 1.基本调用方法 OkhttpClient client = new OkhttpClient(); Request request = new Request.Builder().url(url...
2018-11-26 11:11:10
222
原创 常用排序算法
//公共方法:交换位置 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
201
原创 Android touch 事件的处理流程
1.与 touch 事件相关的主要处理方法是: dispatchTouchEvent (onInterceptTouchEvent + onTouchEvent) onInterceptTouchEvent 只存在于 ViewGroup 中。 2.在页面,touch事件的传递顺序,从外层到内层依次是 Activity,ViewGroup 和 View。 3.Activity...
2018-08-25 11:21:17
3227
原创 Handler、Message 和 Looper 源码的理解
1.Handler handler的主要功能是发送消息和处理消息。在源码中,主要有四类方法:构造方法,获取 Message 的方法,发送 Message 的方法,处理Message 的方法。 1)handler 的构造方法。 可以看出,一个 handler 只对应一个 looper ,而 looper 和 thread 是一对一的关系。 public Handler(Callback c...
2018-08-22 19:11:50
265
原创 对 ThreadLocal 类的理解
1.通过 synchronize 关键字,各线程可以共享变量。而通过 ThreadLocal 各线程彼此分隔,维护只属于自己的变量。 2.ThreadLocal 本身不保存什么数据,它主要提供操作方法,从 ThreadLocalMap 中存取数据。 3.ThreadLocal 联系着 Thread 和 ThreadLocalMap,每个 Thread 保存一个 ThreadLocalMap ...
2018-08-22 12:49:38
334
原创 双层嵌套recyclerview的整屏滑动
recyclerview 的 scrollstate 有三种 0 -> idle 1 -> dragging 2 -> setting recyclerview 的原始滚动状态变化是 1.拖动松手: 0 -> 1 -> 0 2.滑动松手: 0 -> 1 -> 2 -> 0 要处理 recyclerview 嵌套 recycler...
2018-08-04 16:35:46
1644
原创 textview阻塞滑动事件!!!
在 viewpager + fragment + recyclerview 布局时,滑动发生在recyclerview的item上时viewpager无法滑动,而滑动发生在recyclerview的间隙或者没有item的地方时viewpager可以滑动。最终发现item上有match parent的text,此textview是阻塞viewpager无法滑动的罪魁祸首!!!...
2018-07-24 10:39:16
495
原创 自定义两端为椭圆形的进度条
1.定义属性<declare-styleable name="DownloadProgress"> <attr name="borderColor" format="color" /> <attr name="borderWidth" format="dimension" />
2018-06-12 17:14:22
1546
原创 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 plt import pandas as pd data_train = pd.read_csv('data/...
2018-05-25 15:32:36
659
原创 pyplot 画图
参考 点击打开链接1. 使用 plt.plot() 画 折线图import matplotlib.pyplot as plt import 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
6266
原创 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
3055
原创 pandas 数据操作
参考 https://blog.youkuaiyun.com/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
267
原创 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
897
原创 设置子视图的宽度超过父视图的宽度
有这样的需求:父视图宽为 W,子视图宽为 2W ,然后通过 setX 的方法使子视图在父视图中移动。普通情况下,不管在什么时机下设置 子视图的 width = 2W,还是设置 clipChildren为false,都无法起到效果。然而,把父视图设置为 Framelayout 可以实现需求。...
2018-03-09 11:47:38
900
原创 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.0 Please set ANDROID_SWT to point to the folder containin
2018-03-08 16:14:18
5290
原创 在springmvc的web项目的jsp文件中引用jquery
1.下载jquery http://download.youkuaiyun.com/download/yangwei19680827/7454419 2.选择一个版本的jquery,例如 jquery-1.8.3.js,放入webroot目录下的适当位置,例如 webroot/res/js/jquery-1.8.3.js 3.在springMVC的xml文件中添加以下属性 4.在
2017-12-06 17:43:23
983
原创 使用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
1413
原创 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
1437
原创 activity切换动画与overridePendingTransition方法
设置从 activity1 切换到 activity2 的动画加载方式 1.在 activity1.startActivity(intent) 方法后,调用方法 activity1.overridePendingTransition(anim1, anim2); 其中 anim1 是 activity2 出现的动画,anim2 是 activity1 退出的动画 2.在 acti
2017-02-09 10:36:30
403
原创 在spark集群中通过hive访问mysql数据库
除hive客户端外,所有模块都安装于spark集群中的master机器 1.安装spark集群(参考http://blog.youkuaiyun.com/ronaldo4511/article/details/52886672) 2.安装 mysql 1) 查看系统当前是否已安装mysql rpm -qa | grep mysqk # 列出和mysql相关的包,本机的结果只有一条 mysql-li
2016-11-30 19:46:47
4177
原创 spark2.0版本的 DataFrame、DataSet 与 Spark sql
参考: http://www.cnblogs.com/seaspring/p/5804178.html https://my.oschina.net/cjun/blog/655263?p={{currentPage%201}} http://spark.apache.org/docs/latest/sql-programming-guide.html 1. 相关概念 1) R
2016-11-30 11:44:01
7351
原创 RDD转换为DataFrame的两种方式及spark sql的简单实例
参考 http://zhao-rock.iteye.com/blog/2328161 package spark_sql import util.HDFSHelper import java.io.{File, PrintWriter} import org.apache.hadoop.conf.Configuration import org.apache.hadoop.fs.FileSy
2016-11-28 16:26:57
11586
原创 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
6346
原创 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
22914
原创 svn笔记
1.使用android studio checkout svn工程如何切换svn账号 打卡 tortoisesvn的settings,在saved data中清除之前的认证信息即可
2016-11-17 08:43:19
395
原创 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
1911
原创 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
440
原创 使用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
7112
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅