自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 AS导入工程报红叉

如果在AndroidStudio调试安装程序时,如果程序中没有Activity的代码文件的话可能会在程序部署到手机或虚拟机上时碰到“Error running app: Default ActivityNot Found”的报错的话。原因很简单,就是你的应用程序不和应用程序的界面关联,而你的AndroidStudio在你创建工程时,默认设置Lunche工程时是需要Activity的。解决方案如...

2019-11-19 18:49:32 259

原创 ImageLoader网络异常

今天遇到一个ImageLoader加载网络图片不显示问题,最后找到报com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certifi这个错误。这个错误是:因为https是操作和时间戳有关,系统时间和服务器时间不对,导致过期。。。。。解决办法:将手机系统时间...

2019-02-27 10:08:31 207

原创 收集常见Android开发存储目录

Environment.getDataDirectory() = /data Environment.getDownloadCacheDirectory() = /cache Environment.getExternalStorageDirectory() = /mnt/sdcard Environment.getExternalStoragePublicDir...

2018-11-21 14:13:52 191

转载 后续关于HTTPS技术

什么是HTTPS? 我们看维基百科给HTTPS的定义:HTTPS(Hypertext Transfer Protocol Secure)是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用TLS来加密数据包。HTTPS开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。原来HTTPS就是在HTTP协议的基础上加入了TLS协议。目的...

2018-11-12 19:33:01 457

转载 理解数字签名,数字证书和https

非对称加密加密我了解的不多,只知道有这么两种算法:对称加密和非对称加密。对称加密:加密和解密的密钥一样,比如用123加密就是用123解密,但是实际中密码都是普通数据在互联网传输的,这样一点密码被中间人截取并破解,加密直接被攻破。 非对称加密:把密钥分为公钥和私钥,公钥是公开的所有人都可以认领,私钥是保密的只有一个人知道。假设A要发送一封Email给B,他不想让任何其他人在传输中看到Ema...

2018-11-08 14:17:43 1024

转载 Android 8.0系统的应用图标适配

有些朋友可能会觉得这种分成两层的应用图标设计太过于麻烦,不适配可以吗?也有些朋友可能会说,自己的APP并没有做过应用图标适配,在Android 8.0手机上也照样跑得好好的。事实上,这个新功能Google是准备让它慢慢过渡的,而不是一次性就强推给所有的开发者。如果你的APP中的targetSdkVersion是低于26的,那么就可以不用进行应用图标适配,Android 8.0系统仍然是向下兼容...

2018-11-08 10:18:36 382

原创 AndroidStudio更换SVN地址

1.先找到自己项目的文件夹,然后在文件夹上右键,选中svn客户端,选中重新定位选项,会弹出如下对话窗口,询问要从什么地址定向到什么地址。在输入框输入新的svn地址,点击确定2.在androidstudio依次打开,VCS-Subversion-Relocate 3.在弹出的输入框上下都输入新的svn地址,确定 ...

2018-05-29 15:32:20 3523

转载 关于android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法

前段时间打开Android studio 在build过程中总会出现以下错误Error:Execution failed for task ':app:preDebugAndroidTestBuild'.> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolv...

2018-05-18 16:03:46 7374

转载 分享一个简单好用的下拉刷新、上拉加载控件

一个支持网络错误重试、无数据页(可自定义)、无网络界面(可自定义)的上拉加载更多,下拉刷新控件。为了满足大家活多事急找来即用的心态,我先上干货,怎么用?正文基本用法如果项目需要更加完善的ui显示,如:进入后界面自动刷新、网络错误重试、无数据页(可自定义)、无网络界面(可自定义)的功能请接着前三步往下看、往下看:

2017-11-02 09:48:16 1496

原创 Android开发常用的设计模式

一、工厂方法:定义:一个用于创造对象的接口,让其子类实例化哪个类。范围:当一个类不知道他所要创建的对象类的时候; 当一个类希望油他的子类来指定要创建的对象的时候;具体对象: 1.Product: 定义工厂方法所创建的对象接口; public interface Work { void doWork(); } 2.ConcreteProduct: 实现Product接口;

2017-09-11 17:29:49 335

转载 Android targetSdkVersion 从22提到25 你需要知道的一切

Android 6.0运行时权限相机,图库,下载,语音,定位…. 此版本引入了一种新的权限模式,如今,用户可直接在运行时管理应用权限。这种模式让用户能够更好地了解和控制权限,同时为应用开发者精简了安装和自动更新过程。用户可为所安装的各个应用分别授予或撤销权限。 对于以 Android 6.0(API 级别 23)或更高版本为目标平台的应用,请务必在运行时检查和请求权限。要确

2017-07-27 09:01:32 11779

转载 可展开和收起的LinearLayout

场景介绍开发的过程中,有时我们需要使用到这样一个功能,在展示一些商品的时候,默认只显示前几个,例如先显示前三个,这样子不会一进入页面就被商品列表占据了大部分,可以先让用户可以看到页面的大概,当用户需要查看更多的商品时,点击“展开”,就可以看到被隐藏的商品,点击“收起”,则又回到一开始的状态,只显示前几个,其他的收起来了。就拿美团外卖的订单详情页的布局作为例子,请看以下图片:

