自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

原创 kover 覆盖率排除不需要统计的类的配置

classes("包名.*")packages("包名")

2024-03-26 10:31:55 272

转载 安卓项目如何做单元测试

先说一下创建篇文章的目的,近期负责搭建公司的单元测试框架,于是查阅了网上的很多文章,以及参考了github上很多的项目例子,并且也进行了相当多的尝试。由于没有安卓的环境,所以如果跑在JVM上,就需要主动去模拟安卓的各种环境,而目前能够满足mock安卓环境的框架中,最好的无疑就是Robolectric了,并且这也是官方推荐的框架。但是Activity中的成员变量,则需要使用mock的,因为只有mock的才能进行执行次数以及其它相关的验证,所以,如何替换Activity中的成员变量,就是一个我们要解决的问题。

2024-03-07 17:16:45 184

转载 安卓 使用AndroidStudio java 转kotlin

好了, 大概步骤就是这些,我也是自己一开始不知道,然后查的方法,这里整理一下,方便大家使用。然后最后一步就是如何使用了, 记得 前面的步骤后 同步一下sync;第一步 先检查kotlin版本,如下图。

2024-03-01 10:27:15 188

原创 Java中HashMap底层实现原理

HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映射操作,并允许使用null值和null键。此类不保证映射的顺序,特别是它不保证该顺序恒久不变。

2024-02-21 13:35:51 576

原创 RecyclerView和ListView的区别

ListView和RecyclerView最大的区别在于数据源改变时的缓存的处理逻辑,ListView是"一锅端",将所有的mActiveViews都移入了二级缓存mScrapViews,而RecyclerView则是更加灵活地对每个View修改标志位,区分是否重新bindView。2). ListView缓存View。dispathLayoutStep3():计算布局前后各个ItemView的状态,如Remove,Add,Move,Update等,如有必要执行相应的动画.

2024-02-21 10:41:22 715

原创 android RecycleView 获取当前屏幕显示第一条item

if (topOffset < 0 ) { //topOffset < 30 ,按照自己设备适配第一条的坐标范围。

2024-01-30 14:40:04 310

原创 Bitmap拉伸后出现锯齿的几种解决办法

这两种方法 大多数情况下都能解决问题,但是部分情况下效果不太理想。1.给Paint加上抗锯齿标志。然后将Paint对象作为参数传给canvas的绘制方法。注意这个 方法的最后一个参数一定要设为true,否则无法去锯齿。4 .在绘制图像时利用matrix对图像进行拉伸。2.直接给canvas加抗锯齿。

2023-05-30 18:44:41 461

原创 Activity跳转失败问题探究

后来测试发现,有时候无法跳转(偶发),于是查资料发现,setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)相当于把Activity的启动模式设置成singleTask,然后看到清单文件中LoginActivity的启动模式写的是singleTop,想到有可能是冲突了导致的问题,最后把LoginActivity的启动模式改成singleTask,问题就解决了。目前是这样推理的,具体原因还有待探究,有什么问题或者大家有什么新发现,可以留言一起谈论。希望这篇文章可以帮到你。

2023-05-19 14:42:58 791

转载 RxJava详解

1. Schedulers.io(): I/O 操作(读写文件、数据库、网络请求等),与newThread()差不多,区别在于io() 的内部实现是是用一个无数量上限的线程池,可以重用空闲的线程,因此多数情况下 io() 效率比 newThread() 更高。传统的嵌套请求,一般都是在前一个请求的 onSuccess() 回调里面发起新的请求,这样一旦嵌套多个的话,缩进就是大问题了,而且严重的影响代码的可读性。为什么需要返回值呢?不难发现,上述的 map 操作符,是一对一的变换,并且返回的是变换后的对象。

2023-03-20 15:03:24 3804

原创 Android接收不到开机广播问题

在开发需求中,有时候会需要接收开机广播,但发现接收不到;进行以上配置后试试,看是否可以接收到开机广播;希望对有需要的朋友有所帮助!--.接收启动完成的广播-->

