Android
云卷云舒i
这个作者很懒,什么都没留下…
展开
-
Android 点击空白处退出软键盘
Android 点击空白处退出软键盘原创 2023-04-24 22:17:50 · 433 阅读 · 0 评论 -
Android 输入框底部被软键盘遮挡或被完全遮挡解决方式
Android 输入框底部被软键盘遮挡或被完全遮挡解决方式原创 2023-03-29 22:43:32 · 1122 阅读 · 0 评论 -
Android kotlin 控件自动在Activity内生成
Android kotlin 控件自动在Activity内生成原创 2022-10-10 14:20:39 · 589 阅读 · 0 评论 -
Android Recyclerview 界面上预览显示item布局
Android Recyclerview 界面上预览显示item布局原创 2022-07-28 10:54:14 · 751 阅读 · 0 评论 -
flow java.lang.IllegalArgumentException: Unable to create call adapter for
flow java.lang.IllegalArgumentException: Unable to create call adapter for原创 2022-07-21 14:04:28 · 1291 阅读 · 2 评论 -
Execution failed for task ‘:app:kaptDevDebugKotlin‘.
Execution failed for task ':app:kaptDevDebugKotlin'Runtime JAR files in the classpath should have the same version. These files were found in the classpath原创 2022-07-13 14:01:02 · 734 阅读 · 0 评论 -
The minCompileSdk (31) specified in adependency‘s AAR metadata 使用的依赖库版本设置
错误One or more issues found when checking AAR metadata values:The minCompileSdk (31) specified in adependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)is greater than this module's compileSdkVersion (android-30).Dep..原创 2022-05-15 20:47:24 · 3371 阅读 · 0 评论 -
Android Rxjava 背压解决,及找不到哪报OnErrorNotImplementedException
使用Rxjava 时,若是发送事件的速度快于处理观察者处理事件速度,(如循环发送事件onNext("")),就会出现背压问题一、背压问题解决1,解决的策略有onBackpressureBuffer():若时缓存满的话,还是会报异常 onBackpressureDrop():观察者处理不过来时,将事件抛弃 onBackpressureLatest():和onBackpressureDrop一样,不过缓存最新的一条数据如果对于发送的事件可以忽略,建议使用onBackpressureDrop()原创 2022-05-08 16:29:42 · 1158 阅读 · 0 评论 -
Rxjava3.x 实现ReBus
注:app文件夹内的build.gradle 的 dependencies 添加rxjava 库implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'implementation 'io.reactivex.rxjava3:rxjava:3.0.0'1.创建Rxbus首先创建RxBus ,这里的RxBus仅支持基本的功能。如下示例import androidx.lifecycle.Observer;import io原创 2022-04-22 00:01:21 · 1986 阅读 · 0 评论 -
Android DialogFragment 不进行销毁再次进行show时,重写设置初始值不起作用
出现这情况重写 DialogFragment 的onViewStateRestored 方法就行了,在里面进设置新的初始值@Overridepublic void onViewStateRestored(@Nullable Bundle savedInstanceState) { super.onViewStateRestored(savedInstanceState);}原创 2022-04-21 23:03:44 · 1701 阅读 · 0 评论 -
Android DialogFragment 自定义底部弹窗实现
此处使用的编辑器为Android studio1. 新建自定义弹窗类:如 InputDialogpublic class InputDialog extends DialogFragment { protected FragmentActivity mActivity; public void setmActivity(FragmentActivity mActivity) { this.mActivity = mActivity; } /.原创 2022-04-21 22:57:46 · 4044 阅读 · 0 评论 -
Android apk打包 大小优化,so库屏蔽
参考:android apk包大小优化详解_瞄大大的博客-CSDN博客_apk大小优化Android 无用res删除_mary20110116的博客-CSDN博客屏蔽第三方框架中的依赖包和.so文件_weixin_33852020的博客-CSDN博客1.指定本项目使用的.so类型在app.build内指定就行,打包的apk将不包含其他类型的so使用ndk{abiFilters:}过滤//过滤x86的so库ndk { abiFilters 'armeabi', 'a原创 2022-04-20 09:11:47 · 1407 阅读 · 0 评论 -
Android resource linking failed AAPT: error: resource attr/*
Android resource linking failed AAPT: error: resource attr/*原创 2022-02-26 18:40:05 · 3040 阅读 · 0 评论 -
Android SmartRefreshLayout 使用自定义刷新的布局
引用的 SmartRefreshLayout 库及版本为:versions.refresh = "2.0.1"deps.refresh = "com.scwang.smart:refresh-layout-kernel:$versions.refresh"在AndroidMainfest.xml文件中,使用自己定义的Application类在定义的Application类内,使用自己自定义的布局这里的MyClassicsHeader类最后继承最后继承LinearLayo..原创 2022-01-12 20:33:55 · 2257 阅读 · 0 评论 -
Android 11 getPackageManager().getPackageInfo 返回null
Android11 了, 在查找用户手机是否有安装app,进行查询包名是否存在时,朋友们有没发现getPackageManager().getPackageInfo()这个函数一直返回null 呢,查了好久才知道,好家伙,Android 11对这个增加了要求,下面是解决方法1、只是查询指定的App 包只需要在AndroidManifest.xml这个文件内添加要查询的包名就可以,比如<queries> <package android:name="com.ins...原创 2022-01-06 14:03:51 · 12477 阅读 · 0 评论 -
Error receiving broadcast Intent com.android.vending.billing PURCHASES_UPDATED flg=0x10 has extras
谷歌支付内购奔溃问题使用结算库版本:def billing_version = "4.0.0"implementation "com.android.billingclient:billing:$billing_version"出现这情况的原因是初始化时,进行了对谷歌的连接billingClient.startConnection 后,不再使用时,没有进行断开连接billingClient.endConnection();当再次进入页面,重复连接,并进行交易后,就会报出原创 2021-12-24 20:22:31 · 2072 阅读 · 0 评论 -
应用签名服务后,页面只显示SHA256的证书指纹,我的应用需要配置SHA1和MD5的证书指纹,我怎么获取?
FAQ-应用签名 (huawei.com)SHA1和MD5是比较老的加密算法,AGC暂不支持提供SHA1和MD5的证书指纹。您可以通过以下方式生成:如您选择的是第一种方式,即AGC为您创建密钥,您可以在应用签名页面下载应用签名证书(certificate.pem),使用openssl命令生成SHA1和MD5的证书指纹。 若生成过程中提示“unable to load certificate*****bad base64 decode”,可能是您的OpenSSL版本较低,建议您更新OpenSSL版本转载 2021-12-23 17:08:50 · 1146 阅读 · 0 评论 -
DialogFragment 底部弹窗全屏宽度100%
注:样式内宽度需设置100%,否则默认非100%,达不到显示的效果<style name="ChooseDataDialogStyle" parent="android:Theme.Holo.Light.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:windowFrame">@nu..原创 2021-10-09 10:48:30 · 299 阅读 · 0 评论 -
Throwing OutOfMemoryError “pthread_create (1040KB stack) failed: Try again“
不可思议的OOM作者:陶菜菜不要过度创建线程才是最好的OOM 线程安全措施摘要: 本文发现了一类OOM(OutOfMemoryError),这类OOM的特点是崩溃时java堆内存和设备物理内存都充足,探索并解释了这类OOM抛出的原因。关键字: OutOfMemoryError ,OOM,pthread_create failed , Could not allocate JNI Env一. 引子 对于每一个移动开发者,内存是都需要小心使用的资源,而线上出现的OOM(Out转载 2021-07-30 11:42:51 · 2143 阅读 · 0 评论 -
Android tts语音播报设置最大音量
设置方式就是在语音播报前,将音量设置最大,再进行播报方式如下//设置最大音量AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);int sb2value =am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);am.setStreamVolume(AudioManager.STREAM_MUSIC, sb2value, 0);//再进行播报Bundl原创 2021-03-11 17:41:07 · 2346 阅读 · 0 评论 -
Android 程序优化
# 代码优化删除注释无用代码# 布局优化一般常用手机开发者选项,打开调试GPU过度绘制-显示过度绘制区域减少布局层级,可以使用约束布局,尽量少用RelativeLayout. 使用include、merge、viewStub 等每次界面绘制次数太多,就无法在标准的16ms中正常显示,从而导致界面卡顿# 内存优化## 内存泄漏优化1.不要再Acticity中声明静态变量,这样会是的Activity无法完全销毁释放2.非静态内部类创建的静态实例造成的内存泄漏3.Handler造成的原创 2021-03-02 10:45:01 · 102 阅读 · 0 评论 -
Android 自定义相机聚焦和显示框
先看使用效果,白色圆框,放大后缩写并变淡隐藏下面是代码public class CameraFocusView extends AppCompatImageView { String TAG = getClass().getName(); //显示的圆宽显示的位置 public float currnetX = 40; public float currentY = 50; Paint paint; //半径大小 float rad.原创 2021-01-27 14:49:23 · 468 阅读 · 2 评论 -
安卓系统没有文字转语音,该怎么进行tts转语音
安卓系统没有文字转语音,该怎么进行tts转语音下载需要的应用链接:https://pan.baidu.com/s/1zb3EUNRAaG_6rfiE8gtVHg提取码:y68z安卓开启文字转语音设置 1、将无障碍屏幕阅读.apk和Google文字转语音引擎.apk安装完成后 2、选择手持机 设置---无障碍---TalkBack---设置---文字转语音设置---首选引擎(选择Google文字转语音引擎),这部分每种安卓系统可能有些不同...原创 2021-01-05 15:35:28 · 1722 阅读 · 1 评论 -
Android代码内运行Shell,注:需root或者系统的数字签名
我这边是使用系统数字签名的方式进行的,需在Android项目内的AndroidManifest文件内需要添加 android:sharedUserId="android.uid.system"实现的内容,command为要执行的命令public static int execute(String command) { int result = -1; DataOutputStream dos = null; try { Process p = Ru.原创 2020-12-04 16:42:13 · 486 阅读 · 0 评论 -
Andorid NDK新建cpp文件后,新建的cpp文件jni.h 找不到
若是NDK环境搭建没问题,且新建Native C++项目可以运行那么,新建的cpp文件在进行#include <jni.h>找不到解决方式:在CMakeLists.txt的add_library( # Sets the name of the library. native-lib # Sets the library as a shared library. SHARED # Provides a rel原创 2020-12-02 15:45:07 · 1258 阅读 · 0 评论 -
Android MediaPlayer 和 MediaCodec 的区别和联系(一)
目录: (1)概念解释 : 硬解、软解 (2)Intel关于Android MediaCodec的相关说明正文: 一、硬解、软解 (1)概念: a、硬件解码:硬件解码是图形芯片厂商提出的用GPU资源解码视频流的方案 b、软件解码:相对于硬件解码,传统的软件解码是用CPU承担解码工作 (2)优点: a、硬解:效率高、功耗低、热功耗低 ...转载 2020-11-07 17:02:50 · 1366 阅读 · 0 评论 -
Jni中 java函数转C函数
该方法需在已安装NDK环境下,才可使用新建一个java类,并添加方法,如下鼠标点击open函数,键盘同时按住Alt 和回车键,再选择Create Jni function for open(有cpp文件时才可使用),就会自动在Cpp文件内自动生成java转C的函数...原创 2020-11-06 19:39:53 · 169 阅读 · 0 评论 -
Android NDK项目创建及so文件生成
1、新建项目,FIle->New->New Project选择 Native C++ 再Next输入项目名称,我这里起为NDKProjcetDemo,选择保存的项目路径和最低Android sdk版本,再NextC++选择默认的就行,然后Finish新建完成后,若是出现NDK not configured. Download it with SDK manager. Preferred NDK version is '21.0.6113669'..原创 2020-11-06 19:09:49 · 382 阅读 · 0 评论 -
Android Studio NDK环境搭建
这里只讲怎么配置NDK环境搭建,假设已搭建好SDK环境1、Android studio 添加NDK配置环境打开Android studio ,点开右上角”正方块下载标识”选择AndroidSDK、SDK Tools,勾选LLDS、NDK、CMake,在Apply进行下载和应用完成后,最好进行重新启动Android studio,这样就基本完成DNK的环境搭建了2、接下来是讲若是、后和C++文件没有标识、代码不能跳转等情况(一般搭建好环境这些功能都自动有,不过排除一些出现这情况的)原创 2020-11-06 18:40:55 · 330 阅读 · 0 评论 -
MotionLayout使用方式,Android 控件位置动态切换
Android 控件位置动态切换,重点讲MotionLayout使用方式,先看效果图切换前切换后:切换过程是移动切换的,不会很突然,接下来是使用方式1、在dependencies中添加implementation 'androidx.constraintlayout:constraintlayout:2.0.4'2、在res中新建xml目录,且新建activity_main_scene.xml文件在activity_main_scene文件内,分别有“...原创 2020-11-06 18:18:31 · 624 阅读 · 0 评论 -
Android retrofit2:converter-gson和Room同时使用,字段id类型冲突Unable to create converter for my class in
retrofit2:converter-gson和Room同时使用,字段id类型冲突Unable to create converter for my class in和Unable to create converter for my class如标题,要是网络请求下的字段id是String而Room的id是int,这该如何解决"subjects":[{"rate":"8.5","cover_x":1500,...原创 2020-10-30 22:32:55 · 664 阅读 · 0 评论 -
Android 页面切换效果 anim
一般进行back时,程序会执行 onBackPressed()这个函数,可重写该函数进行back后的操作,默认back后直接退回上层,结束当前的Activity。我这边的上一层是MainActivity。所以在当前一层SecondActivity进行的操作 @Override public void onBackPressed() { LogUtil.e("...原创 2020-09-26 18:42:17 · 204 阅读 · 0 评论 -
nfc自动响应(回调)及如何自定义封装nfc功能
例子只对cpu卡操作,若有需要可在mTechLists 添加,并在nfc贴卡自动响应部分进行操作处理public class NfcUtil { String TAG = "EtcModuleOperat"; //cpu卡的操作 private NfcAdapter mAdapter; private PendingIntent mPendingInte...原创 2020-05-06 18:14:18 · 1330 阅读 · 2 评论 -
Bitmap (二维码)图片下方居中添加水印、文本
添加日期 //Bitmap添加日期 public static Bitmap addText(Bitmap mBitmap){ //获取原始图片与水印图片的宽与高 int mBitmapWidth = mBitmap.getWidth(); //增加高度显示图片下方文本 int mBitmapHeight = mB...转载 2020-04-10 10:53:58 · 664 阅读 · 0 评论 -
Android 自定义缩短Toast显示时间
之前自己写了个缩短Toast显示时间的,后来发现有更简单的,是别人写的,我就弄上来给大家看看吧 private static void controlToastTime(final Toast toast, int duration) { new Timer().schedule(new TimerTask() { @Override ...转载 2020-01-08 15:05:28 · 232 阅读 · 0 评论 -
Android 自定义缩短Toast显示时间
我这个主要是缩短Toast显示时间,要延长时间的话,可自行更改废话不多说哈,见代码import android.content.Context;import android.os.CountDownTimer;import android.util.Log;import android.widget.Toast;public class ToastUtil { pri...原创 2020-01-03 11:11:05 · 726 阅读 · 0 评论 -
Failed to load C:\SDK\android-sdk-windows\build-tools\29.0.2\lib\dx.jar
Eclipse遇到如下错误:Failed to load C:\SDK\android-sdk-windows\build-tools\27.0.2\lib\dx.jar原因:国内现在可以访问的ADT版本是23.0.6,Google已经不再更新ADT了,这就会导致现有的ADT版本比SDK版本低。所以引用dx.jar时会失败。解决办法:将低版本的dx.jar文件替...原创 2019-11-25 20:29:08 · 3495 阅读 · 3 评论 -
Android Canvas绘制波浪图
瞎找了很多资料才知道怎么绘制波浪图,看了很多博客,都是高级的UI绘制,可惜我连简单的都不会,只能从简单的开始推荐两个我学习过程中找到的博客Android绘制波浪线https://blog.csdn.net/IT_XF/article/details/82798323猛猛的小盆友的博客https://juejin.im/user/5c3033ef51882524ec3a88ba/...原创 2019-09-28 02:49:56 · 807 阅读 · 0 评论