自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 【Getx】状态管理介绍、Getx介绍 、Getx Dialog 主题管理

GetX 是 Flutter 上的一个轻量且强大的解决方案,Getx为我们提供了高性能的状态管理、智能的依赖注入和便捷的路由管理。

2023-03-16 11:59:02 1601

转载 解决popuwindow和屏幕内三键导航栏冲突

1.工具类奉上2.在popwindow中的showAtLocation设置Y轴偏移

2022-07-11 16:29:49 327

原创 安卓项目引入Flutter的aar包

1.首先新建一个Flutter项目module类型的2.之后创建成功之后就可以打aar包了3.打好的aar包在这个目录下1.把生成的aar包复制到libs目录下2.在app/build.gradle下进行引用还需要配置一个这个3.将上文中的Flutter Module再打包成apk,从生成的apk中拷贝出来对应架构的so库(我这里只生成了arm64_v7a的)至此就引入flutter成功了。首先在清单文件下配置:在就是跳转页面了至此就完美的引入flutter项目了。

2022-06-02 09:38:07 1330

原创 360加固保自动签名配置了签名还一直提示签名配置中未找到此APK使用的签名

最近使用360加固保的时候,使用自动签名一直提示签名配置中未找到此APK使用的签名,在360社区里翻了一上午全是只有问题没有答案,很是烦躁。最后还是官方靠谱,加了客服qq给出了答案:复制一个原包,将复制的原包APK里的【META-INF】删掉,在加固助手配置签名后,直接将删掉【META-INF】的包上传就可以。使用压缩工具打开自己的apk包删除【META-INF】,再重新上传包就ok了。此篇文章希望能帮助到大家,让更多的人少踩坑...

2021-06-09 11:10:00 1595

原创 安卓app禁止跟随系统文字大小而改变

昨天测试给反馈了一个问题,是一个dialogFragment里面的textview显示不全。问题一提出来,我的第一反应肯定是屏幕适配的问题,于是就找了几个机型都是试了一下并没发现问题所在,后来仔细一看测试给发过来的图片发现里面的文字非常大,感觉有点不对劲,肯定是用户自己调了系统的文字大小导致的,最终经过测试验证是这个问题造成的。 知道了问题所在就好办了,剩下的就是寻找解决方案了,自己去尝试了一下把系统文字调到最大,看了一些大型app如何,而支付宝、美团等等这些app的字体都没有改变。这下就有了思路,找到相.

2021-01-20 15:22:46 1037 4

原创 Systrace命令的使用

命令用法sched: CPU调度的信息,非常重要;你能看到CPU在每个时间段在运行什么线程;线程调度情况,比如锁信息。gfx:Graphic系统的相关信息,包括SerfaceFlinger,VSYNC消息,Texture,RenderThread等;分析卡顿非常依赖这个。view: View绘制系统的相关信息,比如onMeasure,onLayout等;对分析卡顿比较有帮助。am:ActivityManager调用的相关信息;用来分析Activity的启动过程比较有效。测试列表滑动, 桌面滑动

2020-12-18 18:28:52 1829 1

原创 git add.提示 git: ‘add.‘ is not a git command.

其实遇到这种情况,试一下git add . 也就是在点之前打一个空格

2020-12-04 16:59:09 498

原创 Systrace工具的配置及配置过程中遇到的问题

环境准备Systrace.py的使用需要安装python 2.7.16 ,不能用python 3.x。python2.7下载地址(一直选择下一步即可,中间可以自己选择安装目录)systrace.py 使用报错进到Sdk的platform-tools\systrace目录下进入cmd命令:1.systrace.py -l 报错: ImportError: No module named win32con2.安装win32con模块pip install pypiwin323.

2020-11-30 19:47:05 1319

原创 The following untracked working tree files would be overwritten by merge

git pull的时候遇到这样的问题:The following untracked working tree files would be overwritten by merge:.idea/vcs.xml解决办法:git clean -d -fx备注:会删除掉没有add到仓库的文件,操作记得慎重,以免改动文件的丢失。本质上就是操作仓库中没有被追踪的本地$ git clean -f -n # 1$ git clean -f -n # 1$ git clean -f

2020-11-26 11:00:08 2166

原创 Caused by: org.apache.xerces.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF...

最近项目运行的时候遇到一个这样的(看标题)问题,经过排查发现是因为databinding的问题,在xml里用到了中文,导致环境不同的电脑会编译错误。错误如下:解决方案一:排查xml中用到中文的地方给替换掉,之后在运行就没问题了,但是这种工作量比较大需要时间去排查。解决方案二:配置环境变量:添加变量名为: JAVA_TOOL_OPTIONS 变量值为:-Dfile.encoding=UTF-8,配置完后重启studio就完美解决的问题了,这种比较简单(个人使用的是方案二)。最后建议大.

