自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

驴与鱼的博客

学海无涯苦作舟,书山有路勤为径

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 Flutter Module生成aar遇到的问题和解决方法

Flutter本地生成aar产物及问题 首先在Android studio终端输入flutter build aar, 如果看到 Built build/host/outputs/repo.后可以在一下场景可以看到产物在这块我遇到一个问题,执行flutter build aar时出现:Android property not found.Initialization script '....\packages\flutter_tools\gradle\aar_init_script.gra

2021-07-09 10:58:33 2082 4

原创 Android8.0适配安装未知来源应用

现在应用都有自动更新提示, 升级后自动安装, 但是8.0后谷歌需要添加安装未知来源应用权限,否则不会自动安装的,所以下面我们适配一下8.0, 有两种方法:第一种方法首先我们要在清单文件中添加请求权限 <!-- 8.0安装apk权限 --> <uses-permission android:name="android.permission.REQUEST_INS...

2019-08-26 11:48:27 745

原创 Android热修复之阿里Sophix的使用详解

阿里Spohix简介阿里巴巴对Android热修复技术已经进行了长达多年的探索。最开始,是手淘基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术,Dexposed。但这个方案由于对底层Dalvik结构过于依赖,最终无法继续兼容Android5.0以后ART虚拟机,因此作罢。后来支付宝提出了新的热修复方案Andfix。Andfi...

2019-08-09 17:51:54 1360

原创 Android 热修复技术简介

目前用的比较多的是阿里的Sphix, 微信的Tinker以及美团的Robust,下一篇咱们专讲一下Sphix的使用和原理分析

2019-08-09 17:07:02 204

原创 使用Nexus搭建maven私有仓库

下载安装首先我们需要下载解压压缩包: (下载地址) 假设我们的解压地址为:D:\maven\nexus-3.13.0-01-win64\nexus-3.13.0-01\bin注意: 一定要用管理员身份运行cmd 注意: 一定要用管理员身份运行cmd 注意: 一定要用管理员身份运行cmd 这时候运行命令:nexus.exe/install ...

2018-08-09 10:58:43 6575

原创 Android7.0版本 PopupWindow.showAsDropDown() 白屏无效问题

