Java
文章平均质量分 67
码龙-
NO means next opportunity or new option.
展开
-
如何使用signapk.jar给APK签名
当应用的UID为system时,是不能直接在Android机器上安装的,会提示"安装失败"或者提示"应用未安装";如图:问题原因:因为系统签名不一致,需要拿到系统签名,然后给应用重新签名.问题解决:(1) 准备好签名工具signapk.jar (工具链接:)(2)拿到机器系统应用需要的签名文件.pem和.pk8.(如platform.pk8和platform.x509.pem)(3)把将要签名的应用(如 text.apk),signapk.jar,.pem和.原创 2022-02-15 15:57:41 · 4208 阅读 · 0 评论 -
Android中设置color透明度百分比的参考表
在Android设置color时,可通过以下方式设置(RGB值及透明度):#1A56c8a9 解释:以上为16进制,前面两位1A为透明度,56为R值,c8为G值,a9为B值,1A换算为十进制则为1*16+10=26(A为10,B为11,C为12,D为13,E为14,F为15),最大值为FF,换为十进制则为15*16+15=255,对于RGB值,数值越大,颜色越浅;对于透明度,数值越大,透明度越小。例如透明度为1A,即为十进制的26,则透明度为26/255约=0.1019...原创 2021-07-29 20:11:41 · 1363 阅读 · 1 评论 -
Android中如何判断是否正在播放视频
在AudioManager中有一个isMusicActive()方法,该方法可用来判断当前是否在播放音乐或者视频。/** * 判断是否在播放音乐或者视频 * @param context * @return */private boolean isMusicOrVideoPlay(Context context){ AudioManager audioManager = (AudioManager) context.getSystemService(AUDIO_SER...原创 2021-07-19 19:06:20 · 3973 阅读 · 4 评论 -
Android编译出现FAILED: setup-jack-server问题的解决办法
在编译Android的时候出现了如下错误:[ 28% 1127/3932] Ensuring Jack server is installed and startedFAILED: setup-jack-server图:原因:jack在编译的时候,可能出现多个人在同时编译的情况,这个时候就有可能出现两个人用同一个端口,发生端口冲突以至于超时。解决办法:修改端口号(修改 .jack-settings和.jack-server/config.properties文件)...原创 2021-07-09 14:39:33 · 3207 阅读 · 4 评论 -
将drawable对象转为json遇到的坑
如图 要持久化存储一个对象,需要先将对象转化为字节流,我使用的是谷歌的gson,如图对含有Drawable的实体对象转string时,会,在转化的时候报了转化异常,需要先将drawable转化为string类型,然后在main方法中使用gson转化第17行报错:实际上是...原创 2021-07-07 10:12:17 · 524 阅读 · 2 评论 -
java中==和equals区别
java中的 “==” 、“equals” 以及 hashCode都能起到比较的作用,那么它们的区别又是什么呢?一、操作符 == 如果是比较基本类型,如int,long等,它们的比较就是“值”的比较;如果是比较对象实例,那么比较的是它们两个所指向的对象在内存中的存储地址是否是一致的。而不是比较它们的内容。、1.对基本类型使用操作符 ==int类型的比较例子如下: int x = 1; int y = 1; Sy...原创 2021-04-08 09:28:10 · 182 阅读 · 0 评论 -
JAVA中所指的三大特性,原子性、可见性、重排序到底指的是什么?
一、原子性 所谓原子性既是指操作是单一不可分割的。举个例子:(1)int i = 0;(2)i = i + 1; 对语句(2)," i = i + 1" 就不是原子性操作。因为" i = i + 1" 实际上可以分解为3个操作:(1)读取变量 i 的当前值;(2)使当前值 i 和1做加法运算;(3)将加完后的值赋给 i 变量。 在多线程环境中,非原子操作可能会受其他线程的干扰。比如,上述例子如果没有对语句(2)的代码进行同步(Synchr...原创 2021-03-07 17:45:06 · 639 阅读 · 1 评论 -
Java中单例模式不同写法详解(包含懒汉式、饿汉模式、双重检查模式、静态内部类)
前言: 在Java,单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在全局某个类只有一个实例存在。它适用于一个类的实例需要重复被利用,使用单例即可避免实例对象的重复创建,不仅可以减少每次创建对象的时间开销,还可以节约内存空间。一些管理器和控制器常被设计成单例模式。常用的单例模式写法有以下几种:饿汉模式、懒汉式、双重检查模式、静态内部类等。一、 饿汉模式public class SingletonA{ private sta...原创 2021-02-25 10:48:54 · 263 阅读 · 1 评论 -
ArrayList、LinkedList、CopyOnWriteArrayList和Vector的区别详解
一. ArrayArray(数组)是基于索引(index)的数据结构,且它占用的内存空间是连续的,所以搜索和读取数据时使用索引在数组中是很快的。 Array获取数据的时候非常快,直接通过索引找到数据,时间复杂度是O(1);但是要删除数据却是开销很大,因为删除数据后需要把后面剩下的所有数据前移。注意:数组初始化必须指定初始化的长度, 否则报错。eg: int[] x = new int[];//报错,没有初始化长度 int[] x = new int[5];/...原创 2021-02-23 15:02:46 · 752 阅读 · 0 评论 -
HashMap 及 ConcurrentHashMap原理详解
一.HashMap 的工作原理1.hashing的概念 Hashing(散列法)是一种将字符组成的字符串转换为固定长度的数值的方法,称为散列法,也叫哈希法。2.HashMap 内部结构 代码结构: 由上图可以看出,HashMap是数组和链表结合组成的复合结构,数组被分为一个个桶(bucket),每个桶可存储一个或多个Entry对象,在HashMap 中Node实现了Entry接口方法,每个Node对象包含四部分,分...原创 2021-02-20 17:55:52 · 1954 阅读 · 1 评论 -
理解java的异常分类及其处理,看这一篇文章就够了
前言: 异常是指程序的指令没有被正常执行的情况,这些情况会让程序异常退出,在Java中有两种类别的异常:Error和Exception。Error和Exception都是继承于Throwable类。一.Error Error 类对象由 Java 虚拟机生成并抛出,不可捕捉,程序本身不能处理。这种情况下会导致程序异常崩溃,如下图的Error继承结构可看出,Error下会有许多子类。例如较常见的Error异常StackOverflowError(某个线...原创 2021-02-08 11:41:59 · 508 阅读 · 3 评论 -
String、StringBuffer以及StringBuilder的区别。
在java中,我们经常使用字符串类型,那么我们所见到的String、StringBuffer、StringBuilder的区别到底是什么呢?先看以下整理的区别表格: String StringBuffer StringBuilder 是否可变 不可变,String 是 final 类,不能被继承。对于已经存在的 Stirng 对象,修改它的值,就是重新创建一个对象。 可变,使用 append() 方法修改 Stringbuffer 的值,修改...原创 2021-02-04 16:20:31 · 231 阅读 · 1 评论 -
java中的静态方法的讲解
静态方法定义: 在类中使用static修饰的方法。 说明: 使用static修饰的静态方法会在类定义的时候被装载到内存中;而非静态方法是属于具体实例化的对象的,只有当持有该方法的类的对象被创建的时候,该方法就会被加载到该对象所在内存。 注意: 非静态方法既可以访问静态数据成员和方法又可以访问非静态数据成员和方法; 而静态方法只能访问静态数据成员和方法。原因: 静态方法和静态数据成员会随着类的定义而被分配和...原创 2021-02-03 10:23:27 · 2293 阅读 · 0 评论 -
Java中ASCII码转String的方法~
Java中ASCII码转String的方法~ 如下传入要转化的ASCII码数组即可;public static String AsciiToString(byte[] result2) { StringBuilder sbu = new StringBuilder(); for (byte b : result2) { if (0 == b) { break; } sbu.append((char) I...原创 2020-09-14 18:47:32 · 2479 阅读 · 1 评论 -
java如何判断是传入的字符串是否是合法的IP?
我们使用java进行开发的时候,经常会使用到IP,但是传入的IP很有可能是不合法的,那么我们如何判断传入的IP是否是合法的呢?思路如下:1)传入的字符串是否为空2)判断字符串的长度是不是在7-15位之间(x.x.x.x-----xxx.xxx.xxx.xxx)3)通过 " . " 把字符串分割成字符串数组,然后判断字符串数组长度是否为44)判断每个元素的每一个字符是否都是数字字符5)判断字符数组的第一个元素是否为0(第一个元素为0不能成立(0.xx.xx.xx))6)...原创 2020-08-03 19:52:15 · 972 阅读 · 1 评论 -
java如何判断传入的字符串是否为数字?
当使用java时,在某些情况下,我们需要判断传入的字符串是否为数字,我们可以使用以下思路,利用字符串强转类型错误会抛出异常的特点: 思路如下:将传进来的字符串强制转换为double类型,如果转换成功,返回true,即该字符串是数字,否则转换失败,返回false;代码如下:public static boolean isNumber(String parm) { try { double num = Double.parseDouble(parm);...原创 2020-08-03 17:57:57 · 1208 阅读 · 2 评论 -
Java中如何判断传入的字符串是否是布尔值?
java中运用到Boolean值的时候,有些场景传入的不一定是Boolean值,而是字符串,如何判断传入的字符串是否为布尔值呢?我们可以运用以下的思路:布尔值只有两种情况,不是为"true"值,就为"false"值,那么我们可以做一下处理:判断传入的值是否为"true"或"false",如果是为其中的一种情况,isBoolean()方法就返回true.方法代码如下:public static boolean isBoolean(String parm) { return...原创 2020-08-03 17:44:34 · 7777 阅读 · 0 评论 -
java中如何真正的实现替换最后一个字符(包括有相同字符的情况)
一.之前在写代码的时候有一个替换最后一个字符的需要,开始使用了如下方法:str=str.replace(str.charAt(str.length-1)+"","新字符");例如: String str="abcdefg" str=str.replace(str.charAt(str.length-1)+"","a"); 结果输出为:str="abcdefa":...原创 2020-04-29 11:11:57 · 23626 阅读 · 1 评论 -
一分钟快速教你Android Studio如何设置自动生成新建Java类的作者,时间等注释
前言:当你读别人家的代码时,是不是看见在代码文件的最顶部有几行注释,如包含作者名和创建类的时间等,其实你也可以快速的个性化的自定义属于自己的注释。步骤:1.点击File->settings...2.选择Editor->File and Code Templates3.在右边选择Includes->File Header4.然后进行配置...原创 2020-04-20 16:57:29 · 2014 阅读 · 0 评论 -
编译错误和运行错误分别是指啥?
如JAVA中:一.编译错误:编译错误通常是指语法的错误,例如5/0这种二.运行错误:运行错误通常是指程序在运行过程中出现错误,有两种1.一种是error2.还有就是Exception ,有的异常是抛出但可继续执行之后的代码,有的异常是无法继续进行的代码,例如: RuntimeException,ClassCastException(Java1.5中之后引入泛型机制,在以前的...原创 2020-02-25 11:04:37 · 8277 阅读 · 0 评论