自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

merbn的博客

一直以来,不敢止步。

  • 博客(98)
  • 收藏
  • 关注

原创 Android studio Mac 快捷键对应截图

Android。

2023-09-15 20:13:09 233

原创 计算机基础- 计算机网络

计算机基础- 计算机网络HTTP1.0和HTTP1.1的一些区别缓存处理带宽优化及网络连接的使用错误通知的管理Host头处理长连接HTTP2.0和HTTP1.x相比的新特性新的二进制格式多路复用header压缩服务端推送Https加密原理加密算法的类型基本分为了两种对称加密加密用的秘钥和解密用的秘钥是同一个,比较有代表性的就是AES加密算法非对称加密加密用的秘钥称为公钥,解密用的秘钥称为私钥,经常用到的RSA加密算法就是非对称加密的此外还有Hash加密算法

2021-03-31 16:56:14 113

原创 [Android]网页内图片点击查看大图/识别二维码/下载

场景项目中的广告详情页面是个webView加载的富文本,包含图片,需要点击查看大图,长按识别二维码功能。实现webView基础设置 val webView = fragment.binding.webView webView.settings.javaScriptEnabled = true webView.settings.builtI...

2020-05-06 15:34:38 672

原创 [Android] 聊一下 AppCompatTextView 与 TextView

抛出1.compat库是如何将TextView替换为AppCompatTextView的?2.为什么要进行替换?3.根据替换相关原理,我们可以做哪些事情?Answer1:第二问:先从第二问开始吧,AppCompatTextView继承自TextView,是对TextView的一种扩展,因为在5.0中首次推出了MaterialDesign这种设计风格,但是众所周知,5.0推出不可能所...

2019-08-14 13:47:21 5304 2

原创 [Android] 谈一下自定义View的流程

抛出可以从:自定义View的步骤;2.自定义View的注意事项;3.自定义ViewGroup的步骤以及注意事项;4.一些特殊需要注意的地方;以上几方面进行。Answer1:要想充分理解自定义View的流程,就必须对View的绘制流程有深刻理解,下面说几点:DecorView被加载到Window中从Activity的startActivity开始,最终调用到Activi...

2019-08-01 22:10:35 131

原创 [Android] Handler中的IdleHandler

抛出Handler中的IdleHandler它有什么能力?它有什么用处?能想到一些合适的场景吗?Answer1:首先看下源码的注释/** * Callback interface for discovering when a thread is going to block * waiting for more messages. */ ...

2019-07-25 18:21:21 641

原创 RecycleView横向自动滚动(ViewPager效果)

场景项目中要求横向滚动,可自动滚动,可左右滑动。代码AutoPollRecyclerView.javaimport android.content.Context;import android.support.annotation.Nullable;import android.support.v7.widget.RecyclerView;import android.uti...

2019-07-24 17:58:35 2077

原创 Android Studio 报 Failed to resolve: xxx 找不到依赖 错误解决

场景公司网络异常,修复后,所有项目都报这个错,网上搜索的都是修改版本号一致。然而对我并没有解决。解决在项目最外边的build.gradle中,调整google()与jcenter()的位置顺序。将google()放置在jcenter()的上面即可。repositories也要保持顺序一致参考链接(下面的方法都没有解决我这个问题)Android Studio 报 Failed t...

2019-07-24 17:48:24 4038

原创 横向滚动的RecycleView一屏显示五个半,低于五个平均分布

