自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (11)
  • 收藏
  • 关注

原创 超详细!apk安装包快速反编译,多种反编译及失败的解决方案(包含classes.dex的反编译,新增加快速反编译)

如要转载,请贴出原地址:https://blog.csdn.net/Nobody_else_/article/details/83996441众所周知,我们开发所用的手机App安装包都是apk文件,Android应用开发完成之后,我们最终都会将应用打包成一个apk文件供用户安装,这时候就很难再看到开发这个应用时使用的资源文件以及代码了,所以就有了反编译这个东西。通过一些工具,还是可以将a...

2020-08-17 19:50:55 47998 24

原创 手把手教你用自定义View实现 长按出现水漫效果的进度按钮(长按取消)

目录效果展示实现方法一、思路二、代码实现三、完整代码及使用示例Demo示例结语效果展示实现方法一、思路二、代码实现三、完整代码及使用示例Demo示例结语

2021-02-10 23:19:17 2805 2

原创 手把手教你使用自定义View实现 仿Keep长按出现进度条按钮

效果展示实现方法一、思路通过自定义View画出一个长按出现环形包围进度条的按钮,当进度条满了进行接口回调,告诉当前运行的Activity,动画执行完毕。1.画出中心圆形按钮确定自定义View的大小尺寸。画出中心圆按钮。2.监听点击事件,当手指点击按钮时,放大按钮,环形进度条出现,并进度自动增加确定获取焦点时按钮的大小,重新绘制。画出外圆环,使用定时器,定时增加圆环的弧度。失去焦点时,中心按钮恢复,外圆环弧度逐渐减少。二、代码实现自定义View核心代码:1.使用到的变量介绍

2021-02-05 18:32:50 3537 3

原创 Calling startActivity() from outside of an Activity context requires FLAG_ACTIVITY_NEW_TASK 引发的思考和分析

