自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

再简单的事,也要用心做成!

每一个努力的人都值得拥有一个向上的人生。

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

原创 解决问题记录:Unable to load class ‘javax.xml.bind.JAXBException

今天打开项目,突然报第一个错误:Unable to load class ‘javax.xml.bind.JAXBException根据提示,把禁止联网模式关闭,始终无法关闭,不能解决问题。于是,根据提示修改图标库的版本号为高一点的版本,得以解决这个问题。如下: implementation 'com.github.lecho:hellocharts-library:1.5.8@aar'修改后,又出现第二个错误:Unable to load class ‘javax.xml.bind.JA

2021-09-15 10:24:08 348

原创 解决问题记录:Could not resolve io.realm:realm-gradle-plugin:7.0.0-beta-SNAPSHOT

今天打开项目,突然爆这个错误:A problem occurred configuring root project 'xxx'.> Could not resolve all artifacts for configuration ':classpath'. > Could not resolve io.realm:realm-gradle-plugin:7.0.0-beta-SNAPSHOT. Required by: project : &

2021-09-15 10:14:13 1797

原创 Android事件冲突的解决方案

一、预备知识1.MotionEvent事件类型有哪些呢?ACTION_DOWN 手指首次触摸到屏幕时触发ACTION_UP 手指离开屏幕时触发ACTION_CANCEL 事件被上层拦截时触发!!!ACTION_MOVE 手指在屏幕上滑动时触发,会多次触发2.需特别关注的view的事件有哪些呢?dispatchTouchEvent 用于事件分发或事件处理【对于ViewGroup要先走分发流程,再走处理流程;对于View,只能走处理流程】onInterceptTouchEvent 用于事件

2021-09-02 17:20:11 1864

原创 重新认识viewPaper

在学习viewpaper前,需要先了解预加载和懒加载。1.什么是预加载?Fragment切换的时候,会预先加载未可见的Fragment,就是预加载。2.预加载的弊端:a.预加载的越多就会越卡b.一个Fragment占用 1M,5个就(5*1M),累计到后面就会OOMc.如果预加载的Fragment在请求网络,不仅浪费流量,还会很卡顿3.如何解决预加载的弊端?懒加载4.什么是懒加载?防止预加载,用到才加载,可见才加载,不可见就不加载。懒加载,其实也就是延迟加载,就是等到该页面的UI展示给

2021-07-26 11:45:04 836

原创 android版本对应一览图

2021-07-24 18:01:59 3943 1

原创 androidX使用概述

一、androidX和原始 android 支持库区别:AndroidX 对原始 Android 支持库进行了重大改进,后者现在已不再维护。AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制版本 28.0.0 是android支持库的最后一个版本二、使用androidX库如果要在新项目中使用命名空间为 androidx 的库,就

2021-07-24 17:42:10 1572 1

原创 uniapp引入iconfont图标

步骤打开阿里适量图库https://www.iconfont.cn/,找到需要的图标,加入购物车,并把图标加入一个项目2.点击“生成代码”,生成font-face相关代码;点击下载,生成相关文件3 找到下载文件中的iconfont.css,复制到项目的static/icontfont的文件夹下;在App.vue文件中引入iconfont.css文件4.复制步骤3生成的代码,替代iconfont.css文件中的5.最后使用:...

2021-07-22 16:20:40 223

原创 微信小程序-封装canvas实现自定义分享图片的组件

微信小程序canvas实现自定义分享图片一、需求:产品丢一图过来说,想要实现微信小程序分享的功能,如下图:如图可知,1.需要有按钮; 2.支持单图和多图;因为官方默认的分享:是截图当前页面并取5:4的图作为分享图分享出去的,也没有按钮,和产品想要的效果不一样。所以得自己实现。那开搞吧!二、实现实现思路:使用canvas将图和按钮画出来。实现步骤:1.创建画布<canvas canvas-id="myCanvas" style="width: 195px;height: 156px;

2021-06-22 14:40:46 1391

原创 Android Thread 浅析和使用小结

一.线程的状态线程包括几个状态:创建(new) Thread thread=new Thread;就绪(runnable) thread.start();运行(running) 线程只能从就绪状态进入到运行状态阻塞(blocked) 该状态是线程因为某种原因放弃了cpu使用权限,暂时停止运行。阻塞的情况有三种...

2018-12-22 14:08:17 9626

原创 Android开发艺术探索读书笔记:android的线程和线程池

