使用技巧
马占柱
Android行业多年软件开发经验,从事多年移动App开发,涉及医疗健康、商城、聊天、代驾打车、特种设备防护、公安边检查验领域;目前从事汽车车载系统开发工作。
展开
-
记录Gradle project sync failed 问题解决方案
1、打开setting2、找到如下设置3、选择java 15!!!然后进行重启就可以运行了到下班点了,今天整的差点没下班~原创 2024-04-15 19:12:40 · 303 阅读 · 0 评论 -
Gradle各版本下载地址
只需将后面的版本号修改即可。原创 2024-04-15 17:54:35 · 354 阅读 · 0 评论 -
recyclerview滚动辅助器,每次横向滚动展示完整的item
RecyclerView在24.2.0版本中新增了SnapHelper这个辅助类,用于辅助RecyclerView在滚动结束时将Item对齐到某个位置。特别是列表横向滑动时,很多时候不会让列表滑到任意位置,而是会有一定的规则限制,这时候就可以通过SnapHelper来定义对齐规则了。原创 2024-01-18 13:58:07 · 668 阅读 · 0 评论 -
APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。
APP 备案公钥、签名 MD5、SHA-1、SHA-256获取方法。原创 2023-10-15 16:03:01 · 1177 阅读 · 0 评论 -
安卓开发实用小技巧——Android禁止多点触控
禁用全局多点触控原创 2023-06-18 11:24:36 · 1120 阅读 · 0 评论 -
命令行生成Android jks签名文件并获取jks信息
Java keytool是密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。它还允许用户储存他们的通信对等者的公钥(以证书形式)。在Terminal输入以下命令,可查看keytool所有命令选项。这里来一个流程示范,仅供参考,正式发布签名不建议这样写。使用keytool生成签名文件。Terminal控制台输出如下。查看keytool的参数说明。下面是一个完成的创建流程。原创 2023-05-05 07:41:15 · 1568 阅读 · 1 评论 -
17个XML布局小技巧
如上,本文一共介绍了17个在日常编写xml的过程中对提升效率和提升性能的属性,如果你也有心得,欢迎评论补充。转载 2022-10-08 08:58:55 · 424 阅读 · 0 评论 -
没错,TheRouter 是我写的
补充:没错,货拉拉开源的路由库 —— TheRouter 是我写的大约在17年底到18年初的时候,我经常会讲一些当时做模块化开发的心得和踩坑历程。比如这几篇都是那时候写的:《》、《》、《》。但后来我慢慢不讲这些了,因为我发现做模块化,虽然我们能总结出来一套较为通用的解决方案,但很难通过几次短短的技术分享就跟别人讲清楚。并且很容易让人产生误解:我们是小公司,不需要做模块化。再加上因为当时是基于公司已有的基础建设,和制度的一些限制,并不能对外开源一套较为完善的模块化方案,这个种子就一直埋下了。转载 2022-09-26 16:12:00 · 266 阅读 · 0 评论 -
Glide加载https图片时 忽略证书校验
Glide加载https图片时 忽略证书校验原创 2022-09-20 11:08:18 · 1080 阅读 · 0 评论 -
BaseQuickAdapter与recycler版本冲突导致setOnItemClickListener报错!
BaseQuickAdapter设置setOnItemClickListener报错原创 2022-07-19 16:56:33 · 1543 阅读 · 1 评论 -
网络请求日志拦截器【直接可用】
网络请求中的拦截器,任意可用,我是从okgo里面拷贝出来的,还是不错的 使用的时候如下:完整使用如下,我用的是Retrofit,可以直接使用我的网络工具类也行:原创 2022-07-07 17:09:25 · 754 阅读 · 0 评论 -
安卓开发中英文切换需求
其实不止是中英文,只是这个比较有代表性,什么语言都可以切换。安卓里面控制语言就是新建包,在res里面新建values-zh-rCN和values-en-rUS,zh代表的是中文,en代表的是英文。把strings相对应的内容复制过去。我把我的代码粘一下;(注: 要将目录展示由Android切换为Project,再新建包,否则新建包后无法显示新建的values包)zh里面就正常写中文就行。布局很简单,就一个按钮。现在距离实现中英文切换已经快了。在MainActivity中写上在按钮绑定的事件:...原创 2022-07-07 15:06:30 · 603 阅读 · 0 评论 -
Fragment 中的常用方法 isAdded()、isVisible()、isHidden()、isRemoving()、isResumed()、 isInLayout()
Fragment 中的常用方法 isAdded()、isVisible()、isHidden()、isRemoving()、isResumed()、 isInLayout() 等详解原创 2022-06-23 16:21:42 · 1024 阅读 · 0 评论 -
自定义get set方法
首先点击这里然后接下来点击+号自定义get set模式【名字无所谓,随便取,但是别太随意了哈,不然以后自己都蒙蔽】重新书写get set方法【这是我的,可以直接拷贝可用】#if($field.modifierStatic)static ###end$field.type ###set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier.原创 2022-01-12 16:19:05 · 410 阅读 · 0 评论 -
安卓查看任意当前运行App所显示的Activity的包名
1、进入adb所在目录或者是直接cmd输入查询代码:adb shell "dumpsys window | grep mCurrentFocus"结果如下:如果需要跳转过去的话:/** * 跳转到指定应用的指定页面 */ private void showActivity(@NonNull String packageName, @NonNull String activityDir) { try { In.原创 2022-01-07 13:43:56 · 5384 阅读 · 0 评论 -
安卓获取进程、服务、任务列表、获取已经安装的所有应用、根据包名卸载应用
获取进程列表,需使用ActivityManager中的方法获取进程名;再根据进程名,获取应用程序的ApplicationInfo对象;用ApplicationInfo中的方法为进程加载图标和程序名称。获取服务、任务列表方法同上。实例化ActivityManagerprivate ActivityManager mActivityManager;mActivityManager=(ActivityManager)getSystemService(ACTIVITY_SERVICE);获取各列表原创 2022-01-05 09:59:06 · 1388 阅读 · 0 评论 -
监听系统开屏、锁屏、解锁、按下home键、按下多任务键【未完待续】
ScreenReceiverUtil工具类/** * Author : 马占柱 * E-mail : mazhanzhu_3351@163.com * Time : 2021/9/22 9:40 * Desc : 锁屏解锁的广播动态注册监听 */public class ScreenReceiverUtil { private Context mContext; private SreenBroadcastReceiver mScreenReceiver; .原创 2022-01-04 12:04:03 · 423 阅读 · 1 评论 -
聊一聊Android开发利器之adb
学无止境,有一技旁身,至少不至于孤陋寡闻。adb的全称为Android Debug Bridge,通过adb可以方便我们调试Android程序。作为移动端开发相关的同学,掌握所需要的adb操作命令是非常必须的,就把平时工作中用得相对比较多的adb命令做个梳理。(日常中把adb操作命令搭配shell alias使用起来更方便)ADB常用命令1.启动/停止adb server命令adb start-server //启动命令adb kill-server //停止命令2..转载 2021-12-07 15:25:29 · 523 阅读 · 0 评论 -
全局手动捕获崩溃异常错误CrashHandler【工具类直接可用】
废话不多哔哔,直接上工具类/** * 全局捕获异常 * 当程序发生Uncaught异常的时候,有该类来接管程序,并记录错误日志 */public class CrashHandler_Ma { public static String TAG = "MyCrash"; // 用来存储设备信息和异常信息 private static Map<String, String> map = new HashMap<>(); //使用volati原创 2021-11-26 16:17:58 · 868 阅读 · 0 评论 -
史上最全ConstraintLayout(约束布局)使用详解
ConstraintLayout 是一个使用“相对定位”灵活地确定微件的位置和大小的一个布局,在 2016 年 Google I/O 中面世,它的出现是为了解决开发中过于复杂的页面层级嵌套过多的问题——层级过深会增加绘制界面需要的时间,影响用户体验,以灵活的方式定位和调整小部件。从 Android Studio 2.3起,创建layout文件就已经是默认ConstraintLayout了,但是尽管Google如此大力推这项技术,但在当时很少有人使用,近些年逐渐被大家拿起来,啊真香!(此处无图胜有图)。.转载 2021-11-15 15:28:18 · 497 阅读 · 0 评论 -
Unicode工具类
中文转unicode编码 VSunicode编码转中文/** * Author : 马占柱 * E-mail : mazhanzhu_3351@163.com * Time : 2020/10/19 14:30 * Desc : Unicode工具类 */public class UnicodeUtils { //使用volatile关键字保其可见性 volatile private static UnicodeUtils instance = null; ..原创 2021-10-19 14:33:37 · 262 阅读 · 0 评论 -
高德经纬度纠偏处理
private void startGDlocation() { if (mClient != null) { mClient.stopLocation(); mClient.onDestroy(); mClient = null; } mClient = new AMapLocationClient(App.context); AMapLocationClientOpt.原创 2021-06-07 18:50:46 · 1145 阅读 · 2 评论 -
Scheme协议【浏览器唤醒APP】
什么是 URL Scheme?android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。URL Scheme应用场景: 客户端应用可以向操作系统注册一个 URL scheme,该 scheme 用于从浏览器或其他应用中启动本应用。通过指定的 URL 字段,可以让应用在被调起后直接打开某些特原创 2021-04-21 13:36:49 · 4344 阅读 · 0 评论 -
安卓超链接工具类
/** * Create by Mazhanzhu on 2020/9/9 * textview 超链接工具类 */public class TextViewUtils { public interface OnClickListener { void onListener(View view, String url); } public static void setTxt(TextView tv, String html, OnClickListene.原创 2021-02-23 10:00:52 · 191 阅读 · 0 评论 -
SharedPreferences工具类(SPUtils)
package xiaodan.www.amor_love.Utils;import android.content.Context;import android.content.SharedPreferences;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;i...原创 2018-05-03 15:41:04 · 404 阅读 · 0 评论 -
两个经纬度点之间计算距离【经纬度距离计算】
public class Distance { private static final double EARTH_RADIUS = 6378137.0; public static void main(String[] args) { double lo1 = 108.90, la1 = 34.1;// 第一个经纬度 double lo2 = 115.4648060, la2 = 38.8738910;// 第二个经纬度.原创 2021-02-02 11:03:51 · 913 阅读 · 0 评论 -
Android 修改屏幕亮度方案
本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、获取系统Settings 中的亮度二、修改APP界面屏幕亮度,不会影响其他APP三、修改系统Settings 中屏幕亮度,影响所有APP四、完整代码实现一、获取系统Settings 中的亮度系统屏幕亮度值在(0~255)之间,获取方法很简单,只需要调用以下方法即可。/** * 1.获取系统默认屏幕亮度值 屏幕亮度值范围(0-255) * **/ private int getScr..原创 2021-01-08 15:11:45 · 1222 阅读 · 1 评论 -
安卓经纬度围栏判断【判断一个位置点,是否在所规划的围栏内】
判断方法如下/** * Create by Mazhanzhu on 2020/12/24 * 自定义围栏 判断一个点是否在多边形里面 */public class Mzz_WeiLan { //使用volatile关键字保其可见性 volatile private static Mzz_WeiLan instance = null; private List<WLData> mPoints = new ArrayList<>(); .原创 2020-12-24 20:21:22 · 755 阅读 · 4 评论 -
图片工具类【utils】【glide加载圆角】【ImageUtils】
废话不多说,拷贝就可以直接用package com.wanlang.base.base_utils;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.graphics.BitmapShader;import android.graphics.Canvas;import android.graphics.Colo原创 2020-05-28 16:50:16 · 537 阅读 · 0 评论 -
视频分片、分割、切片【IO流分成固定大小输出流】
方法一:/** * 将指定的文件按着给定的文件的字节数进行分割文件 * * @param filepath 源文件的路径 * @param fileSize 指定的小文件的大小[MB] 0:默认等分4份 */ public static ArrayList<File> divide(String filepath, int fileSize) { ArrayList<File> fileArrayList原创 2020-05-27 10:50:08 · 932 阅读 · 0 评论 -
Android 获取手机的厂商、型号、Android系统版本号、IMEI、当前系统语言等工具类【设备型号】
最近在开发中,需要用到一些系统信息,这里我把这些方法写成一个工具类方便以后复用,该工具类有以下6个功能:1、获取手机制造厂商2、获取手机型号3、获取手机系统当前使用的语言4、获取Android系统版本号5、获取手机IMEI串号6、获取手机中的语言列表SystemUtil类/** * 系统工具类 * Created by zhuwentao on 20原创 2017-06-07 17:33:32 · 1298 阅读 · 0 评论 -
TimeUtil【安卓时间工具类】
package com.jiada.face.utils;import android.text.TextUtils;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.TimeZone;public class TimeUtil { public static final int SECONDS_IN_DAY = 60 * 60 * .原创 2020-05-18 15:22:19 · 645 阅读 · 6 评论 -
解决高版本不支持http请求的问题
首先创建xml文件【network_security_config.xml】<?xml version="1.0" encoding="utf-8"?><network-security-config> <!--Android 9或更高版本为目标平台,则默认情况下,是不支持HTTP明文请求的。 所以将该属性设置为 true ,启用域名明文,支持Http请求--> <base-config cleartextTrafficPermitt原创 2020-05-18 14:53:10 · 1802 阅读 · 0 评论 -
android 按钮水波纹效果【背景色】
两种方式实现:第一种:Material自带水波纹通过如下代码设置波纹的背景:android:background="?android:attr/selectableItemBackground"波纹有边界android:background="?android:attr/selectableItemBackgroundBorderless"波纹超出边界【一般这种好看点,大多数也都是...原创 2020-05-06 15:02:20 · 2914 阅读 · 0 评论 -
获取任意App的页面元素【uiautomatorviewer.bat使用方法】
分析Android应用UI组件;文件位于sdk\tools\bin\uiautomatorviewer.bat;操作步骤:1.连接Android 设备到开发机器,显示需要获取UI控件的界面;2.Windows下直接双击运行uiautomatorviewer.bat;3.点击uiautomatorviewer用户界面左上角的“设备截图按钮”将鼠标悬停在左侧窗口的快照,可查看被工具检测到...原创 2020-04-15 11:32:33 · 1100 阅读 · 0 评论 -
Studio类名前面带“√”
这个对勾代表你把这行代码存入书签的标志如果你想去掉就ctrl +鼠标左键点击那个对串就可以决你的问题【或者是按“F11”】原创 2020-04-13 13:50:01 · 1234 阅读 · 0 评论 -
如何在studio里面查看类的继承关系
将鼠标放在要查看的关键字上,点击(Ctrl+H)即可查看该类的继承关系!时间长都有点忘记了,真是够笨的原创 2020-04-05 18:29:16 · 2054 阅读 · 1 评论 -
studio3.6新特性【视图绑定】是时候开始使用ViewBinding了
首先,这是官方的文档讲解,很不错官方文档【点击即可】前言目录前言随着Android Studio 3.6的正式发布,我义无反顾的走在了更新尝鲜的前列。AS的升级一如往常的顺利,重启后就进入了令人血脉喷张的 Gradle 升级的环节,需要从3.5.1升级到3.6.0。果不其然,出问题了!!ButterKnife居然报错,日志如下:D:\xxx\libbase\compon...转载 2020-02-28 20:08:47 · 4414 阅读 · 3 评论 -
实现Android应用调用第三方(高德、百度、腾讯)地图应用导航(仿微信调用第三方地图)
在Android开发工作中,遇到一需求,需要在公司项目的应用中点击地图上的位置,弹出导航并选择跳转到一个第三方地图应用(高德地图、百度地图、腾讯地图)。于是搜索了下,找到很多有用信息,在此把个人总结的分享出来^ . ^首先来看下UI图,这里没有使用弹出的形式,这只是个演示……这里的经纬度是高德腾讯地图的经纬度,可以在这个在线地图经度纬度查询获取地理位置的经纬度信息下面是...转载 2020-01-03 16:46:45 · 2324 阅读 · 0 评论 -
java 两个Double类型的数值之间的加减操作
Double加减乘除package com.jiada.face.utils;import java.math.BigDecimal;/** * Create by Mazhanzhu on 2019/12/26 */public class DoubleUtil { /** * double 相加 * * @param d1 ...原创 2019-12-26 11:53:34 · 1108 阅读 · 0 评论