自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Rooney的学习笔记

做一个爱做总结的CXY。

  • 博客(88)
  • 资源 (8)
  • 问答 (2)
  • 收藏
  • 关注

原创 单元测试,build.gradle中 testImplementation and androidTestImplementation的区别

在用Android studio 创建一个新项目的时候,会默认生成三个目录(每个目录都被称为是Source set(源码集合)): app/src* ├── androidTest/java (仪器化单元测试、UI测试,比如Espresso)* ├── main/java (业务代码)* └── test/java (本地单元测试,Junit4、mockito、Robolectric)这个androidTest 目录包含了触摸屏幕或者检查在屏幕上显示了什么的测试用例,在test目录下,..

2020-09-17 11:45:23 10747 2

原创 git 修改远程仓库地址的方法

公司技术高层领导换了,要搞革新。新的领导班子下,新的运维也要搞一下革新,比如,第一件事就是要搞Gitlab 服务升级,带来的是git远程仓库地址的变更。

2020-09-07 10:52:58 865

转载 Android-如何保证API接口数据安全

前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合。无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了调用后端提供的接口来进行业务交互。网页或者app,只要抓下包就可以清楚的知道这个请求获取到的数据,也可以伪造请求去获取或攻击服务器;也对爬虫工程师来说是一种福音,要抓你的数据简直轻而易举。那我们怎么去解决这些问题呢?接口签名签名规则1、线下分配appid和appsecret,针对不同的调用方分配不同的

2020-08-27 17:39:37 1036

原创 By convention, the custom view (xxx) and the declare-styleable (xxxx) should have the same name

问题描述场景在lint的时候,可能有同学会遇到上面这样的提示。这是在自定义View的时候,取自定义属性的时候,可能会遇到的情况,意思是说,自定义View的名字应该和声明的样式有相同的名字。解决方式按照提示,把声明的样式名称改成和自定义View一样的名字即可。分析(关键)其实,这个也不是必须要这样做,只是这样做的好处是:取自定义属性的时候,能够自动以控件名称开始_xxx ,会有智能提示,方便查找属性。不一致的话,不会有智能提示,需要自己去查看自定义的属性都有哪些。 从这个...

2020-06-23 15:46:40 1214

原创 Android studio 提示 Field can be converted to a local variable

今天提到的点,很基础,大概就是:在定义的成员变量上面,可能会有提示:Field can be converted to a local variable意思就是 字段可以被转化成一个局部变量。如下图:这个case,网上一堆的解释,千篇一律,大部分只是在说如何去掉这个提示,解决方案有如下两种:1、@SuppressWarnings("FieldCanBeLocal")2、把全局变量删除,在使用的地方定义即可,不用全部都使用全局定义变量。以上这都不是重点,也不算完,需要我们进一步...

2020-06-12 16:30:06 11150 2

原创 Android studio3.5以后 格式化布局错乱的问题的解决办法

Android studio 3.5以后 在格式化布局的时候,默认会把布局中的View进行重新排序,乱的一笔,修改方式方式如下:我现在用的Android studio版本信息 如下,挺好用的。

2020-06-01 15:26:21 1059

原创 关于Webview的总结

1. 简介一个基于webkit引擎、展现web页面的控件a. Android 4.4前:Android Webview在低版本 & 高版本采用了不同的webkit版本的内核b. Android 4.4后:直接使用了Chrome内核2. 作用在Android客户端上加载h5页面 在本地 与h5页面实现交互 & 调用 其他:对url请求、页面加载、渲染、对话框 进行额外处理。Android与JS通过WebView互相调用方法,实际上是:Android去...

2020-05-29 17:00:32 178

原创 Android中 MultiDex的使用及原理(解决方法总数只能是65535的问题)

在了解MultiDex的使用及原理之前,需要先了解什么是dex.关于Android Dex 文件,请参考该文的描述。为什么要使用MultiDex 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加载Dex文件的时候执行的。这个过程会生成一个ODEX文件,即Optimised Dex。执行ODex的效率会比直接执行Dex文件的效率要高很多。但是在早期的Android系统中,DexOpt有一...

2020-05-28 18:18:28 2258 1

转载 浅谈 Android Dex 文件

概述为什么要了解 Dex 文件了解了 Dex 文件以后,对日常开发中遇到一些问题能有更深的理解。如:APK 的瘦身、热修复、插件化、应用加固、Android 逆向工程、64 K 方法数限制。什么是 Dex 文件在明白什么是 Dex 文件之前,要先了解一下 JVM,Dalvik 和 ART。JVM 是 JAVA 虚拟机,用来运行 JAVA 字节码程序。Dalvik 是 Google 设计的用于 Android平台的运行时环境,适合移动环境下内存和处理器速度有限的系统。ART 即 Android