2020-11-25 14:33:08 1271

原创 Android面试相关 - IntentService

1.IntentService定义:intentService继承与Service,用来处理异步请求。客户端可以通过startService(Intent)方法传递请求给IntentService。IntentService在onCreate()函数中通过HandlerThread单独开启一个线程来依次处理所有Intent请求对象所对应的任务。       这样以免事务处理阻塞主线程(ANR)。执行完所一个Intent请求对象所对应的工作之后,如果没有新的Intent请求达到,则自动停止Service.

2020-11-24 09:45:52 281 1

原创 Android面试相关 - ContentProvider

1.ContentProvider了解多少ContentProvider作为四大组件之一,其主要负责存储和共享数据。与文件存储、SharedPreferences存储、SQLite数据库存储这几种数据存储方法不同的是,后者保存下的数据只能被该应用程序使用,而前者可以让不同应用程序之间进行数据共享,它还可以选择只对哪一部分数据进行共享,从而保证程序中的隐私数据不会有泄漏风险。2.ContentProvider的权限管理读写分离权限控制-精确到表级URL控制3.说说ContentProvi.

2020-11-23 10:47:33 128

原创 Java中的反射(Reflect)

反射之中包含了一个「反」字,所以了解反射我们先从「正」开始。一般情况下,我们使用某个类时必定知道它是什么类,是用来做什么的。于是我们直接对这个类进行实例化,之后使用这个类对象进行操作。反射则是一开始并不知道我要初始化的类对象是什么,自然也无法使用 new 关键字来创建对象了,我们使用JDK提供的反射API进行反射调用。反射就是在运行时才知道要操作的类是什么,并且可以在运行时获取类的完整构造,并调用对应的方法。Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Re

2020-11-20 23:34:08 210

原创 Android面试相关 - Broadcast Receiver

1.广播有几种形式 ? 都有什么特点普通广播:开发者自身定义 intent的广播(最常用),所有的广播接收器几乎会在同一时刻接受到此广播信息,接受的先后顺序随机;有序广播:发送出去的广播被广播接收者按照先后顺序接收,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递,且优先级(priority)高的广播接收器会先收到广播消息。有序广播可以被接收器截断使得后面的接收器无法收到它;本地广播:仅在自己的应用内发送接收广播,也就是只有自己的应用能收到,数.

2020-11-19 15:18:45 119

原创 Java中的泛型

为什么我们需要泛型呢?通过下面两段代码就可以知道为什么需要泛型了: public int addInt(int x,int y){ return x+y; } public float addFloat(float x,float y){ return x+y; }实际开发中,经常有数值类型求和的需求,例如实现int类型的加法,有时候还需要实现long类型的求和,如果还需要double类型的求和,需要重新在重写一个输入是double类型的

2020-11-17 18:51:32 135

原创 Android面试相关 - Service

1.谈一谈Service的生命周期Service的生命周期涉及到六大方法onCreate():如果service没被创建过,调用startService()后会执行onCreate()回调;如果service已处于运行中,调用startService()不会执行onCreate()方法。也就是说,onCreate()只会在第一次创建service时候调用,多次执行startService()不会重复调用onCreate(),此方法适合完成一些初始化工作;onStartComand():服务启动时调.

2020-11-17 09:35:10 121

原创 Android面试相关 - Okhttp3源码分析

implementation ‘com.squareup.okhttp3:okhttp:3.11.0’背景之前的底层网络库基本就是Apache HttpClient和HttpURLConnection。由于HttClient比较难用,官方在Android2.3以后就不建议用了,并且在Android5.0以后废弃了HttpClient,在Android6.0更是删除了HttpClient。HttpURLConnection是一种多用途、轻量极的HTTP客户端,使用它来进行HTTP操作可以适用于大..

2020-11-13 15:11:35 256

原创 Android面试相关 - Fragment

1.谈一谈Fragment的生命周期Fragment从创建到销毁整个生命周期中涉及到的方法依次为:onAttach()→onCreate()→ onCreateView()→onActivityCreated()→onStart()→onResume()→onPause()→onStop()→onDestroyView()→onDestroy()→onDetach(),其中和Activity有不少名称相同作用相似的方法,而不同的方法有:onAttach():当Fragment和Activity建立关.

2020-11-13 14:17:19 179

原创 Android面试相关 - Activity