一.概述1)主线程——处理和界面相关的事情;子线程——执行耗时操作2)在android中扮演线程的角色蛮多,比如AsyncTask、IntentService、HandlerThread。底层:AsyncTask是线程池;IntentService、HandlerThread是线程AsyncTask:封装了线程池和Handle,主要是为了方便在子线程中更新UIHandlerThre...

2018-12-20 15:24:13 161

原创 Android .jar和.aar的区别

一、概念jar: 是一种软件包文件格式,只包含class文件和清单文件。aar: Android库项目的二进制归档文件,包含class文件和其他所有资源文件,包括res中资源文件。二、如何生成方式一:编译生成Android Studio中以moudel来管理,新建一个moudel,选中android library;代码完成后,编译这个moudel即可生成.aar及.jar。方...

2018-12-17 18:56:20 1369

原创 Java 反射技术

一、反射是什么?Java反射机制是在运行状态中,对于任何一个类(class文件),都能够知道这个类地所有属性和方法;对于任何一个对象,都能够调用它地任何一个方法和属性;这种动态获取地信息以及动态调用对象方法的功能称为java语言的反射机制。动态获取类中信息,就是java反射。可以理解为对类的解剖。如果想要对指定名称的字节码文件进行加载并获取其中的内容并调用,这时就使用到了java反射技术。...

2018-12-17 14:48:19 172

原创 Android hook技术浅析与小实践

首先,了解几个概念。一、什么是沙箱机制?普通用户程序的进程空间都是独立的,程序的运行互不干扰。二、什么是hook?hook的意思是勾住。比如A发送消息给B,在消息过去之前,可以先把消息勾住,不让其传递,你可以先执行你的操作(或者说先执行你的钩子函数)。专业的说法就是:hook技术,能够改变API执行的结果,将系统的API函数执行重定向。三、为什么需要hook?android系统的沙箱...

2018-12-17 10:56:24 1246

原创 Android减小apk包大小的建设性方案

在android studio2.2中新添加APK Analyzer功能,可以分析apk包的构成。在顶部导航的build下可以找到,分析一个apk可以看到:需知:res中是存放图片资源的;lib中是存放so库,各个cpu架构的;classes.dex是java源码编译后生成的java字节码文件;assets是存放不需要编译处理的文件;resources.arsc是编译后的二进制资源文件,包括图片,...

2018-02-25 18:45:25 759

原创 Android串口开发简单教程

串口通信原理:串口按位(bit)发送和接收字节串口开发四部曲:打开串口,串口输入,串口输出,关闭串口以下是基于开源项目https://github.com/cepr/android-serialport-api下开发的,作简要记录。一、项目配置1.创建了jni和jniLibs两文件夹,将.so文件放在jniLibs下,将mk和C一些文件放在j

2018-01-09 14:52:20 17824 9

原创 Android studio svn上传代码

一、Android Studio配置SVNAndroid Studio关联配置SVN很简单,在Settings里面,找到Version Control-&gt;Subversion;在这个页面的控制面板中的General中将Use command line client打勾勾选上,然后浏览本地的SVN安装目录,选到"svn.exe"即可;在Use command line client下面还有一个...

2018-01-08 14:54:10 6535

原创 Android热修复AndFix简单使用

1.添加依赖compile 'com.alipay.euler:andfix:0.4.0@aar'2.添加混淆-keep class * extends java.lang.annotation.Annotation-keepclasseswithmembernames class * {native ;}3.在Application中初始化PatchManager

2018-01-05 10:56:02 233

原创 Java 类的加载过程

1.栈、堆、方法区分别存放什么栈: 用来运行函数。可以存储局部信息 堆:用来存储new出来的实体 (特点:每一个实体所开辟的空间都有一个地址;每一个实体中存储的数据都有一个默认初始值) 方法区:存放.class和static (方法区其实是由N多个小的区域构成。有存放非静态内容的非静态区域,还有存放静态内容的静态

2018-01-02 18:08:24 263

原创 Android柱状图、饼状图、折线图

1、效果图2、代码1)compile ‘com.github.PhilJay:MPAndroidChart:v3.0.1’ 2)柱状图 com.github.mikephil.charting.charts.BarChart android:id="@+id/chart1" android:layout_width="300dp"

2017-12-29 10:54:30 764

原创 Android studio内存泄露分析工具使用