/** * Android7.0 popupwindow showAsDropDown在屏幕上方弹出解决方法,通过版本控制解决,这属于Android7.0代码的bug * @param pw 自己的popupwindow * @param anchor 在哪个布局的下面 * @param xoff x坐标 * @param yoff y坐标 ...

2018-02-26 16:39:32 421

原创 Android事件分发机制解析(一)

之前一直没有时间写东西,现在打算写一篇关于事件分发机制的文章.关于这类文章网上肯定有许多而且还比我 的好的,我只是尽我最大努力讲清楚,也让我重新梳理一下.onTouch , onClick, onTouchEvent的关联和区别onTouch方法 myButton.setOnTouchListener(new View.OnTouchListener() {

2017-09-04 12:39:13 335

原创 Android7.0权限适配

权限变化Android从6.0开始对隐私的保护越来越注重,从6.0动态申请权限到Android7.0的“私有目录被限制访问”,虽然对用户保护的力度加大了,但是对于我们开发者来说,之前我们写的代码必须要适配到7.0了,很讨厌哦~下面我们具体讲一下关于7.0方方面面的变化拍照 // 请求加载系统照相机 private static final int TAKE_PICTURE = 0x00000

2017-06-14 22:38:57 8450 1

原创 Android listview item删除动画和item排序动画

我明明是正着录得,但截取gif动画就变成倒着了,大家凑活看吧.今天讲的就是上面动画所演示的,listview删除item和上下item进行交换的动画.我们有时候listview会执行删除item的操作,但是如果没有动画就会显得很突兀,用户体验非常不好,因此,我们删除item的时候可以加个动画效果,这样看上去就顺眼多了.不多说,上代码首先,我们看一下删除动画:private AnimatorSet g

2017-06-13 21:41:40 1007

原创 面向对象的三大特性之多态

多态什么叫多态多态: 指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)换句话说,猫和狗都是动物,但它们的叫声不一样,所以猫和狗是动物的多态.多态的好处可替换性: 多态对已存在代码具有可替换性。例如:动物会吃东西,但如果是猫会吃鱼,如果是狗会吃肉.可扩充性: 多态对代码具有可扩充性。增加新的子类不影响已存在类的多态性、继承性,

2017-05-11 15:42:37 449

原创 面向对象的三大特性之继承

继承什么叫继承继承: 继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。 通过extends关键字产生继承关系. 继承的类被称为子类(派生类),被继承的类称为父类(超类、基类).子类可以访问父类不被private修饰的属性和方法.但构造方法不能被继承继承的好处提高代码的复用性使类与类之间产生关系继承的限制性子类与父类之间只存在单继承关系,就是一个类同时只

2017-05-11 14:23:31 305

原创 面向对象的三大特性之封装

什么叫面向对象面向对象就是:把数据及对数据的操作方法放在一起,作为一个相互依存的整体——对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。面向对象的三大特性面向对象的三大特性就是封装,继承,多态封装所谓封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只

2017-05-10 17:48:37 382

原创 类变量、成员变量、实例变量、局部变量、静态变量、全局变量的定义与区别

全局变量全局变量又叫成员变量,它是声明在类里,函数,静态语句块外的变量,全局变量又分为类变量(静态变量)、实例变量两种. 通过代码来看一下:private long i;//实例变量private static long j;//类变量实例变量总是通过对象来访问,因为它们的值在对象和对象之间有所不同。而由static修饰的类变量(静态变量)在类装载的时候就会被初始化,也就是说一处修改多处改变.

2017-05-08 17:59:23 1742

原创 HTTP与HTTPS的区别

HTTP之前我在HTTP协议详解已经很清楚的讲了HTTP协议的定义,特性,以及Request请求和Response响应.在这我再补充一下HTTP协议的演进:HTTP 0.9版本  1991年这个版本就是最初用来向客户端传输HTML页面的,所以只有一个GET命令,然后服务器返回客户端一个HTML页面,不能是其他格式。利用这个版本完全可以构建一个简单的静态网站了。HTTP 1.0版本  1996年1.0

2017-05-05 12:45:32 1231 1

原创 TCP三次握手和四次挥手详解以及原因

三次握手三次握手(three times handshake;three-way handshake)所谓的“三次握手”即对每次发送的数据量是怎样跟踪进行协商使数据段的发送和接收同步,根据所接收到的数据量而确定的数据确认数及数据发送、接收完毕后何时撤消联系,并建立虚连接。第一次 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同

2017-05-05 11:14:43 1105 1

原创 Session、Cookie、Cache、Token分别是什么及区别

SessionSession是什么Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。什么是会话? 在计算机术语中,会话是指一个终端用户与交互系统进行通讯的过程,比如从输入账户密码进入操作系统到退出操作系统就是一个会话过程。之前我们讲的TCP协议三次握手就是建立一个会话.Session对应的类为javax.servlet.htt

2017-05-04 12:34:23 2975 2

转载 大龄程序员的未来在何方

我发了一篇题为“35岁程序员的独家面试经历”的文章,结果引起了不少大龄程序员的共鸣和感慨,大家都对大龄技术人员的未来非常关心,有的迷惘,有的坚定,不一而足。因此,我准备写一篇文章专门来谈谈这个问题。大龄程序员的界定老早网上有人说,软件开发干不过30岁,后来又有人说干不过35岁,后来又有人说干不过40岁,后来又有人说干不过45岁……各种说法很多,所以我写了一篇文章,题为“程序员的年龄天花板”来讨论这个

2017-05-03 17:04:56 785

原创 HTTP协议详解

HTTP协议是什么协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器.HTTP是一个属于应用层的面向对象的协议.HTTP协议特性HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方

2017-05-03 14:05:11 727

原创 HTTP协议、TCP协议、IP协议和TCP/IP协议区别

TCP/IP协议TCP/IP协议在上一篇文章中网络协议详解我已经很详细的讲解了.所以在这一篇中,我简单说一下如果想要详细了解,请参考上篇文章. TCP/IP协议看上去好像是TCP协议和IP协议,但其实并不一样 TCP/IP协议叫做网络通信协议,它包括上百个协议,而HTTP协议、TCP协议、IP协议只是TCP/IP协议中的一部分. TCP/IP协议是用于计算机通信的一组协议,我们通常称它为TCP

2017-05-02 17:31:20 14867 1

原创 网络协议详解

网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。例如,网络中一个微机用户和一个大型主机的操作员进行通信,由于这两个数据终端所用字符集不同,因此操作员所输入的命令彼此不认识。为了能进行通信,规定每个终端都要将各自字符集中的字符先变换为标准字符集的字符后,才进入网络传送,到达目的终端之后,再变换为该终端字符集的字符。当然,对于不相容终端,除了需变换字符集字符外还需转换其他特性,如显示格

2017-05-02 16:18:52 2996

原创 Android学习研究(五)通过BitmapShader实现圆形图片

上一篇咱们通过PorterDuffXfermode实现圆形图片 Android学习研究(四)通过PorterDuffXfermode形成简单的圆角和圆形图片 这一次咱们用BitmapShader来实现圆形图片.BimapShader实现圆形图片的原理是: 1,通过Matrix对图片进行缩放, 2,然后画笔设置shader, 3,最后画圆首先我们对图片进行缩放,然后设置shader:

2017-04-21 15:46:22 641

原创 Android学习研究(四)通过PorterDuffXfermode形成简单的圆角和圆形图片

我们之前学习了PorterDuffXfermode了,现在我们来用它做一下简单的圆角和圆形图片 首先自定义属性:<resources> <declare-styleable name="RoundImageView"> <attr name="backgroundresource" format="reference"></attr> </declare-style

2017-04-20 14:41:40 605

原创 Android学习研究(三)PorterDuffXfermode解析

PorterDuffXfermode用于创建一个使用指定的porterduffxfermode模式的绘画.使用方法: paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN)); canvas.drawRoundRect(0,0,bitmap.getWidth(),bitmap.getHeight(),20,20,paint)

2017-04-07 15:18:47 429

原创 Android学习研究(二)之BitmapShader

BitmapShader用于绘制位图作为纹理的着色器。通过设置平铺模式可以重复或镜像位图。我们会经常用它来实现圆形图片或圆角图片.今天研究一下BitmapShader的用法BitmapShader的构造方法有三个参数: 1,Bitmap bitmap:位图 2, Shader.TileMode tileX: The tiling mode for x to draw the bitmap in.

2017-03-21 13:54:14 850

原创 Adroid学习研究(一) PathEffect 详细解析

PathEffect是绘制path路径增加特殊效果的类,它的子类有ComposePathEffect, CornerPathEffect, DashPathEffect, DiscretePathEffect, PathDashPathEffect, SumPathEffect; CornerPathEffect(float radius):它将Path的各个连接线段之间的夹角用一种更平滑的方式连

2017-03-16 13:22:08 444

原创 Adapter getItemViewType() getViewTypeCount()报下标越界异常及解决办法

昨天遇到个问题,我滑动列表的时候,应用一直崩溃报下标越界异常,但不提示我哪一行,我一开始以为是我的数据有问题但是不是.哇 好烦呢! 但我看到我getItemViewType() getViewTypeCount()方法后我明白了 @Override public int getViewTypeCount() { return 3; }

2017-03-15 09:57:13 1853 1

原创 Android 从应用程序跳到系统应用管理和应用的权限管理页面

今天给app添加权限,当用户禁止后会弹出alert提示用户,咱们这个app需要这个权限 没这个权限app的一些功能就不能使了,但用户已经关了 也不知道在哪打开 所以加个去设置的按钮 点击然后跳到系统应用管理 设置权限 Intent intent = new Intent(); intent.setAction("android.intent.action.MAIN"); intent.setC

2017-03-10 13:41:59 7977

原创 Error: Library projects cannot set applicationId. applicationId is set to '包名' in default

今天运行项目时,遇到个这个错误.怎么弄都不行.看看百度吧,解决了:defaultConfig { applicationId "com.super.app" <---- remove this line minSdkVersion 15 targetSdkVersion 19 versionCode 1 versio

2017-03-09 17:13:50 2986

原创 ViewPager setCurrentItem(0)时,OnPageChangeListener onPageSelected() 不响应

今天遇到个问题,在我setCurrentItem(0),onPageSelected()方法怎么都不响应,网上也没找到彻底解决的办法,所以只能用笨办法了可以这样,当position为0时pageChangeListener.onPageSelected(0);而position不为0时pager.setCurrentItem(mPosition)这样就可以暂时解决问题了,但我还想从根本上解决.再找

2017-02-24 15:17:04 8141 3

原创 Android EditText获取焦点并弹出软键盘

昨天遇到一个问题,当进入一个 新页面的时候需要淡出软键盘输入,但总不能让用户点一下在显示吧.我也觉得不是什么大问题.但就是弹不出来.所以只能在网上找了 找了各种方法怎么都不行 嗨呀 好气啊 不过功夫不怕有心人 终于解决了 和大家分享一下 <EditText android:layout_width="match_parent" android:layout_heig

2017-02-16 16:12:25 12833

原创 Android保存图片到系统图库及常见问题解决

今天要做一个保存图片到系统图库的功能,自身能力较浅,所以只能搜索了但发现网上的方法有几处bug,所以自己总结一下防止以后忘掉也想和大家分享一下.首页网上保存图片并插入系统图库的方法: // 首先保存图片 File appDir = new File(SAMPLE_DEFAULT_DIR); if (!appDir.exists()) { appDir.mkdi

2017-02-16 16:02:57 5941 5

原创 Android初探自定义View

写了一段时间Android了却发现关于自定义View这一块一直不是很懂,人们都说自定义View是进阶高手的阶梯.所以想研究下自定义View,我知道有很多大神写的自定义View讲解比我好的太多了,我只是记录一下我的研究过程.当然,能够帮助大家是最好不过的.首先,在Values文件夹下建一个attrs文件:<declare-styleable name="CircleProgress">

2016-07-08 14:45:43 502

原创 Android 代码中动态改变Shape

在布局中,我们经常应用Shape来进行一些布局的优化,但有时候我们需要在代码中来进行修改我们引用的Shape.很简单,代码如下: RelativeLayout groupRankLayout = (RelativeLayout) findViewById(R.id.group_rank_layout); GradientDrawable mGroupDrawable= (GradientDrawa

2016-07-04 14:55:46 5643

原创 Android仿微信选择图片

因为需要上传图片,选择图片的效果微信效果很好,所以我在网上找了一些仿微信的例子,但是都不是很全,所以我找了几个并和在一起,效果还行,不废话了上代码. 首先,是一个九宫格显示图片的页面.因为我的代码是fragment嵌套在Activity中的所以主要代码是在fragment中: MutiPictureFragment布局:<RelativeLayout an

2016-07-02 16:37:15 1602

原创 HTML格式的字符串转成普通字符串

今天工作遇到一个小问题,就是html格式的字符串显示问题.之前也遇到过解决了.但再一次遇到忘了怎么解决了,所以想写下来以防再次碰到,也想和大家分享下,闲话不多说,解决方案: mEbookIntro.setText(Html.fromHtml("字符串"));通过这一行代码就可以解决.如有问题,请留言.

2015-11-06 13:57:28 1130

原创 ScrollView中嵌套ListView(二)

关于ScrollView中嵌套ListView有时候还会产生一个问题: listview不是从顶部开始. 关于这个问题我的解决方案是:mScrollview.smoothScrollTo(0,20);通过设置坐标来显示位置,如果没有效果的话,再在代码中加上:mListview.setFocusable(false);将listview失去焦点,问题就解决了.如有问题,请留言.

2015-11-06 09:24:23 285

原创 ScollView中嵌套ListView问题

在工作中,我们会遇到需要在ScollView中嵌套ListView的问题,但如果在ScollView中嵌套普通的ListView会出现只显示一行的问题.所以我的解决办法有三种:

2015-11-05 14:21:52 368

configs.zip

Flutter自动生成aar上传Maven

2021-07-08

Android仿微信选择图片

Android仿微信选择图片

2016-07-02

空空如也

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

TA关注的人

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