自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

就酱的博客

一起努力

  • 博客(64)
  • 资源 (2)
  • 收藏
  • 关注

原创 HarmonyOS调研分享

HarmonyOS采用四层架构,从下向上依次为内核层、系统服务层、框架层、应用层,支持根据实际需求裁剪某些非不要的子系统或功能/模块;

2024-01-02 11:19:59 1305

原创 Android静态代码检查及自定义Lint实现

根据维基百科介绍,静态代码检查又称静态程序分析(英语:Static program analysis)是指在不运行程序的条件下,进行程序分析的方法。静态代码检查工具会以源代码为检查对象,从命名、语法、语义等多个维度进行扫描分析,发现可能存在的问题,并根据检查规则对问题进行严重等级划分,给出不同的标识和提示。因为静态代码检查的对象为源代码,所以在编码阶段我们就能够发现并修复问题,时间节点的提前对应着修复问题所付出的成本大大降低。

2024-01-02 11:16:39 1140

原创 Android混淆那些事

关键字目标对象说明keep类、类成员保留类和类中的成员,防止它们被混淆或移除;类成员保留类成员,防止它们被混淆或移除类、类成员指定的类成员都存在时,保留类和类成员,防止它们被混淆或移除keepnames类、类成员保留类和类中的成员,防止它们被混淆,但当类或成员未被引用时会被移除;类成员保留类成员,防止它们被混淆,但当类成员未被引用时会被移除;类、类成员指定的类成员都存在时,保留类和类成员,防止它们被混淆,但当类未被引用时会被移除;

2024-01-02 11:10:22 1054

原创 EditText限制输入数字+字母+中文

EditText限制输入数字+字母+中文

2022-07-04 14:18:10 429

原创 Byte数组与16进制字符串相互转换

Byte数组与16进制字符串相互转换

2022-06-30 10:27:19 2011

原创 zip4j压缩调用

zip4j压缩调用

2022-05-06 15:03:16 851

原创 Android获取正在运行的进程列表

