- 博客(24)
- 收藏
- 关注
原创 Degod 简化你Android打印Log的方式
Degod 简化你的Log方式,Android背景介绍Degod简单效果快速开始使用方式写在最后背景介绍在开发过程中,经常都需要通过数据的实时情况,来发现解决bug,也就是大家常说的调试。而常用的调试方式就是debug配合android.util.Log的方式。Android Studio 的debug 功能当然是十分强大了,具体的使用的使用方式就不在此赘述。但是日常开发中总会遇到debug 模式不好使的情况,比如当程序占用的资源太大时,再使用debug,就会出现崩溃之类的异常情况。这时候,我们
2021-10-16 13:32:50
468
原创 Activity与各种View的关系
widget。 1、界面中展示的各个小组件。2、有独立的事件处理能力。3、所有Wiget组件都是继承View而来ViewGroup。 继承于View,是个容器,内部有View[]数组;有些Widget(如ImageView,TextView等)继承View;有些Widget(如AdapterView,GridView等)继承Vi
2020-07-24 11:48:52
904
原创 requestLayout ,invalidate,postInvalidate
requestLayout() 当动态的移动一个View的位置,或者View的大小、形状发生了变化,我们可以再View中调用这个方法。 view.requestLayout()。请求布局,如果子View调用了这个方法,其实会从View树重新进行一次测量、布局、绘制最终就会显示子View的最终情况。 &nbs
2020-07-24 11:09:38
631
原创 Android自定义View你绕不开的canvas
为了研究这个canvas,花了好几天,因为网上对这个概念的描述,可以说是百家争鸣,我也是一度建立观念再因为现实的不符而推翻,最后现在的理解是这样的。如果大家觉得本文的描述有问题,欢迎指正。 在Android关于Canvas的API描述中,一开始就如下描述: T
2020-07-24 00:02:03
275
原创 setBackground()和setImageBitmap()看完就哦了
先写一个引子。在完成一个图片裁剪的功能时,我自定义了一个ImageView,并且重写了onDraw(),最后使用Glide加载图片的时候,发现加载不进去,但是机缘巧合测试到setBackground的时候是能成功的,于是引出了下面的是。 首先Glide既然能设置图片,那它肯定有地方对这个image进行了set,通过Glide源码,最终找到是v
2020-07-23 23:53:16
1741
原创 Android Xfermode
Xfermode图片混合模式,为什么会有这个东西呢,其实可以类比photoshow的图层,好的不知道。再来,也就是假设我们要在某个图纸上画画,左手画圆,右手画方。然后它们要是互不相干,那自然皆大欢喜,但是如果有相交重叠的部分,如何处理这就是Xfermode要处理的东西了。先上一张图。这张是你选择的这种混合模式应该出现的效果,但可能并不是这么理想,往下看~ &nbs
2020-07-23 22:28:09
649
原创 Android的尺度,drawable-xxxxxxx
一开始想到这个问题,是因为工程文件里面可以看见各种mipmap/drawable开头文件夹,它们以hdpi、mdpi、xhdpi等等结尾。对他们的大致印象就是mipmip文件夹是存放icon的,drawable是存放图片或者xml文件的,然后他们的后缀大概就是跟分辨率有关,仅此而已,就准备了解一下具体的细节。 言归正传,之所以分成了这么多的文
2020-07-19 09:57:10
735
原创 Android文件系统管理— /storage/emulated/0/Android/data/{packgename}不对我的包呢?
在开发一个文件管理系统的路上,总有坑在等着你。今天在做完加密解密功能,开始手机-U盘-SD卡中来回倒腾,开始测试自己的功能,当然了虽然测试是为了查缺补漏,但是没人想看见自己crash的。泪崩~~今天踩的坑是,安装完app后/storage/emulated/0/Android/data/ // 内置SD卡目录/storage/0012-D687/Android/data/ //...
2020-04-23 19:48:39
285303
3
原创 Android文件系统管理—文件加密解密
在开发一个文件管理系统的路上,总有坑在等着你。今天需求爸爸又开始早早的对我进行“问候”了,加一个文件的加密解密功能。@#¥%,我态度的友好的答应了。进入正文,加密算法大家应该都不陌生,当然都只是听过,比如信息安全课上那花里胡哨的一堆AES、DES、md5等等。具体的算法,早已忘的一干二净,但是现在做事网上的工具类已经很发达了,何必自己造轮子,耗时耗力,又好的主要我不会。网上可以看到很多加密算...
2020-04-23 19:21:33
1320
原创 Android文件系统管理——版本内外存所指差异,获得外接SD/U盘路径,在SD卡与U盘间传送文件,两天辛酸泪,收藏不迷路
在开发一个文件管理系统的路上,总有坑在等着你。前情提示:因为该系统的使用方需要严格保密文件,导致它失去了无线传输功能,只能通过外设传输文件。在没接触这个功能之前,我想大家应该都觉得手机自带的内存叫内存,SD卡叫外存,...
2020-04-20 12:37:27
489
原创 Android文件系统管理—有网络预览office文件—无网络情况下预览PDF文件
在开发一个文件管理系统的路上,总有坑在等着你。甲方爸爸提出的需求之一是能够预览office类型的文件。我第一反应就是WebView,我感觉只有这玩意可以让我这么肆无忌惮的预览各个文件类型。但是问我怎么做,好的不会,话不多说上网搞一手。省略搜索的过程,经过筛选我决定使用腾讯开源的X5内核,看意思就是只要你手机上有VX/QQ/QQ浏览器,就已经含有这个X5内核了,你在应用中集成SDK的后,它会自动...
2020-04-20 11:22:23
298
原创 连续点击popupWindow闪退
最近在帮朋友做一个文件管理系统。基于android的,这里就记录一下一些趟过的坑。2、连续点击可以弹出popupWindow的闪退问题。这个问题我在将项目交给朋友后他发现的,然后我有点不好意思,立马打开手机,尝试了。终于在点击数百次后触发了这个bug。。。至于为什么有时候不会,有时候会,以我短浅的知识层次,我只能理解为,手机被我惊人的手速蒙混过去了,哈哈哈哈。。看一下日志,大概的问题说的是T...
2020-03-28 15:15:56
408
原创 adapter.notifyDataSetChanged()无效处理方法。
最近在帮朋友做一个文件管理系统,基于android的,这里就记录一下一些趟过的坑。1.adapter.notifyDataSetChanged();为什么无效呢。主要是因为它观察的那个对象,被我不小心换了。比如我先是 list绑定在这个adapter上,然后我从数据查完 list =data 这样赋值过来,顺手就notify。那就拉闸了,list指向的地址变了,也就不对了。解决方法。list...
2020-03-28 15:05:29
1532
原创 django搭建服务端,快速入门(二)
上一篇我们完成了环境的基本配置。话不多说我们来先创建第一个项目,国际惯例HelloWorld。首先进入到我们想要创建项目的地址然后,输入图中那行代码。之后不报错应该就创建成功了(如果失败了,可以试试django-admin代替django-admin.py)。接着我们用开发软件打开这个项目,我这边用的是Pycharm。打开这个项目,我们可以看见这边目录情况是这样的。凭借咱的塑料英语应...
2020-03-01 11:36:48
215
1
原创 django搭建服务端,快速入门(一)
今天准备开始写一下之前,用过的一个框架django。django是我用过的第一个框架,框架顾名思义一套架子,除去一些,你必须自己的配置的地方。它都给你做好了,所以使用框架还是非常便捷的,不过现在网上用python写的django框架的教程还是比较少的。发出这个博客也是为了大家迈过第一步。互相交流吧。在写完这个入门,并且附带一个实例后,准备写一些android和之前答应的springboot整...
2020-03-01 09:41:32
322
原创 html撩妹小技巧,小白友好
本文是之前做的一个简单使用html编写的一个视觉效果很不错的撩妹程序,现在找出来给大家分享一下。文章结尾附上代码链接。首先创建一个文件夹里面放一些图片和音乐,图片就是你要的撩的女神和用的背景啦。然后我们新建一个txt文本,将代码复制进去,修改成你们想说的话和想换的背景音乐,再把txt文本的后缀名改成html就行啦。然后点击这html文件就能看见效果了。先上图看看效果,如果觉得还行,再看下...
2020-02-29 17:29:28
4331
3
原创 Java学习(流专栏附一些Java进阶内容)
从数据来源或者说是操作对象角度来看,IO类可以分为:1、文件(file): FileInputStream 、 FileOutputStream 、 FileReader、FileWriter2、数组([]):2.1、 字节数组(byte[]):ByteArrayInputStream、ByteArrayOutputStream2.2、字符数组(char[]):CharArrayRe...
2020-02-29 09:56:40
194
原创 Java学习(集合专栏附一点点Lambda)
集合框架对于对象集合,必须执行的操作主要以下三种:添加新的对象删除对象查找对象集的基本属性如下:集内只包含每项的一个实例集可以是有限的,也可以是无限的。可以定义抽象概念映射是一种特别的集。它是一种对(pair)集合,每个对表示一个元素到另一元素的单向映射。“集合框架”由一组用来操作对象的接口组层。不同接口描述不同类型的组。Java容器类类库的用途是保存对象,并将其划分两个...
2020-02-29 09:51:05
264
1
原创 SpringBoot学习记录(二)
热部署1.热部署是什么?对于Java应用程序来说,热部署就是在运行时更新Java类文件。2.热部署的作用可以不重启应用的情况下,更新应用。举个例子,就像电脑可以在不重启的情况下,更换U盘。OSGI也正是因为它的模块化和热部署,才显得热门。3.热部署的原理想要知道热部署的原理,必须要了解java类的加载过程。一个java类文件到虚拟机里的对象,要经过如下过程。首先通过java编译器,...
2020-02-29 09:43:54
195
原创 SpringBoot学习记录(一)
因为有需要使用到SpringBoot+Mybatis完成一些项目。也是从零开始学习了一下。先记录一些知识,后期会更新一个完整的SpringBoot框架整合Activiti5的使用流程。希望大家互相学习,多多指导。SpringBoot——MybatisSpringBoot的优点|-- 快速创建独立运行的Spring项目以及与主流框架集成|-- 使用嵌入式的Servlet容器,应用无需打...
2020-02-29 09:38:27
313
原创 Java基础学习记录(三)
System:描述系统一些信息。获取系统属性信息:Properties getProperties因为Properties是Hashtable子类,也就是Map集合的一个子类对象、那么可以通过map的方法取出该集合中的元素。该集合中存储都是字符串。没有泛型定义Runtime对象该类并没有提供构造函数说明不可以new对象。那么会直接想到该类中的方法都是静态的发现该类中还有非静态方法...
2020-02-29 09:30:25
118
原创 Java基础学习记录(二)
内部类:将一个类定义在另一个类的里面,对里面那个类就称为内部类访问特点:*内部类可以直接访问外部类的成员,包括私有成员之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用格式 外部类.this*而外部类要访问内部类中的成员必须要建立内部类的对象。访问格式:1.当内部类定义在外部类成员位置上,而且非私有,可以在外部其他类中,可以直接建立内部类对象格式外部类名....
2020-02-29 09:24:58
162
原创 Java基础学习记录(一)
第一周Java语言是一种完全面对对象,安全可靠,与平台无关的语言。Java的跨平台性是指:通过Java语言编写的应用程序在不同的系统平台上都可以运行。Java跨平台性的原理是:只要在需要运行Java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。由JVM来负责Java程序在该系统中的运行。JRE(Java Runtime Enviro...
2020-02-29 09:15:39
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人