- 博客(188)
- 资源 (11)
- 收藏
- 关注
原创 Could not download hap-3.0.5.2-unshaded.jar (com.huawei.ohos:hap:3.0.5.2)
Could not download hap-3.0.5.2-unshaded.jar (com.huawei.ohos:hap:3.0.5.2)
2023-02-16 15:17:12
647
原创 ConstraintLayout,横向排列左右紧靠,左边长度自适应但不会顶掉右边
【代码】ConstraintLayout,横向排列左右紧靠,左边长度自适应但不会顶掉右边。
2022-11-17 22:53:42
1054
原创 如何解决ViewFlipper的onClick和onTouch的冲突事件
在Android中,对一个View同时调用OnTouch事件和OnClick事件时,导致事件冲突,比如onClick事件打算执行A动作,OnTouch事件打算执行B动作,但是在实际使用时会发现,当调用OnTouch时,有可能会同时执行A,B两个动作,这是因为OnClick事件本身就是在OnTouch事件中发生的;在onTouch事件中,如果返回true,就不会执行onClick,返回false,就同时执行onClick方法,要想把OnTouch和onClick事件完全的区分。
2022-10-20 11:01:00
1066
原创 Android Kotlin 限制输入框输入中英文和数字,并限制个数
需求输入框内只能输入中英文和数字,而且还要限制最多输入长度为18。方案可以使用InputFilter来过滤输入: //限制只能输入中文,英文,数字 val accountFilter = InputFilter { source, start, end, dest, dstart, dend -> val p = Pattern.compile("[0-9a-zA-Z|\u4e00-\u9fa5]+") val m =
2022-03-11 10:35:07
4268
原创 Kotlin初始化控件及点击监听事件
首先MainActivity的布局如下所示:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="
2022-02-18 16:59:37
1771
原创 dex2jar 和 jd-gui 的安装与使用
将APK直接解压(修改后缀名为.zip,然后解压)后,可以看到目录下包含一个classes.dex文件。如下图所示,是一个APK文件解压后得到的:若想要阅读该文件的内容,可以使用 dex2jar 和 jd-gui 工具。下面介绍这两种工具的安装及使用方法。一、安装dex2jar下载地址:dex2jar download | SourceForge.net。下载之后解压即可,如图:二、使用 dex2jar1. 将需要反编译的dex文件(这里是classes.dex)复制到.
2021-12-23 16:49:40
16415
3
原创 android TextView webView 显示 html table 标签内容
我想显示的html标签字符串如下:String s="<div><p>凤凰网港股港股通资金流向统计,9月27日,腾讯控股(00700.hk),美团-W(03690.hk),华润电力(00836.hk),南向资金净流入金额位列市场前三,分别净流入1125.70386百万,726.50990百万,361.71790百万。</p><table style=\"width: 100%; border-collapse: collapse; text-align: c
2021-10-11 14:57:48
1464
原创 Class“X“ is public, should be declared in a file named “X.java“
如下图所示,当类名和文件名不一致的时候就会出现这样的问题.这时只要把文件的名字改成和类名相同就好了.问题很低级,但是有时候猛一看可能不知所云.
2021-09-27 15:07:19
771
原创 more than one file was found with OS independent path ‘org/joda/time/tz/data/Europe/Dublin
AndroidStudio能编译成功,但是运行打包apk时失败,报如下的错误:我当时是在int环境(测试环境)经过一番查找终于找到原因:我app的build.gradle里面是这样写的:原来切到测试环境会编译进去两个依赖库如下图:在运行打包时就会出现冲突,把implementation(name: 'IMSDK', ext: 'aar')去掉就可以了...
2021-09-07 14:30:54
261
原创 @SerializedName注解
最近在和后台调试接口的时候看到后台返回的数据表示很无奈,如下所示:{ "Result": { "State": "200", "Msg": "成功" }, "Data": { "1": "100", "2": "CHECKED", "3": "UPDATE", "4": 201901021130, "5": 3.56 }}在Android开发中,使用第三方Gson包解析json成对象时默认的是将json文件里对应字段,解析到java代码里的属性字段里面。
2021-08-16 09:36:25
1749
原创 使用Toolbar/ActionBar自定义布局时,左侧/右侧有一段空白无法使用
今天写一个带有标题的布局时,标题栏的宽度不能填充满手机屏幕的宽度,布局如下所示:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-a
2021-08-13 14:51:51
292
原创 GsonFormat.jar下载与安装
GsonFormat.jar下载,解析json 在AndroidStudio上添加本地插件 选择该jar包即可
2021-07-09 09:33:17
1098
原创 Process ‘command ‘C:\Users\ysp\AppData\Local\Android\Sdk\build-tools\26.0.2\aapt.exe‘‘ finished with
今天从github上导入一个项目报如下的错误:在网上查找了很多方法也没解决,再仔细看下错误日志,发现是找不到v7 28.0.0下面的资源文件,但是我项目使用的v7包是26.0.1的,为什么会报找不到v7 28.0.0下面的资源文件呢,那肯定就是导入的依赖库造成的,我就去下载xframe源码结果发现在xframe的build.gradle下引入的高版本的v7包如下图这就很好理解了为什么会报错了,主程序是26的v7包,而依赖库是最新的v7包(也就是28的)导致两边的v7包版本不一致导致编译失败,
2021-02-26 14:49:21
363
原创 git中fatal: Authentication failed的问题
今天使用git拉取项目代码输错了一次账户和密码,然后就怎么也down不下来,直接报错。搜了下网上的解决方案:“git config –system –unset credential.helper”。但在我git上运行此命令会报错。到处清除缓存,也没啥作用,实在让人很无奈,最后终于在一篇文章找到了解决方法。fatal: Authentication failed就是凭证失败的意思,那么凭证失败自然想到的就是修改凭证了。win10下git的凭证存在windows系统,位置 控制面板点.
2021-02-18 10:41:44
1268
原创 Invoke-customs are only supported starting with Android O (--min-api 26)
今天添加了一个依赖库同步代码的时候报如下的错误:出现此问题是因为项目未设置Java8的支持,解决方案:在app的build.gradle的android节点下添加如下的代码: compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }如下图所示:...
2021-01-27 16:00:21
336
原创 Android studio git创建与删除标签(Tag)
git上的标签一般是用于标记版本,当发布新版本后,便将该版本的代码打上Tag,用以区别及管理使用标签前需要先将代码提交到远程仓库上创建并提交Tag远程端提交后:...
2020-12-29 16:35:34
566
2
原创 GitHub传代码错误fatal:Authentication failed for‘https://git……解决方法
今天往gitHub上提交代码时报如下的错误:在一次上传代码的时候,不知道修改Git登录密码需要重新认证这个情况,然后提交代码的时候提示了上面的那个错误,当时有点意外,毕竟第一次遇到这种问题,然后就搜教程开始解决,但是第一次尝试没有成功,后来又试了一次,解决可以正常上传提交代码了,步骤其实很简单,有如下的几种方式:方法一:git config --global user.name “xxx”git config --global user.email “xxx”方法二:git r.
2020-12-28 11:22:54
3455
原创 Error while executing: am start -n ““ -a android.intent.action.MAIN -c android.intent.category.LAUNC
今天改包名后,运行程序出现下面的错误:手动卸载了手机上的App,然后点击Android Studio的运行按钮就出现了上面的bug.死活运行不起来!尝试了clean project,对我无效如下图所示我改变了下app 中build.gradle的versionCode和versionName的值,同步一下代码就安装成功了...
2020-12-28 10:40:23
465
1
原创 Android RecyclerView 中多Item的EditText,RadioButton,CheckBox焦点混乱,数据错乱的解决方法
最近在做项目时,UI设计师给了一个设计图,添加多个人的信息时,item里面包含了EditText在填写姓名时出现数据混乱,如下图所示:RecyclerView中EditText的监听处理这个界面的主要逻辑是监听每个EditText的输入,然后保存到个人对象里,最后保存到服务器上。RecyclerView中Item里EditText的监听可以按如下代码实现:首先定义个回调接口: public interface OnTextChangeListener{ void onClic
2020-12-24 14:09:11
1352
5
原创 Android修改项目包名
因为工作需要,经常需要一套代码修改很多次包名,虽然不是什么技术活,经过几次痛苦的经历后,觉得有必要记录一番!将项目切换到Progject结构,查看java包名结构,一般是这样的点击show options menu按钮(小齿轮),如下图:去掉勾上的 Compact Middle Packages 和 Show Members 如下图java包的展示目录结构就改变了对于包名目录结构不改变的。就分别改各个层次对应的包名或者直接按快捷键 Shift + F6..
2020-12-21 15:36:17
191
1
原创 Android解决手机图片压缩后旋转问题
在Android APP开发中经常会有上传图功能,手机拍摄的照片大多都有2M - 5M,把这么大的图片上传上去是需要很长时间的,并且图片过大非常容易导致用卡顿甚至是OOM直接崩溃掉,那么为了优化性能就必须要做图片压缩处理,但是图片压缩后,显示在手机上的图片发生了旋转,解决方法也比较简单,下面直接把我的压缩工具类贴出来,以及多图片旋转的处理:/** * Created by ysp * on 2020/12/6 */public class ImageCompressUtils { /*
2020-12-09 23:23:42
2147
原创 Android图片压缩(质量压缩和尺寸压缩)
什么是质量压缩?质量压缩:将Bitmap对象保存到对应路径下是所占用的内存减小,但是当你重新读取压缩后的file为Bitmap时,它所占用的内存并没有改变,它会改变其图像的位深和每个像素的透明度,也就是说JPEG格式压缩后,原来图片中透明的元素将消失,所以这种格式很可能造成失真,即图片的质量压缩,会改变图片在磁盘中的大小(File文件的大小),不能改变图片在加载时,在内存中的大小。应用场景:图片的上传。什么是尺寸(采样率)压缩?尺寸压缩:将Bitmap对象的像素点通过设置采样率,减少Bitm
2020-12-09 23:06:06
1036
原创 java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourcePar
今天在写app新版本升级模块时报如下的错误:一般出现这个问题,就是provider配置中authorities的名称和具体引用时写的不一致,配置authorities时尽量使用包名,如下:具体的引用,也要很细心。尽量用getPackageName()来获取包名。包名后面的.provide也要和AndroidManifest.xml中的一致,不然还是会报空指针。但是我遇到的问题比这个复杂一些,我的项目中依赖了一个库,l库里面的代码用到了authorities。但...
2020-12-09 22:37:16
1849
原创 下载资源失败:FileDownloader http-state[412] {If-Match=
测试环境资源下载都是正常的,今天上线后,生产环境资源下载地址总是下载失败,抛出如下的异常:java.net.SocketException:Connectionfailedwithrequest[{If-Match=["5fc85ac7-18f0b"],Range=[bytes=0-],User-Agent=[FileDownloader/1.7.6]}]response[{null=[HTTP/1.1412PreconditionFailed],Connection=[keep-...
2020-12-04 00:09:32
1623
2
原创 Android 中JsBridge使用方式
近期在做一个项目,使用的是Native+H5的方式实现的。众所周知的是在Android中,Webview所实现的java与js的交互存在一些安全问题,并且这样的使用方式,没法让一套H5同时适配Android和iOS两个平台,因此,就需要有一个中间组件来实现js与本地的代码的交互,也就是JsBridg这里介绍下JsBridge第三方库的使用。github传送门:https://github.com/lzyzsd/JsBridge效果图如下:使用作者推荐方式1.首先在...
2020-11-25 14:49:41
3755
1
原创 android 如何用代码判断手机是否被root
直接上代码:public class RootUtils { public static boolean isDeviceRooted() { return checkRootMethod1() || checkRootMethod2() || checkRootMethod3(); } private static boolean checkRootMethod1() { String buildTags = android.os.Build
2020-08-13 10:37:28
1131
原创 java实现SHA256、SHA512、MD5加密
java.security.MessageDigest这个类里集成了sha256,sha512和md5的加密方法,一下方便了好多,代码如下:package com.example.myfirstkotlin.model;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;/** * Created by :YuShuangPing * Time:2020/7/29 10:58
2020-07-29 11:36:36
2942
原创 java 中使用RSA非对称性加密解密
加密和解密使用不同的密钥(公钥/私钥),非对称加密/解密的安全性是基于复杂数学难题,特点是运算复杂、速度慢,主要应用于金融、军事等重大机密的系统。使用RSA加密数据时需要使用密钥对,也就是一个公钥,一个私钥。如A、B双方发送数据,A生成密钥对,将公钥发送给B,A将数据用私钥加密后发送给B,而B用A提供的公钥对数据进行解密。如果是B向A发送数据,B用公钥加密数据并发送给A,A使用私钥对数据进行解密。非常重要的RSAUtils.java完整代码:package com.example.myfirs
2020-07-28 18:22:00
536
原创 android studio生成aar包并在其他工程引用aar包
什么是arr包?arr包是AndroidStudio下打包Android工程中的src、res、lib后生成的arr文件,arr包导入其他AndroidStudio工程后,其他工程可以方便引用源码和资源文件生成arr包步骤1.用AndroidStudio打开一个工程,然后新建一个Module,如下图:2.新建Module时候选择Android Library,后面按新建普通工程操作,如下图所示:3.新建Module类型为Android Library后,如下图所示:4..
2020-06-23 11:01:45
1336
原创 Cause:compileSdkVersion is not specified
今天以源码作为依赖库,编译时报如下的错误:原因是版本没有声明,打开库的build.gradle,复制项目的版本再重新编译就好了,如下所示:android { compileSdkVersion 28 buildToolsVersion "28.0.3"}...
2020-06-11 16:09:48
15255
1
原创 Duplicate zip entry [25.jar:com/mob/MobApplication.class
今天在项目中把微信分享的第三方库源码作为依赖库时编译时报下面的错误:Duplicate zip entry [25.jar:com/mob/MobApplication.class之前项目中是以aar的方式集成的这两个同时存在时造成了冲突
2020-06-09 16:32:18
292
原创 Android自定义矩形边框,圆角矩形边框(可以只定义其中某个边的颜色值)
关于边框画线问题,今天在这里做个总结方便自己记忆,也希望能够帮助大家全边的代码:<shape xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 主体背景颜色值 --> <solid android:color="#ff0000" /> <!-- 边框宽度和颜色值 --> <stroke android:w
2020-05-27 23:57:26
1502
原创 Invocation failed Unexpected end of file from server
AndroidStudio中GitHub将代码推送到远程仓库时失败错误如下图所示:分析原因:一般这种情况都是由于网络原因引起的解决的方法:断开网络重连,并且查看github账号是否正常连接,如果没有正常连接删除账号重新登录...
2020-05-25 18:08:27
3989
原创 java 一个List给另一个list 赋值问题
当我们想要仅仅复制一个List的值到另一个List时 你也许会这样做: List<String>list1=new ArrayList<>(); List<String>list2=new ArrayList<>(); list2=list1;我们来测试一下结果: List<String>list1=ne...
2020-05-08 11:47:43
1710
原创 美团Walle多渠道打包以及解决360加固丢失渠道信息问题
以前负责项目打渠道包时,都是使用传统的方式进行打包,自从发现美团的打多渠道包方式后,感觉少用了不少的时间美团新一代渠道包打包神器walle github地址下面我来说一下自己集成美团的多渠道打包方式,方便自己回顾,也希望能帮到大家我是美团wallegradle插件集成和360加固失效方案相结合使用的首先在当前App的build.gradle文件中添加上用于读取渠道号的AAR,并...
2020-04-17 16:05:53
1115
原创 python中的os.listdir(),os.listdir(.),os.listdir(..),os.listdir(path)的区别
1.为空时,默认为当前路径,返回当前路径下的文件名和文件夹名:os.listdir()2.返回当前目录下的文件名和文件夹名:os.listdir(.)3.当前上一级目录下的文件名和文件夹名:os.listdir(..)4.某一具体目录下的文件名和文件夹名:os.listdir(path)...
2020-04-15 22:58:54
1459
原创 Android实现跑马灯效果及问题解决
今天公司项目让实现一个跑马灯的效果,因为有用户反映总是忘记还款截至时间,于是就要求做一个单条文字横向滚动的效果,用于提示用户。GitHub上找了几个跑马灯的库,本以为可以实现自己想要的效果,不过这个库真心不错,推荐给大家:1.sunfusheng/MarqueeView这是扩展了ViewFlipper实现的。2.gongwen/MarqueeViewLibrary 这也是扩展了...
2020-04-07 22:33:35
3870
原创 Android的adb命令以及在dos下的一些操作
adb(Android Debug Bridge ):Android调试桥adb的作用:管理设备或者手机模拟器的状态。还可以进行很多手机操作,如安装软件、升级系统、运行shell命令等等。一、检查手机是否连接电脑成功:然后打开dos命令窗口,找到adb.exe所在的路径:查看设备 输入adb devicesapk的存放路径为:C:\Users\ysp\Deskto...
2020-03-31 14:00:05
493
原创 Java实现插入排序
原理: 1、将指针指向某个元素,假设该元素左侧的元素全部有序,将该元素抽取出来,然后按照从右往左的顺序分别与其左边的元素比较,遇到比其大的元素便将元素右移,直到找到比该元素小的元素或者找到最左面发现其左侧的元素都比它大,停止; 2、此时会出现一个空位,将该元素放入到空位中,此时该元素左侧的元素都比它小,右侧的元素都比它大; 3、指针向后移动一位,重复上述过程。每操作一轮...
2020-03-26 21:53:36
294
原创 java实现快速排序
最近在网上搜了很多关于快速排序的算法,感觉讲解的都不是太容易让人理解,最后终于找到了一篇简单易懂的,记录下来高快省的排序算法假设我们现在对“6 1 2 7 9 3 4 5 10 8”这10个数进行排序。首先在这个序列中随便找一个数作为基准数。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列中所有比基准数大的数放在6的右边,比基准数小的数放在6的左边,类似下面这种排列:3 1...
2020-03-26 21:53:20
188
JsBridgeDemo.rar
2020-11-25
MyWalleApplication.zip
2020-04-17
Android ImageView图片缩放功能
2018-12-01
Android Retrofit+ RxJava+MVP网络请求框架
2018-11-12
Android6.0动态权限简单处理方式
2018-11-05
Android直播功能
2018-11-05
模仿微博、微信、qq的高清图查看控件
2018-09-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人