自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 资源 (20)
  • 收藏
  • 关注

原创 AdapterViewFlipper 添加item点击事件

AdapterViewFlipper 添加item点击事件使用AdapterViewFlipper实现广告滚动功能,在使用setOnItemClickListener时无法接收回调。原因由于在其父类AdapterViewAnimator中重写了onTouchEvent函数,但是在MotionEvent.ACTION_DOWN时返回值一直是false,导致onTouchEvent函数中的MotionEvent.ACTION_UP,无法回调,从而无法回调OnItemClickListener。因此要想

2021-01-18 14:43:37 464

原创 使用Retrofit+Okhttp+LiveData+协程的MVVM实现的网络请求框架

MVVM-Coroutine最近看到很多人在学习kotlin的时候,都有提及到协程,于是也就在网上跟着学习了一波。但是学过之后在什么用到呢?很多大牛开始用这个代替Rxjava或者线程来写MVVM框架了。更多关于个方面的原理问题,这里就不讨论了。以下就是我参考了网上很多大佬写的例子加入了自己的一些想法,模仿的一个MVVM框架分享给大家。希望能给要学习MVVM的小伙伴做个参考。使用retrofit+okhttp+协程的mvvm请求框架特点:使用自定义的MutableLiveData的Observer,

2020-11-01 16:56:52 1697

原创 android CardView,LinearCardView,RelativeCardView自定义和使用

在开发过程中我们的view或布局要使用圆角和阴影的时候我们可以使用shape自定义圆角和阴影系统自带的CardView来封装一层,之后设置圆角和阴影但是以上2中方式都有个缺点:自定义shape的时候,在对ViewGroup设置背景时,如果里面的子view有背景颜色同时比较靠近边角的时候,子view会伸出圆角范围且会把底层的ViewGroup设置圆角覆盖掉,或者漏出一个角。这样就达不到我们想要的效果了。使用系统的CardView来设置的话,由于CardView是继承FrameLayout

2020-10-23 11:40:46 892

原创 RecyclerView ItemDecoration 自定义高度和颜色

自定义高度和颜色RecyclerView ItemDecoration自定义RecyclerView ItemDecoration,针对RecyclerView的横向和竖向的分割线,具体特点如下支持像ListView一样可以使用颜色作为分隔线(也支持drawable)支持自定义分割线的高度支持控制是否显示最后一条分割线下面贴上完整代码供参考/** * recycler view 横竖方向使用的divider * * @author wangjian */public class L

2020-10-17 11:29:43 1775 3

原创 建议使用 keytool -importkeystore -srckeystore D:\xx- pkcs12“ 迁移到行业标准格式PKCS12

最近在用Android Studio Build ->Generate Signed Bundle or APK 生成一个key store的时候有个异常提示网上搜索其他人使用命令行生成的签名的时候也会有下面的提示(本人用命令行没有出现提示):但是,直接点击 ok,也会在对应的目录中生成key store文件,即使我们不按照上面的提示转换也可以正常使用的。但是官方建议我们转换一下我们还是转换一下吧步骤:一. 通过android studio或者命令行生成我们的xxxxxx.jks签名文件,

2020-09-12 16:13:00 4522 1

原创 Android启动APP时黑屏白屏

介绍黑白屏前先介绍2个概念冷启动:指 app 第一次启动或者启动被后台杀死后在这个状态打开 app,这种启动方式叫做冷启动。热启动:指 app 没有被后台杀死,按home仍然在后台运行,通常我们再次去打开这个 app,这种启动方式叫热启动。每当我们冷启动打开app的时候,会出现一会儿的黑屏或者白屏才进入Activity的界面显示,但是有些app却不会如手机QQ,微信。为什么会出现这样的现象呢?:主要是由于在应用启动的时候需要加载相关资源,在还没有执行到setContentView之前,界面显示的黑屏

2020-07-08 16:30:28 612

原创 okhttp添加日志拦截器,上传文件RequestBody.writeTo调用两次

