自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android studio aar包多层嵌套,Add library ‘Gradle: __local_aars__: 。。。unspecified@jar‘ to classpath

编译出错报的日志:FAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':toolbox:compileReleaseJavaWithJavac'.> Compilation failed; see the compiler error output for details.出错的代码提示:Add library 'Gradle: __local_aars__:/ho

2021-03-25 15:16:22 472

原创 Android P 网络报错 : java.io.IOException: Cleartext HTTP traffic to ***.com not permitted

在Android P 使用HttpUrlConnection进行http请求会出现以下异常java.io.IOException: Cleartext HTTP traffic to ***.com not permitted at com.android.okhttp.HttpHandler$CleartextURLFilter.checkURLPermitted(HttpH...

2019-10-28 17:54:08 428

原创 Android实现圆角照片和圆形照片

方法1: 使用RoundedBitmapDrawablepublic static RoundedBitmapDrawable bitmapToRoundedDrawable(@NonNull Resources res, @NonNull Bitmap bitmap, ...

2019-08-03 18:26:12 219

原创 ClassCastException:AdaptiveIconDrawable cannot be cast to BitmapDrawable

Caused by: java.lang.ClassCastException: android.graphics.drawable.AdaptiveIconDrawable cannot be cast to android.graphics.drawable.BitmapDrawable出现原因是因为应用适配了API 26的自适配图标adaptive-icon,使用下面的方法读取icon,读...

2019-07-18 16:11:28 3930

原创 获取apk安装包sha1的值

1. 解压apk,进入解压目录,找到META-INF/CERT.RSA,2.执行命令keytool -printcert -file '.../META-INF/CERT.RSA' 可以得到md5和sha1值证书指纹: MD5: 8D:DB:34:2F:2D:A5:40:84:02:D7:56:8A:F2:1E:29:F9 SHA1: 27:19:6E:38:6B...

2019-07-12 17:08:10 764

原创 Android File.listFiles()返回null问题

File.listFiles()返回null可能原因是没读取sdcard权限(READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE)。system/private-app默认都有权限,system/app某些系统模式下初始化后没权限,系统重启后有权限,第三方app的权限大部分是询问。使用ContextCompat.checkSelfPermission检...

2019-03-08 14:23:02 11243

原创 解决gradle编译错误:app:transformClassesAndResourcesWithProguardForRelease FAILED

Warning: Exception while processing task java.io.IOException: Can't write [/home/junliang/CodeGit/AlarmClock_flyme7_base/AlarmClock/app/build/intermediates/transforms/proguard/release/jars/3/1f/main.j...

2019-02-12 15:54:31 2287

原创 Android Gradle编译问题

1. Could not find lint-gradle-api.jar (com.android.tools.lint:lint-gradle-api:26.1.2).Searched in the following locations: https://jcenter.bintray.com/com/android/tools/lint/lint-gradle-api/26.1...

2018-12-03 15:02:31 734

原创 RxJava之PublishSubject、BehaviorSubject、ReplaySubject和AsyncSubject

public class T2 { /** * subject 是一个神奇的对象,它可以是一个Observable同时也可以是一个Observer:它作为连接这两个世界的一座桥梁。 * 一个主题可以订阅一个Observable,就像一个观察者,并且它可以发射新的数据,或者传递它接受到的数据,就像一个Observable。 * 很明显,作为一个Observab...

2018-07-09 17:41:26 1973

原创 RxJava之Create、From、Just操作符

public class T1 { public static void main(String[] args) { T1 t1 = new T1(); t1.testCreate(); t1.testFrom(); t1.testJust(); } private void testCreate() { System.out.println("===========...

2018-07-09 13:04:00 3178

原创 Ubuntu 安装 Vue.js

1 配置Node(1) 从https://nodejs.org/en/download/ 下载node.js,例如 node-v6.11.1-linux-x64.tar.xz(2) 解压到一个地方,然后配置全局变量,在/etc/profile 添加下面配置信息:export NODE_HOME=/home/junliang/Soft/node-v6.11.0-linux-x64ex

2017-10-09 16:05:41 698

转载 java将经纬度转换为平面坐标

(米勒投影)算法public static double[] MillierConvertion(double lat, double lon) { double L = 6381372 * Math.PI * 2;//地球周长 double W=L;// 平面展开后,x轴等于周长 double H=L/2;// y

2017-09-28 16:17:48 10967 1

原创 Use "adb disable-verity" to disable verity.

dm_verity is enabled on the system partition.Use "adb disable-verity" to disable verity.If you do not, remount may succeed, however, you will still not be able to write to these volumes.remount

2017-06-19 19:18:32 9738

原创 调用startactivityforresult后,onactivityresult立刻返回RESULT_CANCELED

调用startActivityForResult后,onActivityResult立刻响应,原因如下:1. 去掉跳转到的页面的android:launchMode="singleTask"属性(SINGLE_TASK标识以及SINGLE_INSTANCE两个标识必须在r.result==0的条件中,即这两个标识只能用在startActivity()的方法中,而不能使用在startActivi

2017-06-12 15:10:02 5908

原创 一个网站 Code/Android/

http://www.java2s.com/Code/Android/

2017-05-31 20:55:52 185

原创 Retrofit的简单使用

Retrofit是REST安卓客户端请求库。使用Retrofit可以进行GET,POST,PUT,DELETE等请求方式。官方文档:http://square.github.io/retrofit/1.在AndroidManifest.xml中请求了网络权限:2.添加Gradle依赖项:compile 'com.squareup.retrofit2:retrofit:2.0.0

2016-08-25 20:30:30 564

原创 AlarmManager使用

AlarmManager是Android中常用的一种系统级别的提示服务,在特定的时刻为我们广播一个指定的Intent,为你的应用设定一个在未来某个时间唤醒的功能。当闹钟响起,实际上是系统发出了为这个闹钟注册的广播,会自动开启目标应用。注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除。对于常规的短时间计时操作(ticks, tim

2016-08-19 21:19:24 788

原创 Android自定义属性动画

当我们对一个View进行透明度变化的动画,我们可以这样写:ValueAnimator fadeAnimator = ObjectAnimator.ofFloat(myView, View.ALPHA, 1.0f, 0.0f);fadeAnimator.setInterpolator(PathInterpolatorCompat.create(0.33f, 0f, 0.66f, 1f));f

2016-08-19 20:45:47 1852 1

原创 Android使用PorterDuffXfermode实现遮罩效果

当我们在程序里需要做遮罩效果时,可以PorterDuffXfermode类实现。例如有一副图片,需要使用一个图形(一般是可以使用Canvas画出来的图形),图形覆盖到的地方在图片上才显示出来,可以使用PorterDuff.Mode.SRC_IN属性实现,常见的有圆形头像的实现。先创建图片Bitmap一样大小的Canvas,再设置将图形画到Canvas里,再画图片bitmap画到Canvas

2016-08-19 20:39:57 1030

原创 android 使用Binder通信

遇到下雨,写个简单例子:MainActivity.j

2014-05-19 20:36:10 507

原创 android 设置线程优先级

1. android.os.Process.setThreadPriority (int priority或android.os.Process.setThreadPriority (int tid, int priority)  priority:【-20, 19】,高优先级 -> 低优先级.

2014-05-19 20:28:19 618

原创 【复习】使用 SQLiteDatabase 操作 SQLite 数据库

Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作(这些操作简称为CRUD)。对SQLiteDatabase的学习,我们应该重点掌握execSQL()和rawQuery()方法。 execSQL()方法可以执行insert、delet

2014-04-23 17:42:12 616

原创 java对象的引用类型

对象的引用类型:⑴强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。⑵软引用(SoftReference)如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收

2014-04-23 14:12:14 720

原创 AIDL Service,跨进程调用Services

一、AIDL Service简介  Android系统中,各个应用都运行在自己的进程中,进程之间一般无法直接进行通信,为了实现进程通信,Android提供了AIDL Service;二、与本地Service不同 本地Service:直接把IBinder对象本身传递给客户端的ServiceConnection的onServiceConnected方法的第二个参数; 远程Servi

2014-04-17 14:42:58 610

原创 Java设计模式笔记(8)装饰模式

装饰模式:动态地给一个对象添加一些额外的职责(以对客户端透明的方式扩展对象的功能),就增加功能来说,装饰模式相比生成子类更为灵活,是继承关系的一个替代方案。装饰模式的四个角色:抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象。在装饰模式中,必然有一个最基本、最原始、最核心的接口或者抽象类充当Component抽象构件。具体构件(ConcreteComp

2014-02-08 14:05:03 565

原创 Java设计模式笔记(7)适配器模式

适配器模式定义:将一个类的接口变成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。适配器模式(Adapter Pattern),适配器模式又叫做变压器模式,也叫做包装模式(Wrapper),但是包装模式却不止一个,装饰模式也是包装模式。适配器模式包含两种,一种是类适配器,另一种是对象适配器。类适配器是通过类的继承实现的适配,而对象适配器是通过对象间的

2014-02-08 11:23:47 418

原创 Java设计模式笔记(6)观察者模式

观察者模式,也叫发布订阅模式,定义对象之间的一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者模式的几个角色:Subject被观察者:定义被观察者必须实现的职责,它必须能够动态地增加、取消观察者。它一般是抽象类或者是实现类,仅仅是完成作为被观察者必须实现的职责。Observer观察者:观察者收到消息后,即进行update(更新方法)操作

2014-02-07 14:16:22 480

原创 【原创】Android之修改AlertDialog对话框及使用系统Holo风格

前一阵子在做伪装密码的功能,需要使用系统的对话框,对话框需要加长按事件等等。哈,直接上代码,我是比较喜欢直接看代码的。1. 获取AlertDialog的Titlefinal int alertTitleId = getResources().getIdentifier( "alertTitle", "id", "android" );TextView title = (TextVie

2014-01-28 16:18:21 2308

原创 Java设计模式笔记(5)建造者模式

建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式的4个角色:Product产品类:通常是实现了模版方法模式,有模版方法和基本方法。Builder抽象建造者:规范产品的组建,一般是由子类实现。ConcreteBuilder具体建造者:实现抽象建造者定义的所有方法,并且返回一个组建好的对象。Director导演类:负责安排已有模块的顺

2013-09-11 23:30:53 552

原创 Java设计模式笔记(4)模版方法模式

模版方法模式:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。抽象模版的方法分为两类:1. 基本方法也叫基本操作,是由子类实现的方法,并且在模版方法被调用。2. 模版方法,可以有一个或者几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调度,完成固定的逻辑。(为防止恶意的操作,一般模版方法加上final关键字,不

2013-09-11 21:23:55 482

原创 Java设计模式笔记(3)抽象工厂模式

抽象工厂模式:为创建一组相关的或者相互依赖的对象提供一个接口,而且无需指定他们的具体类。抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。package com.juno.AbstractFactoryPattern;// 抽象产品类public abstract class AbstractProductA {

2013-09-10 22:26:43 524

原创 Java设计模式笔记(2)工厂方法模式

工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。在工厂方法模式中,抽象产品类Product负责定义产品的共性,实现对事物最抽象的定义;Creator为抽象创建类,也就是抽象工厂,具体如何创建产品类是由具体的实现工厂ConcreteCreator完成的。package com.juno.Factory;//抽象产品类,具体的产品

2013-09-09 23:43:25 444

原创 Java设计模式笔记(1)单例模式

单例模式:确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。package com.juno.SinglePattern;// 饿汉式单例,通用代码,建议public class SingletonOne { private static final SingletonOne instance = new SingletonOne(); private Single

2013-09-09 22:45:50 443

Android之修改AlertDialog对话框及使用系统Holo风格

Android之修改AlertDialog对话框及使用系统Holo风格

2014-01-28

空空如也

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

TA关注的人

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