- 博客(444)
- 资源 (35)
- 收藏
- 关注
原创 CSDN擅自修改文章可读性为VIP文章
之前也遇到一些问题,找到大神写的文章帮自己解决问题;写博客目的是一个记录,也希望帮助到其他人解决一些问题;CSDN未经作者同意,私自修改文章为VIP文章,为了一点盈利,吃相太难看了!
2024-04-27 19:48:40 234
原创 Android--Incorrect lazy initialization of static field.
volatile的:禁止指令重排序优化,也就保证了instance变量被赋值的时候对象已经是初始化过的,从而避免了上面说到的问题。例如线程1已经分配了地址给instance 但是还没有初始化, 此时线程2 判断intance不是null 直接返回。主要原因是线程安全问题。多线程有可能会对该方法调用造成实例化多次。在该方法加synchronized。
2022-10-26 20:32:58 953 1
原创 android--MediaRecorder.stop()报错java.lang.IllegalStateException
在Android P版本及以下版本出现,解决办法也比较简单:捕获异常规避。
2022-10-03 11:43:22 1593
原创 Android--混淆配置
android studio自带java语言的ProGuard工具,主要用来压缩、优化、混淆,然后配合Gradle构建工具实现混淆。在app module中统一配置混淆规则我们可以直接在app module中build.gradle文件配置所有module需要混淆的规则。这样,其他module中就无需开启混淆。
2022-09-17 13:15:52 2688
原创 Android--OpenGL坐标系
Android 手机中的坐标系(竖屏与横屏):顶点坐标系(竖屏与横屏):OpenGL坐标系(竖屏与横屏):一、世界坐标系(World Coordinates)学名:右手笛卡尔坐标系统。在OpenGL中,世界坐标系是以屏幕中心为原点(0, 0, 0),且是始终不变的。x轴正方向为屏幕从左向右,y轴正方向为屏幕从下向上,z轴正方向为屏幕从里向外。长度单位这样来定:窗口范围按此单位恰好是(-1,-1)到(1,1),即屏幕左下角坐标为(-1,-1),右上角 坐标为(1,1)。
2022-09-17 12:50:28 1211
原创 Android--内存泄露分析
一、内存泄露java中的内存泄露是指一个无用对象持续占有内存或无用对象的内存得不到及时的释放,从而造成的内存控件的浪费称为内存泄露。强引用(StrongReference):JVM 宁可抛出 OOM ,也不会让 GC 回收具有强引用的对象;软引用(SoftReference):只有在内存空间不足时,才会被回的对象;弱引用(WeakReference):在 GC(垃圾回收) 时,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存;虚引用(Phant...
2021-11-09 21:11:39 2164
转载 Android--扫描文件并统计各类文件数目
最近在模仿小米的文件管理器写一个自己的文件管理器,其中有一个功能是全盘扫描文件并显示每类文件的数目。刚开始使用单一线程,扫描速度简直惨不忍睹,换成多线程扫描以后,速度有较明显的提升,便封装了一个工具类,分享出来。一、遇到的问题首先描述一下遇到的问题:1 . Android端全盘扫描文件2 . 开一个子线程扫描太慢,使用多线程扫描3 . 统计每一类文件的数目(比如:视频文件,图片文件,音频文件的数目)二、解决思路接下来描述一下几个点的解决思路:1 . 首先目录的存储结构是树状结构,
2021-10-24 10:40:09 986
原创 Android--存储权限
Android11 更新了新的存储权限分区存储,将不再允许用户授权访问 Downloads 的根目录、每个可用 SD 卡的根目录以及其它应用的目录。应用仍然可以通过 Storage Access Framework API 或者文件选择器来帮助用户从共享存储中选取个别文件。Android SDK大于等于30(Android11)在AndroidManifest.xml中申请,并且代码中也需要动态申请:<uses-permission android:name="android.permis.
2021-09-04 20:37:59 10276 1
原创 Android--Notification横幅通知栏
一、概述1、Notification,是一种具有全局效果的通知,可以在系统的通知栏中显示。在发出一条通知后,手机最上方的状态栏会显示一个通知的图标,下拉状态栏后就可以看到通知的详细内容。2、样式其属性描述如下:1.代表:通知标题,通过 setContentTitle() 方法设置。2.代表:大图标,通过 setSmallIcon() 方法设置。3.代表: 通知内容,通过 setContentText() 方法设置。4.代表:通知消息5.代表:小图标,通过 setLar...
2021-05-08 21:29:15 4255 4
原创 Android--FAILED: out/soong/build.ninja
解决办法:source build/enusetup.shlunch aosp_arm-usermake -j4
2021-04-27 20:15:28 5510 1
原创 Android--<xliff:g> 标签
一、简介全称是:XML Localization Interchange File Format,-->XML本地化数据交换格式。%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00二、用法<resourc..
2021-04-14 21:41:46 392 1
原创 Android--ANR日志分析
https://blog.csdn.net/feelinghappy/article/details/99847856https://blog.csdn.net/wq892373445/article/details/105794663
2021-04-14 21:33:12 2816 1
原创 Android--String.xml中转义字符
常见的ASCII十进制交换编码:@ 对应 -----@-----: 对应 -----:-----  对应 -----空格-----  对应 -----空格-----! 对应 -----!-----" 对应 -----"(xml中需要在前面加入)-----# 对应 -----#-----$ 对应 -----$-----% 对应
2021-03-28 18:57:20 1325 1
转载 Class.forName()的作用与使用总结
https://blog.csdn.net/fengyuzhengfan/article/details/38086743
2021-03-18 21:01:35 183 1
原创 Android--Button、TabLayout英文小写自动变为大写的问题
解决方法:1、如果是Button自动大写问题,直接设置Button的textAllCaps="false"即可。2、如果是TabLayout自动大写问题,定义一个style,如下:<style name="TabLayoutTextStyle" parent="TextAppearance.Design.Tab"> <item name="textAllCaps">false</item> <item name="a..
2021-03-13 21:34:50 2598 9
原创 Android--设置显示大小导致APP crash
问题原因:在设置中修改显示大小,APP需要重新刷新界面,app是作为一种异常走的onDestroy()方法,并不是正常的按返回键进行的退出执行的onDestroy(),这个时候系统会自动在onSaveInstanceState()方法里面临时性的保存之前的界面状态或者变量信息,方便在onCreate()的时候,从bundle里面直接取出来使用。但是毕竟是异常的状态,有些实体的信息或者fragment堆栈的状态恢复的时候就有可能错乱,导致显示效果出错或者crash。解决办法:复写onSaveInsta
2021-02-19 22:26:27 1032 1
原创 Android--设置字体不随系统字体大小而变化
在Application中设置:@Override protected void attachBaseContext(Context base) { final Resources res = base.getResources(); final Configuration configuration = res.getConfiguration(); configuration.setToDefaults(); final Co
2020-09-04 20:55:30 1343 1
原创 Android--java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMerger
android项目在构建时不会报这个错,但是在打包就会报这个错,网上好多文章是:这个错的意思是在你的项目中引用了相同的包。并没有解决我的问题,我是APP 的AndroidManifest.xml 中的包名和项目下的AndroidManifest.xml包名改成不一致的就OK 了;...
2020-08-09 20:49:03 441 1
原创 Android--not permitted by network security policy
从Android9.0开始,Google为了Android的网络安全将不再默认支持Http的请求,所有的请求将需要使用Https,所以当使用大于等于9.0版本时,http的请求将会出现标题中的错误。当然我们如果依然需要使用Http,Google也提供了方法帮我们解决这个问题。方法一:服务器和本地应用都改用 https (强烈推荐)方法二:在APP下的AndroidManifest.xml application中添加:android:usesCleartextTraffic="true".
2020-08-09 20:42:45 647 1
原创 Android--自定义dialog解决margin失效问题
全屏dialog的margin<?xml version="1.0" encoding="utf-8"?><inset xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/dialogbackground" android:insetTop="50dp"/> <--相当于设置顶部margin<?xml versio
2020-05-26 21:49:10 1294 1
原创 Android--recycleview滚动条
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView.
2020-05-26 21:20:01 854 1
原创 Android--面试问题
一、事件分发https://www.jianshu.com/p/d3758eef1f72二、屏幕适配https://github.com/JessYanCoding/AndroidAutoSizehttps://blog.csdn.net/raul575_li/article/details/80801312https://blog.csdn.net/liyi100936554...
2019-12-18 10:51:13 71
原创 Android--recycleview子item中checkbox+edittext遇到的问题
1、由于recycleview复用机制,checkbox选一个,下面自动选中,edittext自动输入问题:@Override public void onBindViewHolder(ViewHolder viewHolder, int position) { //禁止复用,要不数据重复 viewHolder.setIsRecyclable(fals...
2019-12-15 09:39:28 318 1
转载 Android--BRVAH官方使用指南
BRVAH是一个强大的RecyclerAdapter框架(什么是RecyclerView?),它能节约开发者大量的开发时间,集成了大部分列表常用需求解决方案。为什么会有它?请查看「Android开源框架BRVAH由来篇」该框架于2016年4月10号发布的第1个版本到现在已经一年多了,经历了800多次代码提交,140多次版本打包,修复了1000多个问题,获得了9000多star,非常感谢大家的使...
2019-12-15 09:39:02 2944
原创 Android--BottomSheet实现可拉伸控件
一、简介Bottom Sheet是Design Support Library23.2 版本引入的一个类似于对话框的控件。 Bottom Sheet中的内容默认是隐藏起来的,只显示很小一部分,可以通过在代码中设置其状态或者手势操作将其完全展开,或者完全隐藏,或者部分隐藏。二、使用1、添加依赖:implementation 'com.android.support:design:2...
2019-11-15 10:21:50 2009 1
原创 Android--高德地图fragment中定位
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" ...
2019-10-31 17:25:20 2238
原创 Android--注销登录用户
像我们经常用的app,当我们点击注销按钮之后,一般都会重新返回登陆界面,这时候我们再按返回键是没有用的。其实是将你的任务栈TaskStack清空,注销的功能就完成了。这里要设置Intent的FLAG,在执行完成Activity跳转的时候会清空TaskStack,并且将创建一个新的TaskStackIntent logoutIntent = new Intent(personActivit...
2019-10-25 15:44:15 1519
原创 Android--解决打开应用启动出现几秒白屏
闪屏原因剖析StartingWindow(Preview Window)我们正常开发中会在Activity的onCreate()方法中调用setContentView(View)设置该Activity的显示布局,那么问题就来了,既然我们设置了布局,为什么启动的时候还会白屏或者黑屏而不是显示我set的布局呢?下面就带领大家一起来剖析一下原因。当打开一个Activity时,如果这个Activit...
2019-10-24 10:12:12 1384 1
原创 Android--https
public static SSLContext getSSLContext() { // 从assets中加载证书,取到证书的输入流 InputStream is = getApplicationContext().getAssets().open("srca.cer"); // 证书工厂 CertificateFactory cf = CertificateF...
2019-09-27 17:27:03 220 1
原创 android--监听左右滑动事件
主要思路:activity实现OnTouchListener接口,继承方法,GestureDetector.SimpleOnGestureListener的一个对象,用来识别各种手势动作,源码中SimpleOnGestureListener实现的是OnGestureListener, OnDoubleTapListener这两个接口,如果你只是做检测左右滑动可以去只实现OnGestureListe...
2019-09-09 11:55:20 4162 3
原创 Android--onBackPressed() 里调用 setResult
使用startActivityForResult()进行页面跳转的时候,如果在正常点击事件中可以可以返回正确的resultCode,但是在虚拟按键,onBackPressed() 的监听事件里面无法返回正确的值,问题原因:onBackPressed()方法中的 super.onBackPressed()是执行系统默认的操作,就是退出当前Activity,所以当我们重新这个方法时,不加super...
2019-08-21 15:07:45 1122 1
转载 Android--数据库GreenDao使用
一、简介greenDAO是一个对象关系映射(ORM)的框架,能够提供一个接口通过操作对象的方式去操作关系型数据库,它能够让你操作数据库时更简单、更方便。如下图所示:Github地址:https://github.com/greenrobot/greenDAO推荐博文:https://www.jianshu.com/p/53083f782ea2GreenDao 优点:1.性能...
2019-08-04 20:12:38 6038 2
原创 Android--NFC读写
一、NFC APIAPI地址:https://www.android-doc.com/guide/topics/connectivity/nfc/nfc.html二、简介NFC的三种模式读卡器模式(Reader/writer mode)、仿真卡模式(Card Emulation Mode)、点对点模式(P2P mode)。(1)读卡器模式数据在NFC芯片中,可以简单理解成...
2019-08-01 10:55:28 5536 9
原创 git报错:remote: error: hook declined to update refs/heads/master
原因是git上传大文件,git单个最大文件不能超过100mb解决办法:删除大文件,查看提交历史git log回滚git reset commit_id
2019-07-30 08:56:59 20030
原创 Android--popupwindow实现底部弹窗
首先在res目录下新建anim目录,在anim目录下建两个动画效果文件,用来控制菜单的弹出和隐藏:image.pngpopshow_anim.xml:<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"&...
2019-07-17 10:44:17 935
原创 Android-知识点
一、setResult() 和 finish() 的顺序关系?A ——> startActivityForResult ——> B ——>setResult ——> finish ——> A——>onActivityResult ——>onRestart——>onStart——>onResume二、onSaveInstanceState...
2019-07-07 13:36:08 408
原创 Android-- map的几个封装
/** * 获取map中第一个key值 * * @param map 数据源 * @return */ private static String getKeyOrNull(Map<String, Object> map) { String obj = null; for (Entry<Str...
2019-07-05 19:16:18 601
原创 上传本地代码及更新代码到GitHub
前提已经安装git第一次上传代码:1、github上创建自己的Repository2、建立git仓库,在本地代码右键选择Git Bash Here,输入:git init3、将项目的所有文件添加到仓库中(不要缺少后面的“.”)git add .4、提交到仓库git commit -m "commit first"5、将本地的仓库关联到GitHub,后面的h...
2019-06-10 17:09:08 240 1
转载 Android--高级工程师学习路线
https://blog.csdn.net/freekiteyu/article/details/87934375
2019-06-02 14:30:12 539
原创 Android--高德地图通过经纬度简单的实现轨迹回放
效果图:1、首先去高德地图官网去申请key,然后下载相关jar包。/** * Created by Administrator on 2019/5/31 * <p> * desc:轨迹回放 */public class TraceReloadActivity extends FragmentActivity { private AMap aMap; ...
2019-05-31 17:36:04 2922 2
Android下载zip压缩文件并解压 源码下载
2016-12-21
Android反编译工具包
2016-11-29
各种开发API和工具 1
2016-10-13
bsdiff_win_exe.zip
2018-03-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人