Android 获取正在运行的进程private static List<String> getProcessList(Context context) { List<String> resultList = new ArrayList<>(); if (context == null) { return resultList; } List<AndroidAppProce

2022-03-27 21:40:32 7822 3

原创 Android 8.0一下热点启动

热点启动

2022-03-27 21:35:50 2976

原创 Android studio maven插件源码打包

Android studio maven插件源码打包

2021-12-14 13:55:30 1707

原创 RecycleView自定义分割线

我们在使用ListView的时候可以很轻松的设置列表的分割线,因为系统提供了我们外部调用接口。但是在使用RecycleView是我们会发现并没有直接设置分分割线的方面。不过我们可以自定义一个BaseItemDecoration继承 RecyclerView.ItemDecoration,通过RecycleView的addItemDecoration(ItemDecoration decor)方法进...

2018-05-07 15:50:11 317

原创 Android-Lint 常见问题分析

上一篇中简单介绍了一下Android Lint检测工具的使用,这里列举一些常见的检查结果分析:1、HashMap can be replaced with SparseArray      一般Key为int型时可以使用SparseArray替代HashMap使用,SparseArray是Android所独有的,其目的是为了更加节省内存资源      好处2点:1、装载速度更快 2、消耗内存更小 ...

2018-04-28 10:09:56 732

原创 Android Lint 实践

Android Studio性能检测工具Lint使用实践。选择Studio工具栏 Analyze--Inspect Code即可运行Android Lint,在弹出的对话框中可以设置执行 Lint 的范围,可以选择整个项目,也可以只选择当前的子模块或者其他自定义的范围:也可以自定义扫描范围:点击OK进行扫描,时间有点久,耐心等待,然后我们可以在底部看到扫描结果:问题结果主要是六类:Accessib...

2018-04-25 09:24:32 369

原创 CoordinatorLayout嵌套WebView滑动冲突

当我们使用 CoordinatorLayout 嵌套WebView的时候,我们会发现只有WebView在滑动,而外层 CoordinatorLayout 并没有联动。这是因为WebView没有实现NestedScrollingChild,WebView在谷歌的材料设计库中并不支持CoordinatorLayout滚动技术,也就是说CoordinatorLayout不支持和WebView协同使用。解...

2018-04-19 16:47:15 3794 5

转载 Android 获取控件的宽和高

转载来源: https://blog.csdn.net/johnny901114/article/details/7839512我们都知道在onCreate()里面获取控件的高度是0,这是为什么呢?我们来看一下示例:首先我们自己写一个控件,这个控件非常简单:[java] view plain copy public class MyI

2018-04-19 14:40:20 1518 1

原创 android TextView文本处理封装

public class TextEffectManager { /** int flags:取值有如下四个 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE :前后都不包括,即在指定范围的前面和后面插入新字符都不会应用新样式 Spannable.SPAN_EXCLUSIVE_INCLUSIVE :前面不包括,后面包括。即仅在范围字符的后面...

2018-04-16 16:00:52 521

原创 android系统相机相册调用封装

public abstract class PickPhotoActivity extends BaseActivity { private static final String KEY_PHOTO_PATH = "photo_path"; private static final int TAKE_PHOTO_LARGR = 1000; private static f...

2018-04-16 15:43:27 779

原创 android系统Intent调用应用

public class IntentUtils { //从google搜索内容 public static void searchGoogle(Context context, String searchString) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_WE...

2018-04-16 15:17:31 633

原创 解决Java关键字作为json数据字段名问题

在java命名规范中,我们不能采用Java关键字如 public、static等命名,但是在服务端数据命名时我们往往会采用某一字段的英文来命名,这有时候就不可避免的和java关键字有冲突。这里介绍一个Java注解来解决这一问题,将json数据中的字段进行转换,如:@SerializedName("public")int isPublic;@SerializedName("json中的命名")Ob...

2018-04-16 10:47:37 4444 1

原创 浮点数计算精度有误,BigDecimal使用解决问题

在开发中我们常常不可避免的需要进行浮点数类型的计算,但是这里我们总会发现计算结果如果不自己进行精度处理,往往会出现问题。为了解决这个问题,我们可以使用BigDecimal来进行计算。这里整理了一些使用方法:public class BigDecimalUtil { /** * BigDecimal的加法运算封装 */ public static BigDecim...

2018-04-13 11:12:50 719

转载 Android开发——Android中常见的4种线程池

0.前言转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52415337使用线程池可以给我们带来很多好处,首先通过线程池中线程的重用,减少创建和销毁线程的性能开销。其次,能控制线程池中的并发数,否则会因为大量的线程争夺CPU资源造成阻塞。最后,线程池能够对线程进行管理,比如使用ScheduledThreadPool来设置延

2018-03-01 14:56:44 178

原创 Android开发中软键盘的一些常见使用

1、页面启动键盘自动显示或隐藏getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VI

2018-02-12 10:31:27 242

原创 Android 获取url重定向后的真实链接

在Android WebView中,我们常常会自定义一个WebViewClient并重写 shouldOverrideUrlLoading方法 来处理网页内的超链接事件。但有时候我们会发现我们首次加载url也会进入到 shouldOverrideUrlLoading 方法中,这是因为我们的初始链接并不是网页记载成功后的真正链接,而是被系统重定向过的。所以在某些情况下就需要我们在加载网页前获取

2018-02-11 17:32:12 4939

原创 android Date,时间字符串、时间戳等相互转换使用

在软件开发中,我们会经常遇到各种时间的显示及判断,这就需要我们对获取的数据进行转换。“yyyy-MM-dd HH:mm:ss”  这是常用的时间显示格式,表示了“年-月-日 时:分:秒”1、日期字符串转换Date实体public static Date parseServerTime(String serverTime, String format) { i

2018-01-24 10:56:12 5914

原创 Android 使用 DownloadManager 实现APP应用内更新升级

具体实现思路:我们通过downloaderManager来下载apk,并且本地保存downManager.enqueue(request)返回的id值,并且通过这个id获取apk的下载文件路径和下载的状态,并且通过状态来更新通知栏的显示。第一次下载成功,弹出安装界面如果用户没有点击安装,而是按了返回键,在某个时候,又再次使用了我们的APP如果下载成功,则判断本地的a

2017-12-27 16:56:39 3111

原创 Retrofit 2.0 轻松实现文件/多图片上传/Json字符串

public interface FileUploadService { @Multipart @POST("upload") Call upload(@Part("description") RequestBody description, @Part MultipartBody.Part file);}具体用法。// 创建

2017-12-27 10:42:15 2228

原创 网络图片设置为控件背景图

public static void backgroundNetwork(final View v, String url) { if (v == null || TextUtils.isEmpty(url)) { return; } new DownloadImageTask() { @Override protected

2017-11-29 15:14:31 327

原创 Android URL中参数的获取、拼接及修改

1、获取参数Uri uri = Uri.parse(url);String type = uri.getQueryParameter("type");2、拼接Uri.Builder builder = Uri.parse(url).buildUpon();builder.appendQueryParameter("key", value);3、修改

2017-11-14 15:12:33 15698

原创 android 如何判断点是否在多边形内

在开发中我们经常会遇到需要监听手势动作的需求,往往这些需求会与界面的某个区域绑定。但是当该区域是一个不规则的多边形时,这就给我们的判断添加了相当大的难度。其实在百度地图中就有判断点是否在指定区域内的功能,API中提供了相关的方法。但我们不可能在不使用地图功能的时候去特地导入BaiDuMap来实现这一功能,所以在这里我将改功能的实现提取出自定义一个工具类。首先定义一个类Point,表示点

2017-10-31 14:49:48 1372

原创 Android7.0调用系统相机奔溃问题

Android7.0对系统权限进一步的进行了限制,以往的相机调用方式无法满足7.0以上的使用,会造成系统奔溃,在网上一翻搜索直接看到了各种方式来解决,包括FilePrvider和Content Uri的使用。在这里推荐一种解决方法,该方法不需要修改原有代码,只需要在Application中点击两行代码即可解决。 //解决Android7.0 调用相机奔溃问题 if (B

2017-10-30 11:10:16 318

原创 ScrollView初始位置不在顶部问题解决

ScrollView在嵌套某些些控件时因为布局高度无法确定,容易出现布局加载后初始位置不在顶部问题。网上给出了几种常用的方法,但是并不是所有情况都能生效,这里给出一个目前我使用后最稳定的方法。自定义一个ScrollViewExtend集成ScrollView,重写方法@Overrideprotected int computeScrollDeltaToGetChildRectOn

2017-09-26 17:14:50 293

原创 TextView加载Html文本中的图片

/** * Created by Administrator on 2016/6/28 0028. */ public class URLDrawable extends BitmapDrawable { public Bitmap bitmap; @Override public void draw(Canvas ca

2017-08-25 16:07:53 197

转载 Android 获取 View 宽高的常用正确方式,避免为零

文章出处:https://juejin.im/post/58e4397a44d904006d275eeb相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 View 的宽高值,可能在 onCreate() 生命周期方法中,也可能在 onResume() 生命周期方法中。然而,不幸的是,并不能获取所要的结果,宽高值均为 0。如果对 View 的绘制

2017-07-24 14:49:01 1211

原创 Android下载文件

/** * 下载文件线程 * */public class downloadApkThread extends Thread { @Override public void run() { try { // 判断SD卡是否存在,并且是否具有读写权限 if (Environment.getExternalStorageState()

2017-07-13 15:47:45 464

原创 安装APK文件

private void installApk() { File apkfile = new File("路径", "文件名"); if (!apkfile.exists()) { return; } // 通过Intent安装APK文件 Intent intent = new Intent(Intent.ACTION_VIEW); intent.s

2017-07-13 15:45:58 233

原创 Android 获取指定url网页内容

public static byte[] download(String Url) { byte[] ret = null; try { HttpClient client = new DefaultHttpClient(); HttpParams httpparams = client.getParams(); HttpConnectionPara

2017-07-13 15:27:01 4873 1

转载 Android中的指纹识别

转载请注明出处:http://blog.csdn.net/wl9739/article/details/52444671最近项目需要使用到指纹识别的功能,查阅了相关资料后,整理成此文。指纹识别是在Android 6.0之后新增的功能,因此在使用的时候需要先判断用户手机的系统版本是否支持指纹识别。另外,实际开发场景中,使用指纹的主要场景有两种:纯本地使用。即用户在本地完成指纹

2017-07-03 10:50:28 506

原创 Dialog Style属性设置

@null true true true @null @style/dialog_animation true @android:color/transparen

2017-05-31 15:04:19 3071

原创 Android自定义控件及属性

在开发中,现有的控件并不能完全满足我们的需求,往往需要我们去进行自定义控件的设计。在这里我们先了解一个属性,attrs中发 format。format有多种可选值设置:1. reference:参考某一资源ID。(1)属性定义:(2)属性使用:android:layout_width = "42dip"androi

2017-05-22 15:15:11 675

原创 Google Glide开源图片加载库使用

1、Android Studio依赖添加dependencies { compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.android.support:support-v4:22.0.0' } Glide需要依赖 Support Library v4。2、使用Glide.wi

2017-05-04 14:31:47 349

原创 TextView部分文本点击处理

在之前我们就通过 SpannableString 的使用对textview的部分文本做针对性处理进行过讨论。在这里,我就其中的 ClickableSpan 再做说明。在对于文本的显示中,我们不仅会需要不同的样式显示,偶尔也会有要求文本中部分文字需要响应点击事件的需求。在上一篇中,我们使用 ClickableSpan 针对Html的超链接标签点击做了处理,今天我们使用它来实现自定

2017-04-18 16:48:05 306

AdbWifi调试工具

AdbWifi调试工具

2017-04-08

Genymotion

2017-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除