2017-07-12 09:16:35 5941 5

转载 RxJava 2.x 教程(完结版)

为什么要学 RxJava?提升开发效率,降低维护成本一直是开发团队永恒不变的宗旨。近两年来国内的技术圈子中越来越多的开始提及 RxJava,越来越多的应用和面试中都会有 RxJava ,而就目前的情况,Android 的网络库基本被 Retrofit + OkHttp 一统天下了,而配合上响应式编程 RxJava 可谓如鱼得水。想必大家肯定被近期的 Kotlin 炸开了锅,笔者也在闲暇

2017-07-06 14:58:27 601

转载 Android FlexboxLayout UI布局

项目中添加依赖如果是在 RecycleView 中使用则添加Alpha 版本包括 RecyclerView 的集成,XML 中添加布局运行后的效果如下好像并没有换行啊,别急骚年,接下来我们一一介绍 FlexboxLayout 的一些常用属性。FlexboxLayout 常用属性flexDirection

2017-06-19 10:31:41 392

转载 如何封装一个通用的PopupWindow

PopupWindow 这个类用来实现一个弹出框,可以使用任意布局的 View 作为其内容,这个弹出框是悬浮在当前 activity 之上的。一般 PopupWindow 的使用:上面就是 PopupWindow 通常需要设置的各个方法,不难,但是稍微有点繁琐,有些是可以复用的,所以封装了一个通用的 CommonPopupWindow:CommonPopupWind

2017-06-15 08:59:06 499

转载 Android数据库LitePal

一、LitePal的基本用法1. 引入Jar包或依赖1)使用gradle依赖dependencies { compile 'org.litepal.android:core:1.5.0'}2)导入jar包①jar包:https://github.com/LitePalFramework/LitePal/raw/master/downloads/li

2017-06-06 09:54:50 472

转载 Android 7.0下载Apk后自动安装

下载1. 获取 DownloadManager 对象DownloadManager对象 属于系统服务,通过 getSystemService 来进行安装DownloadManager downloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);一般获取完成后会变成全局变量,方便之后使用

2017-06-06 09:18:20 676

转载 线程池ThreadPoolExecutor详解

为什么使用线程池1. 创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率,例如:记创建线程消耗时间 T1,执行任务消耗时间 T2,销毁线程消耗时间 T3如果 T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了 T1+T3 带来的系统开销2. 线程并发数

2017-06-01 09:47:39 476

转载 如何使用Loading

Loading 是很普遍的需求,比如请求的时候需要显示 Loading,请求完成以后再取消Loading,而一般的实现方式是在布局xml里添加一个 ProgressBar,但是这样写就有很多不便,每个页面的 layout 都要写一个 ProgressBar,显示的位置也固定了,还耦合了很多代码。而 LoadingBar 就是为了跟方便的操作 Loading 而生,高度解耦,样式全部通过工厂

2017-05-31 16:02:21 1836

原创 图片转视频

依赖库:[plain] view plain copycompile 'org.jcodec:jcodec-android:0.1.9'  这个框架原本是javaee用的,现在可以支持android了.2.在安卓中的提供的API主要是[java] view plain copyS

2017-05-19 14:41:12 1099

转载 Android开发中两种序列化Serializable 和 Parcelable

什么是序列化我们总是说着或者听说着“序列化”,它的定义是什么呢?序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序

2017-05-18 10:27:03 2829

转载 Android知识汇总

一 android基本架构1 架构图直观2 架构详解21 Linux Kernel22 Android Runtime23 Libraries24 Application Framework25 Applications3 总结二 android dialog三 图片1 使用 MediaStoreImagesMediagetBitmap从Uri中获得bitmap以及

2017-05-18 10:23:18 1075

转载 安卓中的坐标系讲解

一.屏幕坐标系和数学坐标系的区别由于移动设备一般定义屏幕左上角为坐标原点,向右为x轴增大方向,向下为y轴增大方向, 所以在手机屏幕上的坐标系与数学中常见的坐标系是稍微有点差别的,详情如下:(PS:其中的∠a 是对应的,注意y轴方向!) 实际屏幕上的默认坐标系如下:PS: 假设其中棕色部分为手机屏幕 二.View的坐标系注意:View的坐标系统

2017-05-18 10:08:02 507

转载 Android各种键盘挡住输入框解决办法

在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮,这样的用户体验非常不好。像微信则直接把登录按钮做在输入框的上面,但有很多情况下,这经常满足不了需求。同时如果输入框特别多的情况下,点击输入时,当前输入框没被挡住,但是当前输入框下面的输入框却无法获取焦点,必须先把键盘收起,再去获取下面输入框焦点,这样用户体验也非常不好,那有什么办法呢?

2017-05-08 09:27:02 1518

空空如也

空空如也

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

TA关注的人

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