码莎拉蒂 .
这个作者很懒,什么都没留下…
展开
-
Android之用新的签名文件对apk进行V3打包(apksigner命令方式)来解决签名不一致的升级问题
v1 签名实际上就是 JAR 签名的方案,它不会保护 APK 内的所有问题,存在安全和效率问题v2 签名是一种全文件签名方案,增加了 APK 签名块(APK Signing Block),但仍无法解决更换签名的问题v3 签名是 v2 的升级版,也被称为 v2+。在 V2 插入的签名块(Apk Signature Block V2)中,又添加了一个新快(Attr 块),它使用链表存储了所有的签名信息,验证时就像 CA 证书的证明过程。原创 2023-04-14 18:04:59 · 20812 阅读 · 3 评论 -
Android之微信sdk getWXApi().isWXAppInstalled()总是结果返回false
如果应用以 Android 11(API 级别 30)或更高版本为目标平台,在默认情况下,系统会自动让部分应用对您的应用可见,但会隐藏其他应用。3)com.android.tools.build:gradle 需要升级至 3.6.0 版本,建议升级至最新的 3.6.4 版本。1)Android Studio 需要升级至 3.3 及以上,建议升级至 4.0 及以上版本;通过让部分应用在默认情况下不可见,系统可以了解应向应用显示哪些其他应用,这样有助于鼓励最小权限原则。配置访问 微信,支付宝,QQ,微博。原创 2023-01-12 17:31:05 · 1883 阅读 · 0 评论 -
Android之启动奔溃提示异常java.lang.SecurityException: Permission Denial: startForeground
从Android 9 的迁移说明中:想要使用前台服务的应用必须首先请求FOREGROUND_SERVICE权限。这是普通权限,因此系统会自动将其授予请求的应用程序。未经许可启动前台服务会引发SecurityException。添加以下内容AndroidManifest.xml。适配Android高版本,启动奔溃,提示异常。这里直接加就行,不需要特殊申请。原创 2022-10-31 21:53:32 · 9534 阅读 · 1 评论 -
Android之webView打开http链接页面无法加载显示net:ERR_CLEARTEXT_NOT_PERMITTED
Android 9.0 默认使用加密连接,这意味着老旧项目在android 9.0 设备上运行,会遇到异常的情况。true:是否使用明文传输,android 9.0 默认情况下使用https,适配Android13后,webView打开http链接提示错误如下。具体配置在AndroidManifest.xml文件如下。原创 2022-10-31 21:39:47 · 10670 阅读 · 0 评论 -
Android之微信sdk getWXApi().isWXAppInstalled()总是结果返回false
如果应用以 Android 11(API 级别 30)或更高版本为目标平台,在默认情况下,系统会自动让部分应用对您的应用可见,但会隐藏其他应用。3)com.android.tools.build:gradle 需要升级至 3.6.0 版本,建议升级至最新的 3.6.4 版本。1)Android Studio 需要升级至 3.3 及以上,建议升级至 4.0 及以上版本;通过让部分应用在默认情况下不可见,系统可以了解应向应用显示哪些其他应用,这样有助于鼓励最小权限原则。配置访问 微信,支付宝,QQ,微博。原创 2022-10-29 23:00:57 · 9759 阅读 · 0 评论 -
Andriod之提示java.lang.SecurityException: getDataNetworkTypeForSubscriber导致程序奔溃
修改targetSdkVersion 33 适配Android13后4G网络环境被其它app拉起来提示这个异常。Android11 的权限有关,由于缺少该权限导致无法访问接口而提示安全异常。方法2:我们直接去掉这个函数都可以,直接判断网络是4G(有一定的误差)方法1:我们直接申请READ_PHONE_STATE就行。我们利用XXPermissions框架直接进行申请。我们定位到代码在这行函数。原创 2022-10-29 22:46:29 · 13150 阅读 · 0 评论 -
Android之解决JsonObject里面的JsonArray数据会有斜杠问题
Android之解决JsonObject里面的JsonArray数据会有斜杠问题原创 2021-12-22 21:58:46 · 3915 阅读 · 0 评论 -
Android之网络请求提示Cleartext HTTP traffic to dev*******.com not permitted
请求服务端网络错误提示错误如下Cleartext HTTP traffic to dev*******.com not permitted原创 2021-12-16 18:09:23 · 3362 阅读 · 0 评论 -
Android之SwipeRefreshLayout嵌套RecyclerView遇到的坑
1 、需求RecyclerView多布局里面加入SwipeRefreshLayout实现下拉刷新2、关键代码 <androidx.swiperefreshlayout.widget.SwipeRefreshLayout android:id="@+id/mainRefresh" android:layout_width="match_parent" android:layout_he原创 2021-11-03 21:08:07 · 4378 阅读 · 22 评论 -
Android之Dialog提示Unable to add window -- token is not valid; is your activity running?
1、问题Dialog奔溃提示Unable to add window -- token android.os.BinderProxy@b251dbc is not valid; is your activity running?2、解决办法传递context到dialog的时候,要记得先判断状态是不是isFinishing或者isDestroyed状态,这个时候就不要再去show相关的dialog了,如果不加这个条件,自测不会奔溃3、总结Android开发原创 2021-10-09 19:42:50 · 3806 阅读 · 8 评论 -
Andoroid之BottomNavigationView右上角添加红点布局和自动跳转到底部具体第几个Tab
一、需求BottomNavigationView右上角添加红点布局和自动跳转到底部具体第几个Tab我们知道BottomNavigationView是在google material里面的组件github地址如下:https://github.com/material-components/material-components-android二、效果图片爆照三、BottomNavigationView右上角添加红点布局关键代码实现.原创 2021-10-09 19:10:11 · 2500 阅读 · 0 评论 -
Android之BaseRecyclerViewAdpater(3.0.4版本)当页面第二次滑到底部的时候没有触发OnLoadMoreListener监听的onLoadMore函数
1 、问题BaseRecyclerViewAdpater(3.0.4版本)当页面第二次滑到底部的时候没有触发OnLoadMoreListener监听的onLoadMore函数,也就是梅如下监听的地方 adapter?.loadMoreModule?.setOnLoadMoreListener(object : OnLoadMoreListener { override fun onLoadMore() { Log.d(TAG,原创 2021-09-29 21:14:51 · 4481 阅读 · 136 评论 -
Android之底部Dialog里面放EditText点击布局顶上去效果
1、需求在底部Dialog里面放EditText点击,布局需要顶上去,不顶上去很烦。2、Dialog里面关键样式属性<item name="android:windowFullscreen">false</item>3、布局代码简单试下样式 <style name="DialogTheme" tools:ignore="DuplicateDefinition">原创 2021-09-29 20:50:00 · 4849 阅读 · 104 评论 -
Android之靠谱的获取本地相册图片
1、需要申请手机读写的权限AndroidMani.xml里面配置权限 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />我们一般采用RxPermission来申请权限RxPermissions(thi原创 2021-09-26 21:30:45 · 4617 阅读 · 45 评论 -
Android之实现点击布局缩小然后再放大动画
1、需求现在需要实现点击View先缩小然后再放大效果2、代码实现在res的anim目录下面,写anim_small.xml文件<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="false"> <scale原创 2021-09-26 19:19:17 · 2734 阅读 · 54 评论 -
Kotlin之集合排序(sortBy、sortByDescending)
1、Kotlin的集合排序 如果我们需要对一个集合里面的某个对象的一个字段进行排序,java的话需要实现一个比较器Comparator,Kotlin的针对集合里面的某个对象的一个字段进行排序非常简单,一行代码搞定。2、sortBy方法、sortByDescending方法1)、sortBy升序排列2)、sortByDescending降序排列测试代码如下data class Student(var name: String, var age: In...原创 2021-08-26 20:09:00 · 8324 阅读 · 77 评论 -
Android之解决NestedScrollView嵌套RecyclerView部分手机返回到这个页面Recyclerview顶部,而不是页面NestedScrollView顶部
1、问题NestedScrollView嵌套Recyclerview部分手机返回到这个页面Recyclerview顶部,而不是页面NestedScrollView顶部部分布局大致如下 <androidx.core.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" andro原创 2021-07-21 20:51:48 · 3405 阅读 · 40 评论 -
Android之实现多桌面图标app入口进入不同的页面,像2个独立运行的app一样,互不干扰。
1、需求Android实现2个图标app入口进入不同的页面,一个图标点击进去主app页面,一个图标点击直接进入app页面的里面一个子页面,两个图标功能点击效果独立,不能乱跳,副桌面图标然后返回也是直接返回,不能先返回到本地,就是感觉像2个独立运行的app一样,互不干扰。问题:网上看了很多Demo,都很简单,但是存在一个问题,就是当一个桌面图标点击打开app主体后,点击另外一个图标也会直接进入到本体app,不会跳到指定的页面,除非首次点击副图标桌面图标,才能跳指定的页面,但是这个时候点击主图原创 2021-07-16 17:59:37 · 4396 阅读 · 139 评论 -
Android之BaseQuickAdapter(3.0.4版本)给子view添加点击事件(helper.addOnClickListener(view))的函数没了
1、问题用BaseQuickAdapter给子view添加点击事件,以前都是在适配器里面这么写的helper.addOnClickListener(view),现在这个函数没了2、解决办法直接在适配器里面初始化调用 init { addChildClickViewIds(view) }然后不要再给view在适配器里面setOnClickListener{}了,不然上面添加的无效...原创 2021-07-15 17:00:49 · 4965 阅读 · 70 评论 -
Android之打开APP部分页面(Activity)的一瞬间手机状态栏会变成蓝色解决办法
一、问题我们在打开app部分页面的时候状态栏是蓝色的,一闪而过。二、原因和解决办法我们在AndroidManifest.xml给application配置主题,然后主题是这一样的 <style name="*****" parent="*****"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/col..原创 2021-07-15 16:11:36 · 3586 阅读 · 39 评论 -
Android之BottomNavigationView实现底部按钮水纹波效果
1、主要用法<?xml version="1.0" encoding="utf-8"?><layout > <data> </data> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" a原创 2021-07-09 18:04:12 · 3415 阅读 · 144 评论 -
Google登录提示错误码12501
1、问题google第三方登录,如果已经登录过的账号点击可以登录,但是添加新的谷歌账号的时候提示,错误码为12501,整个人都不好了。2、解决办法AndroidManifest.xml里加上了如下信息<meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/gp_login_client_id" />在strings原创 2021-07-08 15:57:28 · 5067 阅读 · 0 评论 -
Android之华为手机打开app奔溃提示java.io.FileNotFoundException: res/drawable/abc_vector_test.xml
1、问题新建立的项目,华为手机运行起来提示如下06-24 18:24:03.175 13314 13314 E AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.appsinnova.android.booming/com.appsinnova.android.picper.MainActivity}: android.content.res.Resources$NotFou原创 2021-06-24 18:34:46 · 3126 阅读 · 49 评论 -
Android之提示javax.net.ssl.SSLHandshakeException: Chain validation failed
1、问题个别手机用OkDownload下载Bilibili网址视频的时候下载失败,但是大部分手机下载没问题。在继承的DownloadListener4WithSpeed类的重写taskEnd函数里面。override fun taskEnd(task: DownloadTask, cause: EndCause, realCause: Exception?, taskSpeed: SpeedCalculator) { L.e("DownloadListenerWithSpeed原创 2021-05-19 17:58:50 · 5518 阅读 · 23 评论 -
Android之Fatal Exception: org.greenrobot.greendao.DaoException: Could not init DAOConfig
1 问题release apk运行奔溃提示错误如下Fatal Exception: org.greenrobot.greendao.DaoException: Could not init DAOConfig at org.greenrobot.greendao.h.a.<init>(DaoConfig.java:28) at org.greenrobot.greendao.b.a(AbstractDaoMaster.java:1)...原创 2021-05-18 19:23:01 · 2976 阅读 · 1 评论 -
Android之判断时间戳是不是今天
1 需求判断时间戳是不是今天2、工具代码 /** * 获取每日0点时间 * @return */ fun getTodayTime(timeStamp: Long): Long { val cal = Calendar.getInstance() cal.timeInMillis ...原创 2021-05-14 17:27:17 · 3817 阅读 · 35 评论 -
Android之简单的文件夹选择器实现
1、效果爆照2、代码实现前提需要保证app有读写权限activity_select_folder.xml文件如下<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" andr...原创 2021-05-12 17:57:47 · 3754 阅读 · 59 评论 -
Android之OkDownload里面的OKHttp提示java.lang.IllegalArgumentException: Invalid URL port: “image“
1 、问题release版本线上奔溃如下Fatal Exception: java.lang.IllegalArgumentException: Invalid URL port: "image" at okhttp3.t$a.a(HttpUrl.kt:63) at okhttp3.t$b.b(HttpUrl.kt:8) at okhttp3.y$a.b(Request.kt:5) at com.liulishuo.okdownload.j.原创 2021-04-20 20:12:29 · 4190 阅读 · 74 评论 -
Android之提示Failed to load WebView provider: No WebView installed
1 问题Fatal Exception: android.util.AndroidRuntimeException: android.webkit.WebViewFactory$MissingWebViewPackageException: Failed to load WebView provider: No WebView installed at android.webkit.WebViewFactory.getProviderClass(WebViewFactory.java:4原创 2021-04-20 19:17:44 · 5564 阅读 · 1 评论 -
Android之打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去
1 需求打开继承DialogFragment对话框里面EditText获取光标并且弹出键盘把底部布局顶上去2 效果爆照如下打开这个DialogFragment3 关键代码实现 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, ...原创 2021-04-14 20:49:25 · 3163 阅读 · 0 评论 -
Android之All children of ConstraintLayout must have ids to use ConstraintSet
1 问题Fatal Exception: java.lang.RuntimeException: All children of ConstraintLayout must have ids to use ConstraintSet at androidx.constraintlayout.widget.ConstraintSet.readFallback(ConstraintSet.java:459) at androidx.constraintlayout.motion原创 2021-04-02 18:15:52 · 2675 阅读 · 0 评论 -
Android之解决viewpage加载第3个fragment的时候,第一个fragment又重新构建问题
1 、问题viewpage加载第3个fragment的时候,第一个fragment又重新构建问题,感觉自己好傻逼的,不知道啥原因,原来是少了一个设置,加载旁边多少个fragment不销毁2 、解决办法viewPager.offscreenPageLimit = 33、推荐滑动页面万能的指示器框架https://github.com/hackware1993...原创 2021-03-29 22:22:52 · 2611 阅读 · 42 评论 -
Android之实现Room升级需要给一个表增加一个字段
1、需求Room升级数据库给一个表增加一个字段。2、Room升级介绍Room 持久化库中通过使用 Migration 类保存用户数据。每个 Migration 类指定起始版本和结束版本。在运行时,Room 运行每个 Migration 类的 migrate() 方法,使用正确的顺序将数据库迁移到后面的版本1、Android提供了一个名为Migration的类,完成Room的升级public Migration(in...原创 2021-03-21 22:55:15 · 6090 阅读 · 105 评论 -
Android之giide加载失败提示You can‘t start or clear loads in RequestListener or Target callbacks If you‘re t
1 问题用glide进行加载视频数据的时候,加载错误了再用glide进行加载一次,代码如下 var iv = helper.getView<ImageView>(R.id.download_iv) iv?.let { val transform = RoundedCornersTransform(mContext, UnitUtils.dip2px(mContext, 12.t原创 2021-03-21 00:07:26 · 3160 阅读 · 0 评论 -
Android之okdownload下载提示奔溃Expected URL scheme ‘http‘ or ‘https‘ but was ‘data‘
1 问题客户现场奔溃在firebase上面提示错误信息如下Fatal Exception: java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but was 'data' at okhttp3.t$a.a(HttpUrl.kt:38) at okhttp3.t$b.b(HttpUrl.kt:8) at okhttp3.y$a.b(Request.kt:5)原创 2021-03-20 12:03:11 · 4467 阅读 · 42 评论 -
Android之替换App桌面图标
1、需求需要动态替换app在桌面的图标2、解决办法1)、在AndroidManifest.xml里面进行配置多个启动的alias别名启动的activity <activity android:name=".ui.SplashActivity" android:launchMode="singleTop" android:screenOrie...原创 2021-03-10 21:05:42 · 3532 阅读 · 0 评论 -
Android之解决webview加载第三方网页点击弹不出下拉框(html页面里面的select标签)
1 问题决webview加载第三方网页点击弹不出下拉框(html页面里面的select标签),我们访问youtube.com官网,点击网站的视频,点击视频右上角三个点设置,然后点击 播放设置然后点击画质 弹不出选项框,没反应。2 原因初始化webview传递的Context上下文是传递Application的上下文content导致3 解决办法初始...原创 2021-03-10 20:13:04 · 2983 阅读 · 0 评论 -
Android之升级OkHttp编译提示错误如下Using ‘body(): ResponseBody?’ is an error. moved to val
1 问题升级okHttp库,编译项目错误如下Using ‘body(): ResponseBody?’ is an error. moved to val2 解决办法原来的代码val list = response.body().string()去掉()就可以了val list = response.body.string()...原创 2021-03-04 22:09:53 · 3405 阅读 · 1 评论 -
Android之提示订阅配置订阅需要传新的包 添加结算权限。
1 问题apk上google应用市场,然后开通支付商品,错误提示如下2 解决办法AndroidManifest.xml里面添加谷歌支付权限<!-- google pay --> <uses-permission android:name="com.android.vending.BILLING" />...原创 2021-02-24 10:16:10 · 2612 阅读 · 0 评论 -
Android之靠谱的Activity从底部向上弹出,finish从顶部向下消失(不黑屏)
1 、需求要求Activity从底部向上弹出,finish从顶部向下消失(不黑屏)2、解决办法准备3个动画xml文件app_bottom_in.xml<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"> <translate ...原创 2021-02-21 14:50:29 · 2752 阅读 · 0 评论