自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 问答 (1)
  • 收藏
  • 关注

原创 踩坑pf4j之差点摔电脑

今天

2021-07-16 16:12:40 1472

原创 app专属存储空间目录访问

应用专属存储空间:其他应用无法访问空间下的目录、文件,应用可以存储专属自己的文件数据。用户卸载应用时,系统会移除此空间下的所有数据。访问内部存储空间:getFilesDir()、openFileOutput()、openFileInput()、getDir()、getCacheDir()、File.createTempFile()外部存储:getExternalFilesDir()、getExternalCacheDir()查询可用空间: StorageStateManager.getFreeB

2020-07-30 11:22:52 739

原创 app运行时系统配置发生改变,不重启Activity

如果需要在配置发生改变时(如竖屏变横屏),不重启Activity,则需要在AndroidManifest文件中为该Activity添加configChanges属性,这样在配置改变时机会回调onConfigurationChanged(),无需重启Activity。 注意,此种方式虽然不会重启Activity,但与配置所对应的资源也不会被系统自动加载,仍会使用配置改变前的资源文件,需要你在onConfigurationChanged方法方法中自行处理配置改变。...

2020-07-22 16:09:44 448

原创 String、StringBuffer、StringBuilder的异同

1、执行速度的比较:StringBuilder > StringBuffer > String;2、String是不可变对象,对string对象的任何修改都会新生成一个string对象,变量将会指向新的string对象,原string对象保持不变;3、StringBuffer、StringBuilder是可变对象,内部维护char[],它们的修改操作都是在char[]上进行;...

2020-04-27 15:38:52 123

原创 Android应用安全防护4个步骤

1、混淆:代码混淆和资源混淆。apk被反编译后增加代码阅读难度,同时也能减少apk体积;2、签名保护:在应用入口处增加签名校验,防止apk被二次打包;3、手动注册native方法:通过registerNative在native层注册native方法,可以映射c中的方法名和java中的方法名,增加so文件被破解后的阅读难度;4、反调试检测:被调试的进程会在/proc/[myPid]/...

2020-04-22 12:22:37 245

原创 AndroidStudio NDK开发配置CMakeList.txt

记录NDK开发时如何配置CMakeList.txt文件,在模块的src目录下新建CMakeList.txt文件;1、在CMakeLists文件中指定cmake版本: cmake_minimum_required(VERSION 3.4.1)2、指定cmake项目的名称 PROJECT(music-player)3、确定头文件的目录 include_...

2020-04-20 13:28:05 473

原创 Android Service的onStartCommand方法的返回值

Service中onStartCommand返回值详解:1、START_STICKY:当service已经启动,并且执行过onStartCommand,如果此时service被系统杀掉,那么service离开开始状态,同时不会保留分配到的Intent。稍后,系统将会尝试重新创建service。由于之前的service处于开始状态,所以在创建service实例后,onStartCommand方法一...

2020-01-17 11:18:16 444

原创 Android aar包修改代码后重新打包

修改aar包代码的几个步骤:1、解压出arr包:unzip xxx.aar -d tempFolder2、找到classes.jar文件,并使用jd-gui查看代码,找到需要修改的文件;3、打开Android Studio,新建同路径同名文件,并把代码复制到里面,同时,导入aar解决依赖问题;4、修改完代码后,build一下,从/build/intermediates/javac/...

2020-01-17 09:52:59 2737

原创 Android Webview入坑记录之Javascript回调

业务需求,原生代码调用H5页的JS方法,并且js方法的参数带有json串。坑:如果json串是被Uri.encode过,那么调用webview.loadUrl(“js方法”);那么被作为js方法参数的json将会被webview解码decode。而我们的需求是要拿到原始的json串。一翻度娘排查,发现在4.4以上的系统需要使用evaluateJavascript()方法回调js,这样才能在...

2020-01-15 11:46:26 451

原创 Android Webview 调起系统相机、相册

公司有个业务需求,需要在H5页中可以分别调起相同中的相机、相册。拿到该H5页看了一下,H5中调起相机和打开相册的源码分别是:#调起相机<input type="file" accept="image/*" capture="camera"/>#打开相册<input type="file" accept="image/*" multiple="multiple"/&g...

2020-01-13 14:34:47 2698

原创 Android中子线程更新UI的几种方式

1、Handler先来看下官方对Handler的描述 A Handler allows you to send and process {@link Message} and Runnable objects associated with a thread's {@link MessageQueue}. Each Handler instance is associated wi...

2020-01-09 17:01:40 121

原创 android xml文件的解析方法DOM、XmlPull、SAX

1、XML是什么?XML是一种可扩展标记语言,其文档结构被设计成树型结构,主要用于数据信息的描述和存储、携带数据和交换数据,通过XML,可以在不兼容的系统之间交换数据。2、在Android中怎样解析XML文件 优点 缺点 DOM 1.XML树在内存中完整存储,因此可以直接修改...

2020-01-09 11:32:03 94

转载 Android中Serializable和Parcelable序列化对象

本文转载自:http://www.jb51.net/article/79933.htm本文详细对Android中Serializable和Parcelable序列化对象进行学习,具体内容如下学习内容:1.序列化的目的2.Android中序列化的两种方式3.Parcelable与Serializable的性能比较4.Android中如何使用Parcelable进行序列

2016-03-09 22:07:45 158

原创 Android动画基本使用

一、Frame Animation 帧动画1、在res/drawable/目录下新建xx.xml文件,root element为<animation-list>,引入需要播放的帧图片:<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.andr...

2016-01-03 20:08:46 186

空空如也

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

TA关注的人

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