2023-01-31 10:20:51 1818

原创 waiting for all target devices to come online

waiting for all target devices to come online

2023-01-17 08:53:26 586

原创 canvas.drawArc

今天做个是水平上升/下降的填充圆,是动态的那种,当然需求不算难,但好久不用canvas,有些生疏了;其中填充会用到:canvas.drawArc ()方法,我们来看看这个方法的参数:drawArc(oval, startAngle, sweepAngle, useCenter, paint);参数一:oval 是RectF类,但是想得到他的对象也有四个参数,经过查找:一张图很明了哈:参数二:startAngle 是起始角度,水平直线从右面0°到左面180°,再继续转360°参数三:sw..

2021-12-24 14:41:18 826

原创 Android使用高德地图画线不显示,做个记录

需求需要做地图相关开发,由于2d地图就可以满足,所以引用包包括:Amap_2DMap_V6.0.0_20191106.jarAMap_Location_V5.5.0_20210915.jar我在画线的时候竟然发现线画不出来,而且是之前可以,然后突然不好用了。第一感觉我以为误删了哪段代码造成的,然后和历史记录对比,并没有发现异样,突然有点慌了。我以为是设备问题(因为用了不同的设备)。来来回回把能想到的都试了一回,还是有问题。然后我对比高德示例也没啥不同。最后查阅资料才发现,画线的动作需要在onM

2021-12-01 14:35:22 2651 2

原创 跑monkey的anr问题解决心得

相信做Android的朋友们,大多都会面临应用的优化问题,什么内存溢出,anr等等。都是我们需要付出足够的时间去处理的。下面我想分享一下我自己在处理anr时候的心得。首先我想说的是anr在通过log定位问题原因的过程是很简单的:1.首先通过monkey测试的anr问题,通过monkey工具是可以分析大概结论的,一般像这种格式:09-01 19:59:19.691 499 628 E ActivityManager: ANR in com.xx.app.xx09-01 19:59:19.691 499

2021-09-22 15:19:49 1259

转载 应用与系统稳定性第一篇---ANR问题分析的一般套路

image.pngANR(App Not Responding)基本上99%的App都有,即使是系统,也有system_anr,我相信虽然ANR问题这样的普遍,还是有很多人对ANR问题即熟悉又陌生的,ANR中log信息怎么看?发生的场景有哪些?广播会发生ANR吗?我的App啥事都没有干怎么发生了ANR了等等一些问题,今天通过三个案例总结一下ANR问题分析的一般套路,以做备忘。一、ANR初步了解1、发生原因一句话总结:没有在规定的时间内,干完要干的事情,就会发生ANR。2、AN...

2021-09-03 16:31:40 2295

原创 如何分析解决ANR

手机中pull处理trace.txt进去 data/anr再pull一:什么是ANR ANR:Application Not Responding,即应用无响应二:ANR的类型 ANR一般有三种类型: 1:KeyDispatchTimeout(5 seconds) --主要类型 按键或触摸事件在特定时间内无响应...

2021-09-01 16:41:02 2783

原创 动态的使用Fragment,出现异常The specified child already has a parent. You must call removeView

public class MainForActivity extends FragmentActivity implements OnClickListener{private Button mTabWeixin;private contentFragment mWeixin;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);mWeixin = ne..

2020-06-24 10:15:34 254

转载 android studio gradle 配置问题

