检查androidx.core:core-ktx包的版本是否指定,没有指定版本需要指定版本号。原因与字符串数组有关。在你的string.xml检查你是否有空 或类似的东西。
【代码】Compose中的定时器。
【代码】Compose基础示例(列表,状态,Image,Text Field, 定时器)
无障碍服务,科大讯飞, 热词注册,WindowManager,点击穿透效果,反射,AccessibilityNodeInfo.AccessibilityAction.ACTION_SET_PROGRESS
透明主题,进场动画,由下往上动画
【代码】string-array嵌套获取值为null的问题。
介绍[x] Binder由四部分组成:Binder客户端、Binder服务端、Binder驱动、服务登记查询模块。Binder客户端是想要使用服务的进程。Binder服务端是实际提供服务的进程。Binder驱动:1.客户端先通过Binder拿到一个服务端进程中的一个对象的引用, 2.通过这个引用,直接调用对象的方法获取结果。 3.在这个引用对象执行方法时,它是先将客户端方法调用的请求传给Binde
文章目录idmap开发者模式正常主题monkey自测查看广播队列日志不显示shared_prefs
import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint;import android.graphics.Path;import
平板开发屏幕尺寸获取异常导致应用启动页面失真问题在activity的onCreate方法中,setContentView之前监听ViewTreeObserver.OnGlobalLayoutListener的接口动态修改自己应用离屏幕边界的距离一般来说,在onCreate时我们是无法拿到View的高度和宽度的,当全局布局状态或视图树中视图的可见性发生更改时,可以听过监听这个接口来获取高度和宽度
文章目录 JNI中native方法注册 native方法静态注册 native方法动态注册 数据类型转换 方法签名: 使用javap自动生成方法签名 JNIEnv JNI中native方法注册 jni是Java Native Interface的缩写,Java本地接口,是Java与其他语言(native语言)通信的桥梁Native方法注册分为静态注册(多用于NDK开发)
文章目录 概述: Socket和浏览器通信 连接和通信 Socket保持连接通信 概述: ServerSocket类 TCP协议,服务器端,通过serveSocket.accept();方法获取socket实例Socket类 TCP协议 通过new Socket()获取实例,创建Socket对象的时候则需要声明一个IP地址和ServerSocket对象的端口号,这样才能对服务端
* Where:Initialization script 'C:\Users\Administrator\AppData\Local\Temp\TestTest_main__.gradle' line: 21 * What went wrong:A problem occurred configuring project ':app'.> Could not creat
文章目录Lifecycle原理介绍Lifecycle对Activity生命周期监听Lifecycle对Service生命周期监听ProcessLifecycleOwner监听APP的前后台Lifecycle原理介绍Jetpack为我们提供了两个类,LifecyleOwner(被观察者)和LifecyleObserver(观察者),通过观察者模式实现对页面生命周期的监听。Lifecycle对Activity生命周期监听绑定activity的生命周期class LifeCycleListene
文章目录navigation的主要元素navigation的主要元素Navigation Graph 一种xml资源文件,包含应用所有的页面以及页面之间的关系,也就是fragment的放置的地方,NavHostFragement 一种特殊的fragment, 可以理解为fragment的容器,是fragment展示UI的地方,Navigation Graph中的fragment通过NavHostFragement展示...
文章目录ViewModel介绍ViewModel实例化ViewModel源码创建使用ViewModel与onSaveInstanceState()的区别ViewModel介绍ViewModel将页面所需的数据从页面剥离出来,页面只需要处理用户交互和展示数据。是介于View(UI)和Model(数据)之间的桥梁,使得视图和数据既能够分开,又可以保持通信。ViewModel 独立于配置变化之外,例如activity旋转时页面会重建,生命周期也会结束后重新开始,但是这期间并不会影响ViewModel的生命
标题类似 More than one file was found with OS independent path ‘META-INF’app的build.gradle中添加剔除android{ packagingOptions { exclude 'META-INF/**' exclude 'lib/arm64-v8a/libmediaplayer.so' }}
自定义view样色色差问题自定义view在动态设置颜色的时候可能UI显示的效果和自己设置的值不一样,这个就是你的view中颜色层叠方式不太对,使用 Paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.DST_OVER));给画笔这个Xfermode,各种效果如下图所示完整自定义view仿照电池充电时电量的自定义view...
查看错误信息:gradlew compileDebugSources.\gradlew compileDebug --stacktrace.\gradlew compileDebugSources 查看依赖gradlew :app:dependencies 查看依赖关系./gradlew :app:dependencies –configuratio...
<?xml version="1.0" encoding="utf-8"?><selector xmlns:tools="http://schemas.android.com/tools" xmlns:android="http://schemas.android.com/apk/res/android" tools:ignore="MissingDefaultResource"> <item android:state_enabled="false"
android:fillViewport 属性解决ScrollView高度不能充满全屏的问题 <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" android:scrollbars="none" >...
文章目录古典密码学移位式加密替换式加密现代密码学对称加密⾮对称加密签名与认证:hash算法编码和解码Base64编码URL 使⽤的百分号编码压缩与解压缩编码序列化古典密码学起源于古代战争:在战争中,为了防⽌书信被截获后重要信息泄露,⼈们开始对书信进⾏加密。移位式加密如密码棒,使⽤布条缠绕在⽊棒上的⽅式来对书信进⾏加密加密算法:缠绕后书写 密钥:⽊棒的尺⼨替换式加密按规则使⽤不同的⽂字来替换掉原先的⽂字来进⾏加密。现代密码学可以加密任何⼆进制数据⾮对称加密的出现使得密码学
文章目录资源统一资源统一尽量一个项目使用同一套资源,对于绝大对数APP来说,只需要取一套设计图就足够了。鉴于现在分辨率的趋势,建议取720p的资源,放到xhdpi目录。相对于多套资源,只使用720P的一套资源,在视觉上差别不大,很多大公司的产品也是如此,但却能显著的减少资源占用大小,顺便也能减轻设计师的出图工作量了。不是xhdpi的目录都删除,而是强调保留一套设计资源就够了。资源图片引入前先进行压缩,不使用原图,...
文章目录需要的工具反编译方法过程需要的工具下载地址:链接:https://pan.baidu.com/s/1kEvmRyTQUp7ujnvsfELJZA 提取码:sb8m 复制这段内容后打开百度网盘手机App,操作更方便哦apktool 资源文件获取, 可以提取出图片文件和布局文件进行使用查看dex2jar 将apk反编译成java源码,将classes.dex转化成 .jar文件jd-gui 查看APK中classes.dex转化成出的 .jar文件,即源码文件反编译方法过程
<RelativeLayout android:id="@+id/rl_progress" android:layout_width="match_parent" android:layout_height="0dp" android:gravity="center_horizontal"...
文章目录实现效果使用版本RecyclerView.Adapter获取本地数据recycleview合并显示多个adapter通过协程显示请求网络数据retrofit封装类实现效果目的就是方便的将多种格式的列表在一个adapter中使用使用版本androidx扩展包下的recyclerview 1.2以上版本新增了一个MergeAdapter的api,An RecyclerView...
传参 ARouter.getInstance() .build(RouterConstant.SERVER_TION_INDICATOR_LAMP) .withObject("ownerDashBoard",object) .navigation() 参数类不能...
文章目录Matrix Android ApkChecker创建的文件生成的文件Matrix Android ApkCheckerhttps://github.com/Tencent/matrix/wiki/Matrix-Android-ApkChecker jar包下载地址:https://jcenter.bintray.com/com/tencent/matrix/matrix-apk-canary/0.6.5/matrix-apk-canary-0.6.5.jar 创建检测报告
fun Int.dpToPx(displayMetrics: DisplayMetrics): Int = (this * displayMetrics.density).toInt()fun Int.pxToDp(displayMetrics: DisplayMetrics): Int = (this / displayMetrics.density).toInt()使用10.dpToPx(context.resources.displayMetrics)
<Switch android:id="@+id/switch_bluetooth" android:layout_width="wrap_content" android:layout_height="31dp" android:switchMinWidth="51dp" app:layout_constraintRight_toRightOf="parent"...
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号