2020-05-28 17:00:38 383

原创 Android Support Library 迁移至 AndroidX

在说迁移之前,先了解下 什么是Jetpack。Android JetpackJetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。Jetpack 包含与平台 API 解除捆绑的androidx.*软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。Jetpack 库在an...

2020-05-28 15:39:37 353

原创 Android Gradle 插件版本说明 以及 gradle插件版本和gradle版本对应关系

Android Studio 构建系统以 Gradle 为基础,需要搞清楚gradle插件版本和gradle版本的区别以及关系1、gradle-wrapper.properties 文件 distributionUrl所指定的是gradle 版本 distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip2、build.gradle(Project:xxxx)文件 ...

2020-05-28 10:48:22 5162

原创 WARNING: The `android.dexOptions.incremental` property is deprecated and it has no effect

在Build项目的时候,会出现一个提示:意思是android.dexOptions.incremental属性已被弃用,在build.gradle中去掉incremental true 属性,然后同步一下就行了,如下图

2020-05-27 10:58:05 508

原创 Android Studio升级3.6.2 Build窗口提示语出现中文乱码问题的解决方式

Android Studio升级3.6.2 Build窗口提示语出现中文乱码,搜索了一堆,经过实验,最终解决方案如下:在Android Studio中双击Shift或者点击顶部全局搜索"Edit Custom VM Options"点击进入 studio64.exe.vmoptions 文件,在文件中添加如下一条配置-Dfile.encoding=UTF-8 如下图:然后重启 即可解决。...

2020-05-26 15:34:49 750

转载 Java-堆外内存

堆外内存一直是Java业务开发人员难以企及的隐藏领域,究竟他是干什么的,以及如何更好的使用呢?那就请跟着我进入这个世界吧。一、什么是堆外内存1、堆内内存(on-heap memory)回顾堆外内存和堆内内存是相对的二个概念,其中堆内内存是我们平常工作中接触比较多的,我们在jvm参数中只要使用-Xms,-Xmx等参数就可以设置堆的大小和最大值,理解jvm的堆还需要知道下面这个公式:...

2020-04-17 18:24:55 1012

原创 Android-清晰明了的APK反编译之路

Android反编译-我们平时有没有通过反编译别人的APK 来进行学习的习惯呢?反编译好处多多,下面就总结一下,反编译所需要的工具及步骤:1 要准备的三个工具 apktool:获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件 dex2jar:将APK反编译成Java源码(将classes.dex转化为jar文件) jd-gui:查看2中转换后的jar文件,即...

2020-04-13 17:06:17 271

转载 两张图看懂Android开发中MVC与MVP的区别

原文链接:https://blog.csdn.net/u010072711/article/details/77132403看了很多文章,没有很好的文章能简明扼要的说清楚Android开发中MVC和MVP的区别。MVC很早就出来了,之前广泛用于JavaWeb开发中,MVC也可以用来开发Android,但是有些水土不服!1、MVC结构示意图————- 点击打开大图 ————-2、MV...

2020-04-10 12:09:14 403

原创 Java基础-关于抽象类和接口体会

大家对抽象类和接口,一定并不陌生,在工作当中,天天都能用到,写这篇总结,就是希望跟她们更加熟悉、知根知底。不要成为最熟悉的陌生人。1、关键字 抽象类:abstract 接口:interface2、抽象类描述关于抽象类的使用特点: 1.抽象类不能有对象,(不能用new此关键字来创建抽象类的对象);2.有抽象方法的类一定是抽象类,但是抽...

2020-04-09 17:49:03 327

原创 关于 RecycleView 点击事件接口的定义