什么是内存泄漏Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。而内存泄漏出现的原因就是存在了无效的引用,导致本来需要被GC的对象没有被回收掉。 比如下面这个常见的代码:public class Singleton { pr...

2017-11-22 15:17:38 3140

原创 Android 使用CrashHandler获取应用的crash信息

android应用不可避免地会发生crash,也称之为崩溃,无论程序写的多完美,总是无法避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况。当crash发生时,系统会kill掉正在执行的程序,现象就是闪退或者提示用户程序已经停止运行,这对用户来说是很不友好的,也是开发者不愿意看到的。更糟糕的是,当用户发生了crash,开发者却无法得知程

2017-11-21 17:37:14 2240

原创 Android studio gradle高级使用(二)

自动压缩使用它有个要求,ProGuard也要启动。这是由于资源压缩的工作方式,因为Android build工具无法计算哪些资源未被使用直到引用这些资源的代码已被移出。android { buildTypes { release { minifyEnabled = true shrinkResources = tr...

2017-11-21 17:30:48 257

原创 Android studio gradle高级使用(一)

简单介绍在android studio中新建一个工程,打开app文件夹下这个Module的build.gradle配置文件,也可以算是整个项目最主要的gradle配置文件,默认配置如下:apply plugin: 'com.android.application'android { compileSdkVersion 26 buildToolsVersion "26.0...

2017-11-20 17:54:11 635

原创 Android报错-FAILED BINDER TRANSACTION

问题:开发中遇到打印红色log,!!! FAILED BINDER TRANSACTION !!!起因:天真地使用intent在activity间传递过大的bitmap数据。原来,用Intent传bitmap不能大于40KB,所以尽可能不要使用intent传递bitmap了啦。解决:我的做法是使用eventbus等其他来代替传递数据。

2017-11-20 16:14:24 1589

原创 Android studio异常关闭导致build缓存出现问题

问题:电脑异常关机,导致android studio同样异常关闭。重启电脑和android stdio后打开项目全部爆红,所有导入的类失效,重装android studio也不行,打开任何一个项目也是爆红,新建一个项目也是爆红。但是,项目clean和bulid都没问题,项目编译也通过。原因:是build缓存的问题,清缓存就行了。做法:1.在android studio 中点...

2017-11-14 15:40:25 1039

原创 Android客户端TCP传输数据、重连、心跳检测

1.Tcp连接、发送数据、接收数据工具类public class TcpUtil { public static final int PORT = 9000; public static final String HOST = "192.168.2.127"; public static Socket socket; private static TcpUt

2017-11-13 10:41:10 2813 2

原创 Android Rxjava操作符使用详情(一)

一、简单介绍:函数响应式编程可以极大简化项目,特别是处理嵌套回调、复杂的列表过滤和变换或者时间相关问题。Rxjava就是在android开发中使用函数响应式编程的框架。二、Rxjava原理:创建一个Observable对象来干活,然后使用各种操作符建立起来的链式操作,就如同流水线一样,把你想要处理的数据一步一步地加工成你想要的成品,然后发射给Subscriber处理。三、R

2017-10-23 15:53:34 431

原创 Android压力测试命令monkey

1.介绍Monkey 是SDK中附带的一个工具,主要用于进行压力测试,开发人员结合monkey 打印的日志和系统打印的日志,解决测试中出现的问题。monkey 测试中所有的事件都是随机产生的,不带任何人的主观性。2.使用在cmd中打开adb,输入命令:adb shell monkey -p 包名 -s 500 –ignore-crashes –ignore-timeouts –mo

2017-10-21 14:35:27 248

原创 Android 慎用GsonFormat,小心入坑!

1.安装:请自行在Android stdio中下载此插件并安装。 2.使用: 3.问题: 一直以来,我都十分喜欢这个工具,但是它有一个巨坑的地方。比如: 用工具生成的类有有static出现,在这里并没有它存在的意思,它的存在导致我的程序出错还不报错。我们要知道,内部类出现静态类,静态类分配内存就不一样,赋值也不一样。希望今后使用这个工具时候,可以谨慎点,检查下类中代码在写其他代

2017-09-22 10:25:41 3851

原创 Android 微信支付_扫码支付,我来帮你填坑!

0.概述:本文讲的是微信支付中的扫码支付的模式二:该模式下,二维码链接由微信支付返回给商户,商户将得到的二维码链接转成二维码图片,用户通过扫码支付,此方式下生成的二维码2小时内有效。 微信支付官网地址:https://pay.weixin.qq.com/wiki/doc/api/index.html 1.扫码支付步骤:调用统一下单接口可获取到一个二维码链接参数code_url

2017-09-19 15:24:02 11706 5

原创 Android 自定义键盘控件_身份证号码输入

效果图: 步骤: 1.继承键盘类,写一个MyKeyboardView ,备用。public class MyKeyboardView extends KeyboardView { private Context context; public MyKeyboardView(Context context, AttributeSet attrs)

2017-09-18 10:31:30 2997

原创 Android汉字转拼音的完美解决方案

前面的话:做一件事情前一定要先对比多种解决方案在开始写代码,如果一开始就知道某种方法的不合理,就不会浪费那么多时间在解决之前的错误上啦。这篇文章就是因为一开始没有认识到这个问题,付出的代价。以此为戒!一开始,我使用ASCII码和拼音的映射对汉字和拼音间进行转换,相关类如下:public class CharacterParser { private static int[]

2017-08-16 17:32:57 2787 1

原创 Android解决悬浮按钮在魅族机上的适配问题

前提:使用的悬浮按钮是https://github.com/makovkastar/FloatingActionButton,使用它的原因在于它只需一句话就将悬浮按钮与列表(https://github.com/iwgang/FamiliarRecyclerView)关联在一起,那就是但是:近期在测试提交的bug中看到这个问题,在有些机型的手机上悬浮按钮挡住了列表中的文字显示(如下

2017-08-16 14:29:22 935

原创 Android解决service向activity传值失败的问题

问题:在service使用Intent打开activity并传递值,在onResume中使用getIntent不能及时地获得正确的值,取到的是上一次的值。一般情况下,我们在使用intent打开activity时候,会执行onCreate、onStart、onResume,如果此时activity处于栈顶,再次打开activity执行onPause、onStop,此时activity再接受int

2017-08-16 14:04:56 839 1

原创 Android解决activity、service间使用sharePreference进行值存取不同步

问题:今天在代码中使用sharePreference在activity对值进行存,在service中对值进行取的过程中发现,不能在service正确地取出保存在sharePreference中的值。在参考网上诸多关于这个问题的解决方案为:将sharePreference中getSharedPreferences(String name,int mode)中的mode从MODE_APPEND修改

2017-08-16 10:49:46 962

原创 Android 自定义控件 loding小球

以下为参照博客    http://blog.csdn.net/guimianhao9833/article/details/74858472 首先看下效果图:步骤:1.继承view,并需要三个构造函数。public MyView(Context context) { //注意不要默认实现,记得修改。 this(context

2017-07-18 14:31:55 655

原创 Java 接口与抽象类

你是不是和我一样,就算是一个简单的知识点,你忽略它小看它,结果有一天,当别人来请教你的时候,你什么都说不上来。比如今天的这个问题,何时使用接口,何时使用抽象类?1.首先有几个点必须知道:1)java中支持单继承(extend)多实现(implement)2)使用抽象类是为了代码的复用,而使用接口是为了实现多态性3)抽象类定义了你是什么,接口定义了你能做什么(一个接口最好

2017-07-12 10:04:57 268

原创 Android 自定义控件 圆形进度条

写在前面的话,希望通过写博客的方式记录代码成长,督促自己进步。加油!因为再简单的事,不去实际实践,不去记录,都不是存在于你的脑子里的。听说自定义控件要撸的很熟,所以趁着空闲时间我也来撸一把算了。1.开门见山,先看看要实现的控件的模样。2.上自定义控件MyView代码:1)需要继承view,给出三个构造函数,在构造函数中做一些初始化的工作。public MyV

2017-07-11 17:18:01 429

原创 Android studio 代码混淆

最近项目不紧,在学新技术。听说项目也快发布正式版本,就琢磨着写混淆配置文件打包发布,不想它吭我太久,今天终于解决,记录下。问题:问题1:debug运行程序正常跑,混淆后跑代码查看log显示类型转换异常的错误,程序跑欢迎界面白屏。解决:由于有些不改混淆的类和接口被混淆了,所以需要特别写出来它不需要混淆。我把程序里所有的model都不混淆。 #model-keep interface com.tai...

2017-05-18 17:04:37 364

androidAPI

Android软件开发工具包,当下普遍正在用的安卓API文档,程序员的好书本。

2015-06-06

空空如也

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

TA关注的人

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