我们的Android studio工程有时会存在很多共同的构建包这里我会新建一个gradle 文件config.gradleext{ android = [ applicationId : "net.huansi.loosecloth", compileSdkVersion : 28, min...

2020-04-21 11:31:52 212

转载 Android多线程----异步消息处理机制之Handler详解

​【声明】欢迎转载,但请保留文章原始出处→_→生命壹号:http://www.cnblogs.com/smyhvae/文章来源:http://www.cnblogs.com/smyhvae/p/4003922.html联系方式:smyhvae@163.com【正文】虽然是国庆佳节,但也不能停止学习的脚步,我选择在教研室为祖国母亲默默地庆生。关于Andr...

2020-03-18 16:14:20 213

原创 android apk无法覆盖安装解决

今天做一个安装包升级,有一个android的安装包,说啥都无法覆盖安装 :上网查无非有两种:1.签名不一致2.版本号小于之前的apk的版本号我想说的重点是,我的并不是这两种的一种,而是第三种原因:targetSdkVersion 版本号低于上一版本。最后我想总结的是,作为开发,遇到问题是太正常不过的了,但是有的时候下意识觉得这个问题很棘手。实际上这个时候你的心态问题...

2019-09-12 17:39:34 3440

原创 android 一个TextView显示多个文本的不同状态一种方法

最近的一个需求实现如下:textView.setText(Html.fromHtml("<font color=\"#333333\">本次测量结果:这个商店 </font>"+"<font color="+getString(valueP[1])+">"+getString(valueP[0])+"</font>"+ "&lt...

2019-05-22 17:20:54 1424

转载 android studio的代码比较工具使用

1、首先将需要对比的代码Ctrl + C复制一遍,不管是哪里的代码2、然后找到右上角工具栏中的“View”3、找到Compare with Cliboard4、具体功能如图,左侧为复制板里的内容,右侧为项目里的内容,我们可以看到中间那些方向符,我们也能看到一些高亮的代码部分,那就是我们代码间的差异,点击中间的方向符,就行自动补全代码5、其实还有更简单的方法,重复一...

2019-04-25 14:03:33 2409

转载 java如何对List集合中的元素进行排序(请收藏)

在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法,大家看虾米哥的例子如下:1.Person类:? 1 2 3 4 5 6 7...

2019-03-28 17:31:36 1420

原创 进程间的传递:Bundle

    我想在android项目中大家经常会遇到进程间的通讯,传递信息数据。那么问题来了:在android中进程间通讯有几种方式?  好吧这不是我要说的重点,略过~~~     几周前有个同事问我个事,“我在做传输数据的时候卡住了,然后网上搜索了错误发现跟  intent有关,但我没有用intent呀,这是为什么呢”,我表示压力好大,抱着试试看的态度看了下代码,又问了下操作流程。他是想传数据,...

2018-12-10 18:09:40 597

原创 android studio环境对项目的影响

好长时间就想把关于android studio的一些学习心得记下来,一直拖到现在。相信还在开发android的朋友,大多数应该从eclipse转到as了。但用过as的朋友都知道坑太多。我想说我的一些经历,和一些建议如果是团队开发,为了不要给自己开发增加难度,那么android studio的版本最好要相同。首先as1.5,2.0,2.3,3.0等等,1.5之前的应该几乎不用了,省略不计吧。...

2018-07-23 17:09:04 386

c+android+c++

c+android+c++

2024-03-14

c+andro+c++

c+andro+c++

2024-03-14

c+and+studio+vs

c+and+studio+vs

2024-03-14

chang-che-pho

chang-che-pho

2024-03-05

飞-控-Android

飞-控-Android

2024-03-01

Android 性能测试应用软件

Android 性能测试应用软件

2023-11-17

gitbash++++

gitbash++++

2023-07-03

notepad++++++

notepad++++++

2023-07-03

SqliteStudio+查看SQLite数据库文件方法.rar

android 数据库查看工具;可视化工具

2023-05-14

自定义 tabview(滑动的 tab)

自定义tabView;主要实现可以丝滑的滑动切换tab

2023-03-21

自定义picker控件

是自定义的时间(TimePicker),日期(datepicker)控件;使用更灵活;能适配大部分设计效果

2023-03-21

帧动画使用 surface实现

使用surface实现帧动画;使得减少主线程的执行压力;通过bitmap的复用,也大大降低了内存

2023-03-21

功能强大的adapter

能实现各种复杂功能和布局

2023-03-21

android apk反编译工具

这是之前下载的apk反编译工具,至于反编译过程还请参考相关文档

2018-08-31

空空如也

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

TA关注的人

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