场景项目中有个Icon的模块,要求在不同的手机显示个数相同,如超出屏幕显示则显示半个。代码使用的是横向滚动的RecycleView,在adapter中写如下代码: if (data.size <= 5) {//处理居中 val lp = helper?.itemView?.layoutParams lp?.width...

2019-07-18 19:37:51 4174

原创 Android 网页打开App进入对应页面

场景产品中有个功能是分享,用户点击分享的链接可打开app(若没有下载,跳转应用宝下载),进入相应的页面。代码一般会在闪屏页添加以下代码(程序的入口)在AndroidManifest.xml中<activity android:name=".mvvm.splash.adsplash.AdSplashActivity" android:c...

2019-04-10 20:36:30 1261

原创 CSS3 伸缩布局

主轴:Flex容器的主轴主要是用来配置Flex项目,默认是水平方向。侧轴:与主轴垂直的轴称作侧轴,默认是垂直方向的。方向:默认主轴从左往右,侧轴从上到下。主轴和侧轴并不是固定不变的,通过flex-direction可以互换对浏览器的支持不一致属性详解1.min-width 最小宽度 、max-width 最大宽度2.flex-direction 调整主轴方向(默认为水平...

2019-03-24 22:19:12 128

原创 CSS变形动画

过渡动画css3的特征之一,可以在不使用flash或JavaScript的情况下,当元素从一种样式变换成另一种样式时为元素添加效果。过渡动画:是从一个状态渐渐的过渡到另一个状态帧动画:通过一帧一帧的画面按照固定顺序和速度播放,如电影胶片。transition语法格式:transition:要过渡的属性 花费时间 运动曲线 何时开始;如果有多组属性,使用逗号隔开。1...

2019-03-22 22:27:49 183

原创 Android 中的线程有哪些,原理与各自特点

AsyncTask、HandlerThread、IntentServiceAsyncTask原理内部是Handler和两个线程池实现的,Handler用于将线程切换到主线程,两个线程池一个用于任务的派对,一个用于执行任务,当Asynctask执行execute方法时会封装出一个FuterTask对象,将这个对象加入队列中,如果此时没有正在执行的任务,就执行他,执行完成之后继续执行队列中的下...

2019-03-17 00:22:38 452

原创 Android 项目中对于内存优化的几个细节点

定义当一个对象已经不需要再使用了,本应该被回收掉,而另一个正在使用的对象持有他的引用,导致对象不能被回收。因为不能被及时回收的本该被回收的内存,就产生了内存泄露。如果内存泄露太多会导致程序没有办法申请内存,最后出现内存溢出的错误。场景Android开发中经常出现内存泄露的点,使用单例模式使用匿名内部类使用异步事件处理机制Handler使用静态变量资源未关闭设置监听使用...

2019-03-14 22:43:39 152

原创 Java基础-建造者模式

定义将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以构建不同的表示。场景比如最常见的AlertDialog,比如Camera开发过程中,可能需要设置一个初始化的相机配置,设置摄像头方向,闪光灯开关闭,成像质量等等,这种场景下就可以使用建造者模式。优缺点优点1).易于解耦,将产品本身与产品创建过程进行解耦,可以使用相同的创建过程来得道不同的产品,也就是说细节依赖...

2019-03-12 00:14:22 81

原创 Android 知识点 集锦

1.自定义Handler时如何避免内存泄露一般非静态内部类持有外部类的引用的情况下,造成外部类在使用完成后不能被系统回收内存,从而造成内存泄露,为了避免这个问题,我们可以自定义Handler声明为静态内部类形式,然后通过弱引用的方式,让Handler持有外部类的引用,从而避免内存泄露问题。public class MyHandler extends Handler { privat...

2019-03-08 10:14:39 107

原创 Android 身高体重曲线的实现

场景产品需求,需要增加一个身高体重曲线的模块,设计图如下 体重曲线也是这样。准备先来一张实现的粗略效果图 曲线图,折线图等,大多使用流行强大的MPandroidChart库,这里也是。 在网上找了一些类似的效果,都不是很符合设计图, 实现直接附上代码,注释都很清楚。主要调用库的方法 mLineChart = bindin...

2018-09-12 13:45:24 1522 2

原创 记一次错误:无法调起微信分享图片

场景由于项目需要,要在预览图片界面添加图片分享功能,需要对纯图片进行分享,所以照旧调用了微信分享的封装方法(WxShareUtil.of().open(true, bitmap);),第一个参数为是否分享到朋友圈,第二个参数为bitmap,因为预览的图片为url,需要先将url转为bitmap,但是,无法吊起微信,因为方法用在别的地方分享图片是没问题的,为什么在这就无法吊起微信了。原因...

2018-08-30 17:05:29 1744

原创 记一次 报错:Android ClassNotFoundException: Didn't find class on path

场景项目上线后,用户反馈,安装完打开应用就显示“应用已停止运行”,改错误发生在5.0以上的手机,经测试6.7.8.均没有问题,推测是6.0以下会有这个问题。调试时,报错如下: 提示类找不到,检查了AndroidManifest.xml 都没问题,在网上搜了一圈,大多都是采用分包解决,然而项目本来就是采用的分包multiDexEnabled true,还有删除build文件夹的,这些都试...

2018-06-15 19:22:05 4307 1

原创 Android ScrollView滚动到指定View的位置

场景项目中优化用户体验,在选择完某个选项后,自动滚动到下一个选项。实现 scrollView.post{ scrollView.scrollTo(0, llTeacher.getTop()); }scroll...

2018-06-01 19:45:28 22786 3

原创 一些知识点的整理以及面试题记录

每日任务2018年3月2日-Service-和-IntentService-的区别链接 ServiceService是长期运行在后台的应用程序组件。Service不是一个单独的进程,它和应用程序在同一个进程中,Service也不算是一个线程,它和线程没有任何关系,所有它不能直接处理耗时操作。如果直接把耗时操作放在Service的onStartCommand(...

2018-05-23 10:58:08 409

原创 Android 中 Base64 转换成 图片

场景项目中有个功能是显示微信付款码,为了节省服务器存储,将图片以Base64的形式存储,客户端接收到后将Base64转换成图片并加载,但是不要存放大图,在网上看到的大多都是使用了一个java库(import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder;),其实Android自带有转换的类(import android.util....

2018-05-22 18:53:21 22717 2

原创 记一次 打包报错:Keystore was tampered with, or password was incorrect

场景今天在项目打包时遇到一个报错,如下图,批量打包采用的是多渠道快速打包脚本,由于打包过程太快,报错稍纵即逝.. 不得不使用iPhone手机自带的拍摄慢动作,然后截图。将主要信息拿到百度上搜了一下,大多文章说的是重新生成.keystore文件,其实仔细看图,提示已经比较直接了Password veritication failed,密码验证失败,就是说密码填写错了阿,仔细检查打包配置文件,发...

2018-05-21 18:02:14 25973 2

原创 Android-系统架构

应用程序(Application)Android会同一系列核心应用程序一起发布,该应用程序包包含email客户端、SMS短信息程序、日历、地图、浏览器、联系人管理程序等。所有的应用程序都是使用Java语言编写的,通常开发人员就处在这一层。应用程序框架(Application Frameworks)提供应用程序开发的各种API进行快速开发,也即隐藏在每个应用后面的是一系列的服...

2018-05-21 00:50:11 283

原创 Java基础- ==和equals和hashCode的区别

java中==和equals和hashCode的区别1. ==在用关系操作符 == 比较的是值本身, int n=3; int m=3; System.out.println(n==m); String str = new String("hello"); String str1 = new Stri...

2018-05-19 23:37:03 227

原创 Android-String、StringBuffer、StringBuilder区别

String :字符串常量(线程安全) 字符串是不变的,他们的值在创造后就不能改变。 字符串缓冲区支持可变字符串。因为字符串对象是不可变的,所以他们可以共享。 总结归纳了String的两个最重要的特点: String是值不可变的常量,是线程安全的 String类使用了final修饰符,String类是不可继承的。StringBuilder:字符串变量(非...

2018-05-18 18:03:38 874

原创 Java基础-抽象类和接口

抽象类:对一类事物的抽象 定义: 如果一个类中没有包含足够多的信息来描述一个具体的对象,这样的类就是抽象类。接口:对某一行为的抽象 定义: 接口在java中是一个抽象类型,是抽象方法的集合。一个类通过实现接口的方式,从而继承接口中的抽象方法。抽象类的意义:为子类提供一个公告的类型;封装子类中的重复内容(成员变量和方法)定义有抽象的方法,子类虽然有不同的实...

2018-05-17 18:34:42 129

原创 Android-压缩大图到容量超小的图片

原文压缩图片的宽高 /** * 计算图片的压缩比 * * @param options * @param reqWidth * @param reqHeight * @return */ public static int calculateInSampleSize(BitmapFactory.Op...

2018-05-16 10:47:21 369

原创 Java基础-Synchronized原理

在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6中为了减少获得锁和释放锁带来的性能消耗而引入的偏向锁和轻量级锁,以及锁的存储结构和升级过程。 CAS(Compare and Swap),用于在硬件层面上提供原子性操作,在Intel处理器中,比较并交换通过指令cmpxchg实现。比较是否和给定的数值一致,如果一致则修改,不一致则不...

2018-05-16 00:07:15 122

原创 Java基础-集合框架

概念Java集合框架提供了数据持有对象的方式,提供了对数据集合的操作,Java集合框架位于java.util包下,主要有三个大类:Collect、Map接口以及对集合操作的工具类。Collection + ArrayList: 线程不同步,默认初始容量为10,当数组大小不足时增长为当前长度的50% + Vector: 线程同步,默认初始容量为10,当数组大小不足时增长率为当...

2018-05-14 00:42:55 240

原创 Java基础-面向对象基础

面向对象三要素:继承、封装、多态。继承:继承基类的方法,并作出自己的扩展。声明某个子类兼容于某基类(或者说,接口上完全兼容于基类),外部调用者可无需关注其差别(内部机制会自动请求派发dispatch到合适的逻辑)。封装:封装的意义,在于明确标识出允许外部使用的所有成员函数和数据项,或者叫接口。多态:基于对象所属类的不同,外部对同一个方法的调用,实际执行...

2018-05-12 23:44:13 241

原创 Java基础-抽象工厂模式

概念提供一个接口,用于创建相关的对象家族。类图设计模式-抽象工厂模式.png抽象工厂模式创建的是对象家族,也就是很多对象而不是一个对象,并且这些对象是相关的,也就是说必须一起创建出来。而工厂模式只是用于创建一个对象,这和抽象工厂模式有很大不同。 抽象工厂模式用到了工厂模式来创建单一对象,AbstractFactory中的createPruductA和createPro...

2018-05-12 00:10:49 118

原创 Java基础-工厂方法模式

概念定义了一个创建对象的接口,但由子类决定要实例化哪个类,工厂方法把实例化推迟到子类。类图在简单工厂中,创建对象的是另一个类,而在工厂方法中,是由子类来创建对象。 下图中,Factory有一个doSomething()方法,这个方法需要用到一组产品对象,这组产品对象由factoryMethod()方法创建,该方法是抽象的,需要由子类去实现。 实现public ...

2018-05-10 23:46:45 104

原创 Java基础-单例模式

概述使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。 私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。实现#####懒汉式-线程不安全 以下实现中,私有静态变量uniqueInstance被延迟实例化,这样做的好处是,如果没有用到该类,那么就不会实例化uniqueInstance,从而节约资源。 pu...

2018-05-09 23:25:41 154

原创 Android 底部弹出动画

Android 底部弹出动画,使用overridePendingTransition 无效时,使用theme替代在 AndroidManifest.xml中 修改activity 的theme,添加windowAnimationStyle <style name="Theme.Transparent" parent="BaseAppTheme"> <item name="and

2017-01-18 15:45:08 1328

转载 Android 解决首次启动程序白屏时间过长的问题

解决首次启动程序白屏时间过长的问题

2016-09-22 11:12:47 8673 6

翻译 Android 中Java和JavaScript如何交互?

先说一些基础的知识,而JavaScript 是一种脚本语言,个人认为他比Java更面像对象,它没有编译、链接等操作,在运行时才动态的进行词法、语法分析,生成抽象语法树和字节码,然后由解释器负责执行或者使用 JIT 将字节码转化为机器码再执行。整个流程由 JavaScript 引擎负责完成,在Android手机上,这个JavaScript 引擎就是WebView的实现内核。在Android

2016-08-26 23:20:50 1086

原创 Android 项目中遇到的坑,特此记录

1.加载长图,如新浪微博里面的长微博,这种图,特别大,如果项目中使用的图片缩放控件,要注意所使用的第三方加载(如:Glide,Picasso),因其内部已经做过压缩处理,导致长图特别模糊,单独某张卡片的加载 可不使用。自己单独实现压缩方法。

2016-07-02 09:31:45 4290

翻译 Android 生成带有Logo的二维码

一、前言公司项目改进优化,需要在二维码的正中间加入产品Logo,二、实现代码如下:封装到工具类中,方便调用:import android.graphics.Bitmap;import android.graphics.Canvas;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHi

2016-05-30 22:00:23 737

原创 Android 点击赞时弹出+1向上弹出动画

一、前言:项目中用到的抽出来二、具体实现:1.MainActivity package com.merbng.zanDemo;import android.os.Bundle;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.view.View;

2016-04-11 15:15:14 4225

空空如也

空空如也

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

TA关注的人

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