RecycleView 的点击事件,一般是通过定义接口实现,接口定义如下:/** * 一般的RecycleView点击事件接口 * * @param <K> 数据源 */public interface CommonOnRecycleViewItemClickListener<K> { void CommonOnRecycleViewItemCli...

2020-04-09 17:41:49 256

原创 关于Scanner的一些基础知识

最近在做一些练习算法的题目,经常要用到Scanner来获取用户的输入,这里把一些常用的基础知识总结下。

2020-03-09 12:17:06 570

原创 Android studio 3.1以后 全局替换方法

在项目中,如果修改了某个工具类的参数,比如去掉了一个参数,那整个项目中需要调整的,真的是太多了。Android Studio 具备全局搜索替换的功能,使用方式如下:第一种: 快捷键:Ctrl + Shift + R第二种:Edit —— Find —— Replace in Path...

2020-01-15 14:02:05 1064

原创 Android Lint 代码提示之: StringBuilder 替换 StringBuffer

StringBuilder StringBuffer是Java的基础。今天在Android lint代码的时候,发现了修改提示。记录下,作为总结。先看代码段: byte[] byteArray = inStr.getBytes(StandardCharsets.UTF_8); byte[] md5Bytes = md5.digest(byteArray); ...

2019-12-25 14:24:05 643

原创 Android 关于apktool 工具的介绍

最近通过反编译一些知名的APP,学习了别人比较好的布局方式、编码思路,收获比较大。这里提一下反编译工具apktool。

2019-12-19 17:31:57 969

原创 ADB 最常用命令集合及各种问题解决方式

ADB是什么Adb的全称为Android Debug Bridge:android调试桥梁。常用命令 基本前提操作 adb root (获取手机root权限)adb remount (重新挂载系统分区,使系统分区重新可写)adb shell (进入目标设备的Linux Shell环境) adb查看连接的设备 C:\Users\dddd>ad...

2019-11-05 16:58:29 1424

原创 Android 布局背景-重复使用某个背景图的实现方式

有时候,我们的设计需要在一个布局文件中重复的使用某个图片,作为一个布局区域的背景图。如何实现呢?可以通过android:tileMode="repeat" 属性来达到,具体做法是:1、在drawable文件夹下创建一个资源文件repeat_bg.xml,里面的android:src属性设置成要重复展示的图片。<?xml version="1.0" encoding="utf...

2019-08-22 14:41:11 1900

原创 Android 透明度、颜色值的理解

我们画布局的时候,对于给控件设置颜色值的环节,应该是最基础、最常见的操作了。其中颜色值的表述方式,我通过下面一个示例截图来全面的认识一下(接下来请看效果图,主要思考红色剪头所指的地方:背景50%透明度,文字不透明,如何实现效果),给你10秒钟的时间...自觉默认倒计时开始哈....好了,倒计时结束了,请结合你的方案,然后贴出来我的方式,看哪个更好:首先这个地方需要一个TextVie...

2019-06-17 19:22:22 1649

原创 Android 关于组合控件(自定义控件等)中自定义属性,通过getDimension后 设置字体大小比实际要大很多的问题分析

今天整理了一下项目中经常使用的组合控件,对属性进行了提取,扩展,尽量使这个组合控件更灵活、通用。但过程当中,遇到一个问题:设置字体大小比预计的要大很多。我先列出来自定义属性基本的使用步骤(很熟悉这个过程的朋友可以忽略下面这几个步骤,直接看问题分析部分)1、抽取自定义属性tsc_TextSize到attr.xml中<declare-styleable name="MTopSe...

2019-05-20 15:25:23 2398 2

原创 Android RecyclerView 提示No adapter attached;skipping的问题分析

项目里面,经常会用到RecyclerView ,其使用方式,想必大家也都清楚了。今天优化代码突然发现打印的信息里面有:--error RecyclerView: No adapter attached; skipping layout ;可是APP并没有因此崩溃,加上项目也比较紧,就没太注意这一块。现在有点时间了,发现了这个error提示,虽然不崩溃,但看到error信息,还是很不爽的,想...

2019-01-09 21:03:10 18971 4

原创 Android Studio编译问题-Error:Could not find org.jetbrains.trove4j:trove4j:20160824

今天早上打开AS,发现项目编译不通过了。。。提示Error:Could not find org.jetbrains.trove4j:trove4j:20160824Error:SSL peer shut down incorrectly真莫名其妙。。。查阅资料,提供的解决方式大致有以下几种:1、在buildscript中加上这个 jcenter()buildscript...

2019-01-08 11:53:44 18850 5

原创 关于Andriod org.gradle.api.tasks.TaskExecutionException: Execution failed for task 问题及解决办法

今天打开AS,突然发现项目跑步起来了,报一堆编译错误,错误大致信息如下:org.gradle.api.tasks.TaskExecutionException: Execution failed for task(省略若干无用信息)仔细看完之后,这一堆红色的错误信息,没有什么明显的收获。。。解决步骤:在terminal中输入如下命令,得到较为详细的信息gradlew com...

2019-01-07 19:59:32 13496

原创 百度地图集成,开发版sha1和发布版sha1的获取方式

我们现在的项目需要使用百度定位,看百度的开发者文档,说先要有项目的SHA1值,分为两种:发布版SHA1、开发版SHA11、获取开发版SHA1,在项目如下图:2、获取发布版SHA1。进入jdk安装bin目录,执行语句:C:\Program Files\Java\jdk1.8.0_51\bin>keytool -list -v -keystore F:\Android-Proje...

2019-01-07 11:36:08 473

原创 AndroidStudio创建jniLibs文件夹添加jar包\so库

Eclipse中项目自带libs文件夹,用来放需要的jar包之类的。但通过Android Studio创建的项目并没有这个文件夹,所以需要创建,名字统一为jniLibs。这里提供两种方法:1、通过修改build.gradle文件(选择的是项目的gradle)     在android{} 里面,buildTypes{} 外面添加如下代码: sourceSets { m...

2019-01-07 11:07:07 6118

原创 Android Studio WebView 加载Baidu Map 遇到的问题及解决方案

背景:        最近项目中需要在APP中增加一个定位签到的功能。实现方式是通过WebView 加载一个网页,网页中集成了百度地图的定位功能。问题描述:        定位功能在IOS上面是可以的,在Android机器上定位却是不行。解决过程:      首先,Android WebView的基本 settings 等各种常规设置,都是有的,网上一大堆。这里列下我的:...

2018-12-18 10:59:14 1171

原创 Android -Is Library 类库引用需要注意的地方

在android 开发中,我们可能会把一个android工程-Properties-Android 下面的 “Is Library”勾选上,表示将该工程作为一个类库,来供其他android项目引用。举例:假设有类库项目A,需要引用A的另外一个android 项目B.那么在使用的过程中,需要注意两点:①、如果在B中需要使用A中的Activity(可能会有这种情况),那必须在B的清单文件中声明...

2015-06-09 11:58:06 1592

原创 Android ListView的适配器 Adapter 中GetView方法调用次数大于数据条数的问题

Android ListView的适配器 Adapter 中GetView方法调用次数大于数据条数的问题

2014-12-22 17:35:58 2147

原创 Android-Bundle认知、和Intent的区别

Android Bundle、Intent

2014-11-20 10:43:57 1423

原创 startActivity、 startActivityForResult 、广播的使用

Android界面传值,广播的使用等。

2014-10-30 13:32:16 1485 4

原创 Java -Android 学习(第六天)

控件显隐性,android:gravity和android:layout_gravity 介绍 与 区别

2014-09-25 09:53:00 732

原创 Android 禁止息屏 保持屏幕常亮的方式

目录1、在onCreate()中添加如下一行限制2、在界面布局xml中顶层添加属性禁止息屏 保持屏幕常亮的方式 常用的有两种,如下: 1、在onCreate()中添加如下一行限制 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 对应的,显式的取消限制的方式是getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SC..

2021-01-04 11:16:07 5334 2

转载 Android -单元测试总结

介绍:1. local tests:*Unit tests that run on your local machine only. These tests are compiled to run locally on the Java Virtual Machine (JVM) to minimize execution time. *本地单元测试,直接运行在JVM上,不用运行在Android设备上,以最大限度的减少时间。Use this approach to run unit tests

2020-09-16 16:42:33 362

原创 Https 和HTTP的区别 对称加密 非对称加密

什么是HTTP?超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。发展历史:版本 产生时间 内容 发展现状 HTTP/0.9 1991年 不涉及数据包传输,规定客户端和服务器之间通信格式,只能GET请求 没有作为正式的标准 HTTP/1.0 1996年 传输内容格式

2020-08-31 17:58:13 551

反编译相关的三个工具及使用流程说明.rar

资源内部包含了Android反编译所需要的三个常用工具,以及他们的使用说明。绝对的干货工具,帮助提升Android技能。

2020-04-13

apktool_2.4.1.rar

Apktool v2.4.1 最新版,2019.11.29发布。 29 Nov 2019 - Apktool v2.4.1 Released 附赠apktool.bat

2019-12-20

okhttp-3.9.1.jar

最新版okhttp-3.9.1.jar,分享下,下载后,直接引用到工程。

2017-12-27

软件开发管理制度合集

很详细的软件开发管理制度合集,可以直接参考里面的模板

2015-07-22

android 广播,界面传值示例

android 界面传值,广播的使用示例。

2014-10-30

NORTHWND.MDF

这个资源,微软的示例数据库,供大家下载使用。

2013-11-19

ASP.NET MVC3 快速入门

ASP.NET MVC3 快速入门,里面有一个完整的例子。

2013-09-16

Sqlite库,供下载

是用来本地化数据库的·一般用于需要跟随软件安装的小型数据库。

2013-01-23

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

TA关注的人

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