okhttp添加日志拦截器,上传文件RequestBody.writeTo调用两次在使用okhttp上传文件监听进度时,由于OkHttpClient添加了日志拦截器,会导致RequestBody.writeTo调用2次下面先介绍2中解决方法,后面分析调用2次的原因方法一:在添加日志拦截器的时候,控制是否打印日志,如:在上传文件时设置HttpLoggingInterceptor.Level.NONE再或者,粗暴点,就直接在上传文件的时候,重新创建一个OkHttpClient实体删掉HttpLog

2020-06-29 10:50:36 1995

原创 ubuntu下编译webrtc for Android

安装虚拟机;VMware tools;共享文件夹(以下所有的过程都在共享文件夹下进行);执行apt-get update(确保源同步过程不出现错误);安装apache2sudo apt-get install git apache2 curl libcurl3 libcurl3-dev php5-curl之后弹出页面,使用tab键选择按钮,enter确认sudo ...

2020-04-03 10:22:20 2592

转载 Ubuntu添加开机root用户登录

1:当安装好虚拟机,安装好Ubuntu操作系统后,登陆的时候发现除了自己的设置的用户就是外来用户,其实Ubuntu中的root帐号默认是被禁用了的,所以登陆的时候没有这个账号,但是如果每次使用root都进行切换的话会显的很繁琐,所以下文就是设置root账户。(由于操作过程中忘记截图,但是为了方便大家的操作,此图非自己所做,特此声明)2:首先打开终端开启root账户 :sudo passwd ...

2020-04-03 10:12:12 434 1

原创 ubuntu下PjSip2.10编译 for android

PjSip官网编译指导:https://trac.pjsip.org/repos/wiki/Getting-Started/Android编译环境:ubuntu 16.0414.04也是可以的我创建的根目录:/home/pjsip-install/,下面所有操作编译都在这个目录里面执行了下面使用到的所有编译工具下载地址链接:https://pan.baidu.com/s/1BmQtX...

2020-04-02 17:42:21 1942 1

原创 cmake-3.17 cmake-3.18.2下载

cmake 官方下载地址https://cmake.org/files/,里面有各个版本,网速的好的小伙伴可自行选择合适的版本下载但是外国的网上下载太慢,下面分享几个我已经下载好的版本:Linux版本cmake-3.17.0.tar.gzcmake-3.9.2.tar.gzwindows版本cmake-3.15.5-win32-x86.msi由于csdn下载需要积分,就放到百...

2020-03-25 16:28:01 11550 34

原创 pjsip csipsimple源码下载

csipsimple源码google官网下载地址:https://code.google.com/archive/p/csipsimple/source/default/source由于连接外网比较慢,所以就直接一次把所有的源码都给下载下来了,分享给需要的人(官方也很久没有更新过这个项目了,但是里面的功能还是很全面的 ),包括的项目所有的功能源码,但是源码是eclipse的,使用Androi...

2020-03-24 11:06:40 315

转载 Git下拉和提交等遇到:fatal: early EOF fatal: index-pack failed

以下分享3种解决方法:方法一:找到.gitconfig,添加如下配置。(或者用git config --global命令)[core] packedGitLimit = 512m packedGitWindowSize = 512m [pack] deltaCacheSize = 2047m packSizeLimit = 2047m windowMemory = 2047m...

2020-03-23 10:04:32 4885

原创 百度云Windows Git-2.31.0-64-bit.exe下载,Git Bash

由于在官网下载Git太慢了,现在下载下来分享给网速慢的小伙伴放在csdn的下载需要积分,就放到百度云了You are downloading the latest (2.25.1) 64-bit version of Git for Windows. This is the most recent maintained build. It was released 28 days ago, ...

2020-03-19 10:03:29 17895 29

原创 mysql升级Caused by: com.mysql.jdbc.exceptions clause; this is incompatible with sql_mode=only_full_gr

mysql由5.7.22升级5.7.25版本的时候报Err1055异常Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column...

2020-01-06 15:05:02 181

原创 linux 下 使用cronolog对Tomcat 输出catalina.out 日志按照自定义日期格式进行切割 亲测可用

