![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
开发代码
安卓AndroidQ
关注,有好技术分享
展开
-
Jenkins实现Android自动化打包
https://blog.csdn.net/zhaoyanjun6/article/details/77102359原创 2021-02-21 11:27:27 · 125 阅读 · 0 评论 -
Android (Android Studio) 中使用Sonar进行代码质量分析
在项目根目录下的build.gradle文件中(新增部分)配置如下// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { repositories { google() jcenter() } dependencies { classpath "com.an原创 2021-02-21 10:54:03 · 554 阅读 · 0 评论 -
Android WebSocket实现即时通讯功能
最近做这个功能,分享一下。即时通讯(Instant Messaging)最重要的毫无疑问就是即时,不能有明显的延迟,要实现IM的功能其实并不难,目前有很多第三方,比如极光的JMessage,都比较容易实现。但是如果项目有特殊要求(如不能使用外网),那就得自己做了,所以我们需要使用WebSocket。WebSocketWebSocket协议就不细讲了,感兴趣的可以具体查阅资料,简而言之,它就是一个可以建立长连接的全双工(full-duplex)通信协议,允许服务器端主动发送信息给客户端。Ja.转载 2020-12-24 16:25:30 · 765 阅读 · 1 评论 -
flutter的RaisedButton按钮的onPressed事件的写法
onPressed: () => Navigator.push(context, MaterialPageRoute(builder: (context) => WebSocketRoute())),),onPressed: () { Navigator.push(context, MaterialPageRoute(builder: (context) => WebSocketRoute()));),lamuda写法逗号结尾大括号写...原创 2020-12-23 10:04:06 · 861 阅读 · 0 评论 -
RecyclerView选中项居中(横向、竖向),指定位置置顶(竖向)
需要实现对LinearLayoutManager的重写中间显示类import android.content.Context;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.LinearSmoothScroller;import android.support.v7.widget.RecyclerView;import android.util.DisplayMet原创 2020-12-10 17:19:33 · 1470 阅读 · 1 评论 -
NestedScrollView嵌套RecyclerView最后一条item显示不全
首先要在最外层的NestedScrollView配置属性android:fillViewport="true": <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true">然后在上层Java代码,设置Recy.原创 2020-12-09 23:25:46 · 553 阅读 · 0 评论 -
自定义生成圆点的bitmap,纯色圆点
/** * 创造圆点,bool 是否异常 */private Bitmap createBitmapPoint(String color) { Bitmap pointbmp = Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888); final Canvas canvas = new Canvas(pointbmp); final Paint paint = new Paint(); final Rect rect.原创 2020-12-01 16:11:29 · 301 阅读 · 0 评论 -
ScrollView实现滚动到顶部和底部的判断和监听
自定义ScrollView:public class CustomScrollView extends ScrollView { //回调监听接口 private OnScrollChangeListener mOnScrollChangeListener; //标识是否滑动到顶部 private boolean isScrollToStart = false; //标识是否滑动到底部 private boolean isScrollTo原创 2020-11-06 17:29:26 · 740 阅读 · 0 评论 -
GPS、谷歌、百度、高德坐标相互转换
javapublic class GPSUtil { public static double pi = 3.1415926535897932384626; public static double x_pi = 3.14159265358979324 * 3000.0 / 180.0; public static double a = 6378245.0; public static double ee = 0.00669342162296594323原创 2020-10-27 09:08:29 · 600 阅读 · 0 评论 -
在Android Studio下如何引用*.jar、*.aar和.so文件
引用.jar文件在新建项目时,Android Studio已经默认支持jar文件的引用了,因为有了如下这句话: implementation fileTree(dir: 'libs', include: ['*.jar'])所以要引用.jar文件,只需将jar包复制到libs下,然后sync一下gradle文件就好。或者,直接在jar文件上鼠标右击->add As Libary…引用.aar文件首先,添加:repositories { flatDir...原创 2020-10-22 15:38:29 · 660 阅读 · 0 评论 -
通过包名获取apk安装路径
在apk中获取自身安装路径:getPackageResourcePath();在apk中获取其他已知包名apk的安装路径:getPackageManager().getApplicationInfo(packageName, 0).sourceDir;主要查看PackageManager.java和ApplicationInfo.java这两个文件即可。...原创 2020-10-21 23:39:18 · 1870 阅读 · 0 评论 -
Android自定义Behavior
先上效果图:Behavior是CoordinatorLayout的一个泛型抽象内部类,所以给子view添加layout_behavior属性是来自于它。实现过程:在CoordinatorLayout父控件中,滚动NestedScrollView,使AppBarLayout也随之显示隐藏,通过我们的自定义behavior,监听AppBarLayout的位置,来对底部菜单栏的位置高度作相应的改变。github代码直通车布局文件代码:<?xml version="1.0".原创 2020-10-16 11:00:41 · 727 阅读 · 0 评论 -
Android性能优化之UncaughtExceptionHandler定制自己的错误日志系统
前言:每当我们app测试的时候,测试人员总是对我们说这里崩溃了,那里挂掉了!我们只能默默接受,然后尝试着重现bug,更可悲的是有时候bug很难复现,为了解决这种现状所以我们要尝试这建立一个自己的bug日志系统。实现原理:Java为我们提供了一个机制,用来捕获并处理在一个线程对象中抛出的未检测异常,以避免程序终止。我们可以通过UncaughtExceptionHandler来实现这种机制。具体实现:public class CrashManager implements Unc.原创 2020-10-10 13:45:55 · 201 阅读 · 1 评论 -
再见,Android JNI 封装
1 前言 2 JNI 速查表 2.1 Java 和 Native 数据类型映射表 2.2 引用类型 3 JNI 理论基础速览 4 JNI 常用场景示例 4.1 字符串传递(java->native) 4.2 字符串返回(native->java) 4.3 数组传递(java->native) 4.4 其他复杂对象传递(java->native) 4.5 复杂对象返回(native->java) 4.6 复杂数组对象返回(native-&..原创 2020-10-10 13:28:35 · 429 阅读 · 0 评论 -
android studio 中使用kotlin开发语言的配置
apply plugin: 'com.android.application'apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android { compileSdkVersion 28 buildToolsVersion "29.0.2" defaultConfig { applicationId "com.ly.autoscrolllayout" .原创 2020-09-24 14:52:45 · 533 阅读 · 0 评论 -
MD5、SHA所支持的加密算法,加盐处理
SHAUtils工具类 提供5种SHA的算法和加盐处理import android.support.annotation.Nullable;import android.support.annotation.StringDef;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.HashMap;import java.util.Random;.原创 2020-09-16 23:54:19 · 1008 阅读 · 0 评论 -
Android studio 项目application和library中引用aar代码资源包的方式
如果是在application中引用在app的gradle的根目录添加设置repositories { flatDir { dirs 'libs'//this way we can find the .aar file in libs folder }}如果是在library中也有引用则app的gradle的设置要修改成为repositories { flatDir { dirs 'libs', '../library模原创 2020-09-09 17:28:33 · 828 阅读 · 0 评论 -
Android 11 适配实践指南
前言最近看到一条新闻,Android 11(version 30,Andorid R)最终Beta版如期发布,看到这个新闻我知道我不能再拖了,再不好好准备好迎接Android11的到来,到时候迎接我的就是客户的指责,甚至老板的一封休书了 。今天就和大家一起看看Android11到底改了些什么,以及最重要的,我们需要怎么适配?targetversion不改到30,是不是就不用适配了呢?以下我分为两部分讲述,分别是以Adnroid11 为目标版本的应用(targetSdkVersion>.原创 2020-09-07 15:58:40 · 2855 阅读 · 0 评论 -
RecyclerView选中Item滚动到屏幕中间 / 指定位置,滚动切换的时间保持一致
类似京东的分类,点一个处在中间,滑动的时间相同自定义LinearLayoutManager public static class CenterLayoutManager extends LinearLayoutManager { static int lastPositon = 0; static int targetPosion = 0; public CenterLayoutManager(Context context, int orie.原创 2020-08-26 23:20:54 · 1239 阅读 · 0 评论 -
Banner 3D效果 左右有缩小的图片边缘 中间图正常(旋转木马/缩放轮播图效果)
动画类import android.support.v4.view.ViewPager;import android.view.View;public class TransformerZoomGallery implements ViewPager.PageTransformer { private static final float MAX_SCALE = 1.0f;//0缩放 private static final float MIN_SCALE = 0.85f;/原创 2020-08-14 09:45:06 · 675 阅读 · 0 评论 -
Glide裁剪图片、边框的用法
RequestOptions options = RequestOptions.bitmapTransform(new CircleCrop()); Glide.with(edu_attention_item_img) .load("url") .error(res) .placeholder(res).apply(options).into(img); Rounde...原创 2020-08-13 10:12:11 · 553 阅读 · 0 评论 -
Android 整个页面监听如果键盘弹起来,页面上的响应事件前需要先关闭键盘的处理方法(如搜索页面)
找到布局最外面的控件,然后自定义一个这个控件,重写里面的一个方法,然后从外面传入一个Activity @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (context != null) { boolean isKey = isSoftShowing(context); if(isKey){ hideSoftInput原创 2020-08-07 16:34:04 · 179 阅读 · 0 评论 -
Android - ImageView图形不断旋转的动画(例如音频播放的旋转)
1. res下建立一个动画文件夹anim2. anim文件夹下面建立名称为:rotaterepeat动画xml文件 <?xml version="1.0" encoding="utf-8"?><setxmlns:android="http://schemas.android.com/apk/res/android"><rotateandroid:duration="1000"an...原创 2020-08-07 11:09:12 · 868 阅读 · 0 评论 -
inline-block 布局
inline-block 布局你可以使用inline-block来布局。有一些事情需要你牢记:vertical-align属性会影响到inline-block元素,你可能会把它的值设置为top。 你需要设置每一列的宽度 如果HTML源代码中元素之间有空格,那么列与列之间会产生空隙nav { display: inline-block; vertical-align: top; width: 25%;}.column { display: inline-bl...原创 2020-07-21 14:09:51 · 137 阅读 · 1 评论