最近在开发过程中遇到这么个问题,报错如下当我使用传入context的Intent来启动Activity,app崩溃了,而且报了一个我以前重来没见过的错误。错误log的意思大概为,我使用了一个不属于Activity的Context来调用startActivity方法,需要设置一个FLAG_ACTIVITY_NEW_TASK的Flag才可以正常运行,而且最后给我来个了疑问句,问我这是不是我所期待的也是挺骚的。问题分析(如果急于求解,不管过程和原因的话,可以跳过分析过程,直接看后面的 解...

2020-10-26 10:49:17 766 1

原创 Android打包报错:Lint found fatal errors while assembling a release target. To proceed, either fix the..

最近在打包Apk时出现以下错误:Lint found fatal errors while assembling a release target.To proceed, either fix the issues identified by lint, or modify your build script as follows:...android { lintOptions { checkReleaseBuilds false // Or, if

2020-10-15 20:23:04 463

原创 Android 开发TextView跑马灯设置,及其失效解决方法

最近在给TextView设置跑马灯时,发现怎么弄都不生效,加了很多网上所谓的方法,都不行,最后就多加了一句代码,解决了,做个笔记。xml布局代码:网上所提到的属性都加上了<TextView android:layout_width="match_content" android:layout_height="wrap_content" android:text="@string/my_location"

2020-09-09 15:25:33 2120 4

原创 提高工作效率的bat脚本,批量修改文件名脚本(批量修改替换、大小写转换)

Android开发里的资源文件名称是不能有空格、横杠 - 、大写字母的,但是美工给过来的图片资源一般都会含有这些,而且图片到达一定数量时,自己手动改名实在是太耗费时间了,所以搞了俩脚本文件来节约改名的时间,提高开发效率。一、批量修改和替换文件名特殊字符脚本下载地址:https://download.csdn.net/download/Nobody_else_/12642369自己动手:将下面的代码,复制到txt文件内,将文件后缀.txt改为.bat。建议新建一个单独的文件夹,将.bat文件放

2020-07-21 09:05:38 11671 1

原创 2020年度 Android面试知识点总结(持续更新)

Android:Java:数据结构:算法:堆排序算法https://blog.csdn.net/u010452388/article/details/81283998计算机网络基础:

2020-06-28 20:38:23 1989

原创 HTTP和HTTPS的区别,TCP为何要三次握手和四次挥手

参考:https://blog.csdn.net/xiaoming100001/article/details/81109617HTTP特点无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。 基于请求和响

2020-05-14 17:49:07 1589

原创 List、Map和Set的区别,以及它们的使用场景

一、区别List和Set实现了Collection接口(属于Collection的子接口):List和Set都是实现了Collection接口,而LinkList和HashSet等等的List和Set都是Collection的实现类。List:1.可以允许重复的对象。   2.可以插入多个null元素。 3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序...

2020-04-21 15:14:31 868

原创 各种情况下的Activity生命周期与及跟Fragment生命周期的比较(为什么横屏切换竖屏会调用两次)

横竖屏切换的时候,Activity 各种情况下的生命周期平时在网上看到的答案一般都是这样的↓1)切换横屏时:onSaveInstanceState->onPause->onStop->onDestory->onCreate->onStart->onRestoreInstanceState->onResume2) 切换竖屏时:...

2020-04-10 14:17:49 1943

原创 进程和线程的区别,wait()和sleep()区别,wait/notify关键字的理解

进程:系统资源分配最小单位线程:线程是进程的一个实体,程序执行的最小单位 可与同属一个进程的其他的线程共享进程所拥有的全部资源关系:简而言之,一个程序至少有一个进程,一个进程至少有一个线程 进程有自己独立的地址空间,每启动一个进程,系统都会为其分配地址空间,建立数据表来维护代码段、堆栈段和数据段,线程没有独立的地址空间,它使用相同的地址空间共享数据...

2019-08-19 13:59:26 411

原创 什么是内部类?内部类的作用;什么是抽象类,抽象类和接口

定义:将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类,可以完善Java多继承的写法分类:成员内部类 局部内部类 匿名内部类 静态内部类成员内部类: 成员内部类可以无条件访问外部类的所有成员属性和成员方法(包括private成员和静态成员)class outerClass { class innerClass { }}...

2019-08-15 01:11:53 420

原创 String、StringBuffer、StringBuilder区别,int与integer的区别

区别:String:字符串常量,不可变对象,每一次对String进行修改都相当于生成了一个新的String对象,然后将指针指向新的String对象,如果经常改变,则会频繁GC(Garbage Collection,垃圾回收),影响速度 StringBuffer:字符串变量(线程安全),修改不会生成新对象,有append()、insert()方法 StringBuilder:字符串变量(非...

2019-08-12 10:18:47 336

原创 CountDownLatch的原理和并行性

这里借鉴了一篇总结得不错的博客:https://blog.csdn.net/joenqc/article/details/76794356CountDownLatch的概念CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。CountDownLatch能够使一个线程在等待另外一些线程完成各自工作之后,再继续执...

2019-07-29 09:54:58 468

原创 结合代码!Android常见的设计模式(持续更新)

这里借鉴了一个篇写非常不错的博客:https://www.cnblogs.com/android-blogs/p/5530239.html什么是设计模式?设计模式(Design pattern)是一套被反复使用的代码设计经验的总结。使用设计模式的目的是为了可重用代码、让代码更容易被他人理解。设计模式是是软件工程的基石脉络,如大厦的结构一样。单例模式:在这之前先要了解单例...

2019-07-28 21:03:11 1446

原创 HashMap底层原理及各种问题(与HashTable、HashSet、ArrayMap的区别)

这里借鉴了一篇我觉得写得很好的博客:https://blog.csdn.net/mbshqqb/article/details/79799009还有另外一篇写的不错的博客,值得学习:https://blog.csdn.net/suifeng629/article/details/82179996“你用过HashMap吗?” “什么是HashMap?你为什么用到它?”固然...

2019-07-27 21:45:52 1367

原创 重写equals()方法的注意事项及其原因,为什么重写equals()时需要hashCode()方法?

在这之前可以先了解equals()方法的重写:https://blog.csdn.net/Nobody_else_/article/details/97518556首先先弄清楚hashCode()是用来干嘛的?一提到hashcode,很自然就想到哈希表。将某一key值映射到表中的一个位置,从而达到以O(1)的时间复杂度来查询该key值。Object类源码(如下所示)中,hashCod...

2019-07-27 17:41:56 807

原创 Java各种变量的不同,Java各种数据类型的默认值

分类定义:变量分为成员变量、局部变量。成员变量:包括实例变量和静态变量(类变量)局部变量:形参(方法签名中定义的变量)、方法局部变量(方法内定义)和代码块局部变量(代码块内定义)区别:静态变量:用static修饰,不属于实例对象,属于类所有,只要程序加载了字节码,不用创建实例对象静态变量都会被分配空间,已经可以使用。实例变量:没有static修饰,只有实例化对象...

2019-07-27 14:51:38 487

原创 Android 常见面试题——死锁,线程的运行、阻塞和死亡

参考:https://blog.csdn.net/yanxiaolx/article/details/51944048定义:一组相互竞争系统资源或进行通信的进程间的“永久”阻塞。如两个线程相互等待对方释放同步监视器时就会发生死锁。一旦发生死锁,整个程序不会发生任何异常,不会给出任何提示,只是所有线程处于阻塞状态,无法继续。原因:(1)竞争不可抢占性资源。(2)竞争可消耗资...

2019-07-26 20:42:19 3905

原创 Android使用OkHttpClient进行简单的Http请求

这篇博客主要是介绍怎么简单使用OkHttpClient访问Url进行简单的Http请求。第一步,在Android工程中添加依赖:compile 'com.squareup.okhttp3:okhttp:3.7.0'这里以okhttp3为例子,在build.gradle(app)下的dependencies标签下添加依赖:第二步,代码实现:可以新建一个类用来练习...

2019-03-13 21:51:50 3394 2

原创 使用Android studio 查看当前运行的Activity,含LogCat Filter的设置

网上有很多人使用cmd指令查看,但是博主的尝试后却提示abd不是内部指令,所以在这里推荐更方便好用的方法。不过还是贴一下原来的方法(不推荐,因为得出来的报告信息非常多而且难看懂,一堆信息中找出自己想要的信息非常困难)先打开Teminal窗口,进入到platform-tools文件目录,需要输入cd H:\Android\sdk\platform-tools(格式为cd+空格+本地sd...

2019-03-10 22:15:35 6885

原创 Android 使用Toast闪退

错误Log:java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare() 是因为在子线程中调用了Toast,导致出错,android子线程中是不能直接弹出Toast的。解决方法:子线程中没有Looper,但是我们可以创建一个Looper在调用Toa...

2018-11-11 16:26:44 3456

原创 Android打开摄像头照相黑屏,使用dialog弹出对话框,请求6.0动态权限

最近开发中需要用到相机扫码的功能,但是有的手机可以直接打开摄像头扫码,而有的手机点开则是黑屏并且没有权限请求。原因:android6.0后,推出了动态权限管理。android6.0后,对于一些特别敏感的权限,开发者必须在程序中进行声明。拍照和从相册选择图片都是涉及到用户隐私的敏感权限,必须在程序中进行声明。解决方法:只需要在需要用到相机时添加以下代码://6.0以...

2018-06-21 15:33:40 4783

原创 Error:(3, 17) 错误: 程序包org.junit不存在

一直编译好好地项目,运行突然出现错误:Error:(3, 17) 错误: 程序包org.junit不存在原因是build.gradle中testCompile 'junit:junit:4.12'被误删或者修改了,改回来就可以了。dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com...

2018-05-11 11:29:13 5285

原创 Android判断两次输入密码是否相等并且不为空

Android开发中,登录注册都是很常有的,注册时需要判断用户输入密码是否为空,两次输入密码是否一致,下面就简单地说说xml文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" androi...

2018-05-10 13:34:01 13400 5

原创 Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build

Error:(1, 0) Your project path contains non-ASCII characters. This will most likely cause the build to fail on Windows. Please move your project to a different directory. See http://b.android.com/9574...

2018-04-25 13:05:14 6729

原创 Java中的.obj和.what

.obj使用来放对象的,这个对象可以使任何类型.what只能放数字(作用可以使用来做if判断)用过Handler的人都知道,Message有两种获取方法Message msg = new Message();或者Message msg = handler.obtainMessage();这两种方法的区别是,前者是new的,需要开辟内存空间;后取者是从global Message pool中,性能消...

2018-04-17 12:41:49 2991

原创 android:state_pressed是什么意思?

是当控件被按下的时候控件的表示,可以实现按下按钮时,按钮变成领一个模样,松开之后又恢复原样。类似的还有:android:state_focused是当控件获得焦点的时候控件的表示。android:state_selected 选中时控件的表示。需要提一下的是selected和focused的区别:focused是指获取焦点,早期某些设备存在方向键盘可以用来移动焦点,而pressed仅仅是指按下状态...

2018-03-23 17:18:09 9357

原创 Android开发出来的app安装后没有出现在程序列表(图标消失)

这个问题就要提到Intent里面的android.intent.action.MAIN——决定一个应用程序最先启动那个组件android.intent.category.LAUNCHER——决定应用程序是否显示在程序列表里(是否在桌面上显示一个图标)要想APP显示图标(快捷打开方式)就必须要有以上两个属性,缺一不可,因为:android.intent.category.LAUNCHER决定应用程序...

2018-03-21 11:39:50 12122

原创 Error:(144) Error parsing XML: not well-formed (invalid token)、failed for task ':app:processDebugRes

近日在Android的界面开发中遇到一种问题:Error:(144) Error parsing XML: not well-formed (invalid token)与及Error:Execution failed for task ':app:processDebugResources'.&gt; com.android.ide.common.process.ProcessException...

2018-03-19 21:20:14 4640 1

原创 关于新建android项目,MainActivity里面的onCreate()方法、R文件报错的解决方法

做为一位刚刚上手Android开发的小白来说,要适应一门开发语言和一款开发工具十分费劲。本人也在摸索的路上走了很多的弯路,也有了一点点的经验和问题的解决方案,和大家分享一下。这是关于第一次用Android studio新建工程所遇到的问题,新建工程中MainActivity中一些方法(如:onCreate())与及R文件报红了,如图:小白的我于是百度了解决方法,有很多打神给...

2018-01-28 23:40:03 21782 7

长按水漫效果进度按钮 工程demo

通过自定义View画出一个长按出现水漫效果进度条的按钮,当进度条满了进行接口回调,告诉当前运行的Activity,动画执行完毕。 详细解析博文:https://blog.csdn.net/Nobody_else_/article/details/113784362

2021-02-10

自定义View实现仿Keep长按出现进度条按钮

类似Keep app内的长按结束按钮,长按外沿出现环形进度条,并附带动画效果的自定义View按钮。 详细解析博文:https://blog.csdn.net/Nobody_else_/article/details/113186425

2021-02-05

可以批量提取文件名的脚本

点击运行,即可将提取同级文件目录下的所有文件名,文件名存放在同目录下的LIST.txt文本文件内。 其他高效脚本及说明博客: https://blog.csdn.net/Nobody_else_/article/details/107472753

2020-09-19

发编译工具jadx-gui-1.1.0-no-jre.zip

GUI用于apk安装包的反编译,可以读取apk的代码。下载后解压运行即可 ,如果提示jdk1.8无法运行,则按照下面链接的博客操作解决。 apk反编译介绍:https://blog.csdn.net/Nobody_else_/article/details/83996441

2020-08-18

批量给文件名添加前缀脚本

因为中文出现乱码,所以改为英文提示。将txt文本再改名为.bat后缀的脚本文件,首先输入需要添加前缀的文件类型(即后缀),注意,不需要输入标点“.”,比如要给所有.jpg类型的文件名签名添加三个零:000 ,先根据提示输入 jpg ,按回车,然后再输入你添加的前缀,即:000,回车。看到Success!表示成功添加。 其他提高工作效率的脚本:https://blog.csdn.net/Nobody_else_/article/details/107472753

2020-07-31

批量添加后缀的脚本代码

下载后,将txt中的 .后缀 改为你要添加的文件后缀(如.jpg),然后重命名改txt为bat文件,放到某个文件夹内,点击运行即可给文件目录下的文件全部添加后缀。 说明博客:https://blog.csdn.net/Nobody_else_/article/details/107472753

2020-07-31

一键运行多个软件脚本run on.txt

按照txt文件内已经写好的三段代码,照着格式添加要启动的软件: echo 文件名 →(文件名可以不写) start "" "启动路径" 修改完毕后,将文件.txt文件后缀改为.bat ,点击运行即可。 教程和说明链接:https://blog.csdn.net/Nobody_else_/article/details/107472753

2020-07-27

xiaoxie.bat

用于批量修改文件名,将文件名中大写字母替换成小写。 使用说明: 下载后,建议新建一个单独的文件夹,将下载后的.bat文件放入,然后把要重命名的文件复制到和.bat文件同级目录下,点击.bat文件运行,根据提示按键继续。 注意:如果文件名中带有空格,建议先将空格去除或替换成下划线_,进行大小写转换后再替换回来。否则会导致空格后的名字替换不成功。 文件名字符批量替换工具下载:https://download.csdn.net/download/Nobody_else_/12642369

2020-07-20

批量修改文件名脚本,对文件名批量替换或删除字符

用于批量修改文件名,对文件名批量替换或删除字符。 使用说明: 下载后,建议新建一个单独的文件夹,将下载后的.bat文件放入,然后把要重命名的文件复制到和.bat文件同级目录下,点击.bat文件运行,根据提示,输入文件名中要被替换的字符,按回车,继续根据提示,输入要替换的字符(不输入,或输入为空则为删除要被替换的字符),按回车,提示Sucess.则表示成功批量替换或删除。 文件名批量大小写转换下载地址: https://download.csdn.net/download/Nobody_else_/12642479

2020-07-20

反编译工具,apk逆向工具

反编译的工具,apk逆向工具,可以用于反编译,可将apk文件逆向转换为代码,从class.dex文件里提取代码 反编译教程博客:https://blog.csdn.net/Nobody_else_/article/details/83996441

2019-08-20

反编译工具,apk逆向工具

反编译的工具,apk逆向工具,可以用于反编译,可将apk文件逆向转换为代码 反编译教程博客:https://blog.csdn.net/Nobody_else_/article/details/83996441

2019-08-20

空空如也

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

TA关注的人

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