在Linux系统下,tomcat日志默认输出到catalina.out,随着时间的推移,catalina.out会持续增大,不方便管理和查询。本文将介绍如何用 cronolog工具进行日志按日期分割,亲测可用linux环境 centos7.3.1611 (Core) cronolog版本 cronolog-1.6.2tomcat版本 Apache Tomcat/8.5.40linux版...

2019-12-27 09:47:28 2395 1

转载 idea配置tomcat,tomcat能启动,访问项目404

1.先检查tomcat是否安装正确,能否正常启动2.检查idea,部署项目的访问路径,注意下图红框中必须是“/”转自:https://blog.csdn.net/weixin_43817709/article/details/97751595...

2019-12-24 17:28:41 915

原创 idea tomcat 怎样出现update classes and resources

idea Tomcat 在使用JRebel热更新的时候如何 出现update classes and resources如下步骤1. 首先配置好tomcat server2. 打开配置界面,选择Deployment3. 在Deployment标签界面下选择右边的+加号,添加一个Artifact,选择项目带有expload的注意: 不要选择带war的4. 查看已经显示了我们要找的 u...

2019-12-24 16:39:58 3269 1

原创 java程序CPU占用过高问题排查

记录:java程序CPU占用过高问题排查https://blog.csdn.net/puhaiyang/article/details/78663942Linux CPU信息和使用情况查看(CentOS)https://www.cnblogs.com/lsdb/p/7063577.html一次生产 CPU 100% 排查优化实践 Disruptor 的使用https://blog.cs...

2019-04-28 15:31:12 1021

原创 MySQL5.7 添加用户、删除用户与授权

登录mysql:mysql -uroot -prootMySQL5.7 mysql.user表没有password字段改 authentication_string;一. 创建用户:命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';例子: CREATE USER 'dog'@'localhost' IDENTIFIED ...

2019-04-27 13:26:52 268

原创 Tomcat无法登陆,在服务端Manager App无法打开

Manager App无法打开或登陆,主要有2个原因1. 在tomcat安装目录下的/conf/tomcat-users.xml里面要做如下配置如: <role rolename="manager-gui"/> <role rolename="admin-gui"/> <user username="test" password="123456" roles=...

2019-04-18 17:18:20 1100

原创 解决No module named png,No module named requests问题

有这个提示一般是由于缺少pypng模块,所以下载一下就可以了如下:window上进入python的安装目录E:\python2.7.16\Scripts在上面的目录中打开cmd执行:pip install pypng就可以了...

2019-04-12 15:39:50 4381 3

原创 resin-pro-4.0.61.tar.gz下载

百度云下载地址:链接:https://pan.baidu.com/s/1VPioBnoYwpqTRTtEH5YZcw提取码:mk6p

2019-04-02 16:00:18 523

原创 linux 查看java的安装路径

获取java安装路径前要判断是否已经安装成功java执行命令:javaUsage: java [-options] class [args...] (to execute a class) or java [-options] -jar jarfile [args...] (to execute a jar file)where opt...

2019-04-02 10:10:32 13607 2

转载 主线程中的Looper.loop()死循环为什么不会导致ANR?