1.Activity生命周期在正常情况下,Activity生命周期就只有如下7个:onCreate():表示Activity正在被创建,常用来初始化工作,比如调用setContentView加载界面布局资源,初始化Activity所需数据等;onRestart(): 表示Activity正在重新启动,一般情况下,当前Activity从不可见重新变成可见时,onRestart就回被调用;onstart(): 表示Activity正在被启动,此时Activity可见但不在前台,还处于后台,无法与用户.

2020-11-12 15:28:08 671

原创 微信小程序-加载html代码并替换html转义符

最近改小程序bug,需要加载html代码,并且后台返回的html代码里有转义符(类似" <),身为一个安卓程序员,改小程序很是头疼,改了将近2个小时,终于是修改好了(不容易呀,还是安卓舒服)。以下是修改之后的效果图:先进行转义,以下代码replaceSpecialChar (str) { str = str.replace(/&amp;quot;/g, '"'); ...

2020-04-15 17:40:01 2001

原创 安卓实时监测充电状态

最近项目中遇到一个需求,实时监测手机是否接通电源,大概效果如下:怎么实现呢,第一想到的就是使用广播来进行监听,代码如下:/** * 充电检测 */public class BatteryListener{ private Context mContext; private BatteryBroadcastReceiver receiver; ...

2020-04-01 16:42:02 1729

原创 安卓SharedPrefences存取List

SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了string,set,int,long,float,boolean六种数据类型。最终数据是以xml形式进行存储。在应用中通常做一些简单数据的持久化缓存。SharedPreferences作为一个轻量级存储,所以就限制了它的使用场景,如果对它使用不当将会带来严重的后果。我们大多时候都...

2020-03-31 16:40:33 325 3

原创 安卓自定义textview文字两端对齐&&高亮文字颜色

原生textview并没有相对应的文字两端对齐的API。首先看一下效果:基本上就是这么一个效果,下面直接贴出代码: public class JustifyTextView extends TextView { private int mLineY = 0;//总行高 private int mViewWidth;//TextView的总宽度 private T...

2020-03-20 18:02:37 270

原创 安卓反编译apk(查看源码)

一. 所需工具apktool (资源文件获取) 下载路径:https://ibotpeaches.github.io/Apktool/ 或者https://bitbucket.org/iBotPeaches/apktool/downloads/dex2jar(源码文件获取) 下载路径:https://github.com/pxb1988/dex2jar/releasesjd-gui (源...

2020-01-04 11:12:08 378

原创 安卓如何打一个签名的APK

APP签名,目前可以分为两种,大家可以针对自己需要,来使用哪一种签名签名一,有key文件,我们直接把key复制到我们的项目下然后在appmoudle下build里android下添加以下代码signingConfigs { myConfig { storeFile file("tech.keystore") storeP...

2019-12-18 19:17:58 153

原创 安卓签名文件打包错误java.io.IOException:Invalid keystore format ...

1.错误java.io.IOException:Invalid keystore format ...2.解决方案 方案1: 找到debug.keystore并删除 路径 User\用户名\android\debug.keystore 删除后重新运行项目,会自动的在生成一个文件。 方案2:...

2019-12-17 16:38:16 11084

原创 安卓距离传感器

最近项目中需要检测距离传感器是否可用,具体效果如下:相对还是非常简单的直接调取api就ok,直接展示代码:权限:<uses-permission android:name="android.permission.WAKE_LOCK" />1.首先获取sensorManagersensorManager = (SensorManager) getSystemService(...

2019-12-17 09:56:04 853

原创 集成腾讯Bugly(异常上报)

此文只针对异常上报的集成注册账号的过程就省略掉了…1.集成SDK在Module的build.gradle文件中添加依赖和属性配置: implementation 'com.tencent.bugly:crashreport:3.1.0' 2.在AndroidManifest.xml中添加权限:<uses-permission android:name="andro...

2019-12-10 11:07:56 526

原创 Gradle [解决]:Please correct the above warnings first.

快速解决方式 ,proguard-rules.pro文件里添加-ignorewarnings

2019-12-03 16:16:27 411

原创 Android WebView引起内存泄露

WebView会引起内存泄露这是地球人都知道的事情了,这是因为如果在xml文件中定义WebView的话,WebView会对当前的Activity持有引用,这样会引起Activity无法正常销毁从而引起Activity的内存泄露。解决方式:一、手动添加WebView,手动销毁1.不要在XML中声明WebView,而是在Activity中手动添加//Activity的onCreate方法@O...

2019-11-29 17:29:49 817

空空如也

空空如也

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

TA关注的人

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