源码的 ActivityThread 类中执行Looper.loop();的main函数,也就是主线程的入口public final class ActivityThread { public static void main(String[] args) { // 为主线程创建looper Looper.prepareMainLooper(); ...

2019-03-25 15:26:43 4727 1

原创 秒懂Android Handler和Looper消息原理

在理解Android Handler消息机制原理前请务必理解Threadlocal使用特点推荐文章https://www.jianshu.com/p/f2ff9c38c5be下面是我对Threadlocal的理解可供参考:每个线程都可以通过ThreadLocal来存储并获取保存的数据,多个线程之间是相互独立的。ThreadLocal在当前线程操作数据只对当前线程有效ThreadLoca...

2019-03-21 17:32:43 795

原创 CentOS7使用iptables开放特定端口

CentOS7 默认使用firewalld防火墙,如果想换回iptables防火墙,可关闭firewalld并安装iptables。一、关闭firewall:关闭防火墙systemctl stop firewalld.service禁止开机启动防火墙systemctl disable firewalld.service查看防火墙状态(关闭后显示not running,开启后显示r...

2019-03-19 14:24:10 5046

原创 ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed

ERROR: PID file /var/run/opensips.pid does not exist -- OpenSIPS start failed解决办法:查询密码设置表mysql> SHOW VARIABLES LIKE 'validate_password%';+--------------------------------------+--------+| V...

2019-03-19 11:46:32 3675

原创 ERROR 1045 (28000): Access denied for user 'opensips'@'localhost' (using password: YES)

在用户表中插入数据时:执行过mysql授权:grant all privileges on opensips.* to opensips@'%' identified by '123456' with grant option;刷新权限flush privileges;之后在对数据库表进行操作时报如下错误mysql: [Warning] Using a password on th...

2019-03-19 11:29:17 1226 4

原创 VMware虚拟机下Centos7 桥接方式网络配置完整步骤

一、打开虚拟机的设置页面,设置虚拟机桥接模式如图:选择桥接模式(复制物理网络连接可选)二、桥接模式配置VMware虚拟机网络1. 查看宿主机网络信息:ipconfig /all 以太网适配器 本地连接: 连接特定的 DNS 后缀 . . . . . . . : ...

2019-03-18 17:51:02 78664 54

原创 springboot-demo实例

springboot-demo实例demospringboot学习的小demo,希望对初学者有点帮助项目使用了swagger2自动生成文档使用thymeleaf进行模板数据填充使用mybatis封装对数据库的操作(数据库文件在根目录的springboot.sql,需要创建数据库springboot进行导入,具体配置可参考application.properties)具体实现可参看代码...

2019-03-14 15:45:20 357

原创 mysql 数据库导入导出方法

mysql 数据库导入导出一般形式:mysqldump -h IP -u 用户名 -p -d 数据库名 &gt; 导出的文件名参数解析:-h:表示host地址-u:表示user用户-p:表示password密码-d:表示不导出数据注意:(1)-p 后面不能加password,只能单独输入数据库名称(2)mysqldump是在cmd下的命令,不能再mysql下面,即不能进入m...

2019-03-14 11:04:37 33769 6

转载 CentOS安装MySQL的步骤

1、官方安装文档http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/2、下载 Mysql yum包,官方链接,可自行选择版本http://dev.mysql.com/downloads/repo/yum/下载到本地再上传到服务器,或者使用wget 直接下载wget http://repo.mysql.com/mysql57-com...

2019-03-13 17:56:46 230

原创 adb wifi 连接手机调试

查看android设备的IP地址,这里有三种方式查看Android设备IP。(1).设置-关于手机-状态信息-IP地址中查看(2).设置-WLAN-点击当前链接上的Wi-Fi查看IP例如:设置—〉无线或网络—〉WLAN设置—〉查看当前连接Wi-Fi的IP地址(部分机型需要按menu键并选择“高级”选项—〉IP地址)(3).通过adb命令查看设备IP地址:adb shell netcfg前...

2019-03-07 10:17:17 506

原创 android基于手机tcp抓包

首先手机需要root哦1、下载tcpdump链接:https://pan.baidu.com/s/1Ze31eleBZ2cc7iQrKZ5Eeg 提取码:6ytx 2、通过adb命令上传到手机里adb push tcpdump /system/bin3、导出日志文件adb shell tcpdump -p -vv -s 0 -w /sdcard/capture.pcaptcp...

2019-03-07 10:12:50 3659 3

原创 Intellij idea解决乱码问题

解决方法第一步:修改intellij idea配置文件:找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别在这两个文件中添加:-Dfile.encoding=UTF-8第二步:找到intellij idea的file—settings—Editor—FileEncodings的Global...

2019-03-07 10:03:09 483 1

原创 react-native集成bug记录

bug记录:Command run-Android unrecognized. Make sure that you have run npm install and that you are inside a React-native project.此时需要下载node_modules依赖库,输入如下命令:yarn add react-native-cli...

2019-03-07 09:47:41 256

原创 code-push更新react-native项目

code-push更新使用:(参考地址:https://blog.csdn.net/sinat_17775997/article/details/69364463)在android的Application和React项目中的app.js配置 deployment key查看项目信息 code-push deployment ls ReactDemo查询key值 code-push ...

2019-03-07 09:45:43 284

原创 react-nativea安装和卸载响应组件

react-native安装组件:如:安装react-native-video组件npm install react-native-video --savereact-native link react-native-videoreact-native卸载组件如:如:卸载react-native-video组件react-native unlink react-native-vide...

2019-03-07 09:41:18 1585

原创 创建新的react-native项目

需要先安装npm创建项目react-native init ReactDemo 通过npm安装最新版本npm install项目的android-&gt;app-&gt;src-&gt;main目录下创建一个名为assets空文件夹,执行如下命令react-native bundle --platform android --dev false --entry-file index...

2019-03-07 09:39:07 2573

tcpdump文件,tcpdump

tcpdump抓包工具,提供个下载不了的小伙伴 需要获得tcpdump软件,官方获取地址(http://www.strazzere.com/android/tcpdump)

2018-10-18

android socket跨进程通讯demo

android socket跨进程通讯demo,实现同一手机2个不同进程间进行通讯

2018-09-06

TCPView,查看当前电脑端口使用情况

TCPView,查看当前电脑端口使用情况,可关闭当前占用端口的进程

2017-09-28

微信分享完整demo

微信分享完整demo,带appid,同时有签名文件,下载可用

2016-06-15

flux-retrofit-okhttp

flux-retrofit-okhttp封装实现网络请求,界面更新的完整框架

2016-05-09

okhttp library

1.实现get,post请求 2.支持上传,下载功能 3.支持Gson泛型解析json数据 4.使用mvc设计模式 5.支持自定义exception 6.支持自定义controller 7.封装glide图片库使用

2016-04-29

downloadMenagerdemo

DownLoadManagerDemo介绍downloadmanager的一般使用

2016-04-11

Android Layout ID Converter

android studio 插件 Android Layout ID Converter,直接findlayout中的viewid

2016-04-11

expandview

expandview 支持自定义popview,每一个弹出的view都是一个独立的popwindow 同时也可实现是否在顶部tab上显示选择的item文字,轻松实现58区域选择

2016-04-07

VisualSVN Server3.5.0

VisualSVN Server3.5.0 服务端

2016-04-01

listview局部刷新

主要原理: 对listview的某一个item进行刷新 1.要获取要刷新的item当前索引position和数据 2.对获取的数据进行重置 3.将重置的数据放到adapter中的数据集的原来的位置(根据position刷新原数据集的某一条数据) 4.在listview中获取需要刷新的子item的view 5.从更新过的数据集中获取新数据,更新viwe中的数据(handler中操作,实现界面的刷新)

2015-05-08

ViewPager实现淘宝天面首页广告栏,支持左右滑动,自动滑动,带圆点指示器

ViewPager实现淘宝天面首页广告栏,支持左右滑动,自动滑动,带圆点指示器

2015-02-09

service和Intentservice示例

介绍service和intentservice的使用和其中应该注意的部分

2015-01-15

xp32/win7(32)触摸板驱动

xp32/win7(32)触摸板驱动可设置触摸板在有鼠标时禁用,无鼠标时启用

2014-12-18

contentprovider实现数据库访问

contentprovider实现数据库的增,删,改,查,自定义组件显示

2014-12-16

上拉下拉listview

自定义的listview支持上拉下拉刷新回调 1.可根据需要设置上拉的listview footer是否显示setPullLoadEnable(boolean b) 2.可设置下拉是否可用setPullRefreshEnable(boolean b) 3.自定义头部显示

2014-12-09

viewpage中的imageview支持双指缩放,支持大图高清图

library中有两个自定义的view 1.`ScaleImageView`支持imageview的设置setbitmap,resid,drawable 2.`SubsamplingScaleImageView`支持本地图片,支持assits下的文件同时支持大图,高清图片

2014-12-09

android手机qq分享demo

实现手机qq分享app应用,图片,网站链接等信息

2014-06-04

自定义listview和scrollview的下拉刷新

完美的自定义listview和scrollview的下拉刷新demo

2014-05-30

android源码

通过源码程序,了解android系统的运行原理。同java源码

2014-05-26

空空如也

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

TA关注的人

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