自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有错望纠

技术向善

  • 博客(13)
  • 资源 (3)
  • 问答 (3)
  • 收藏
  • 关注

原创 Activity和xml布局如何关联之setContentView方法的内部流程

    这是一篇android基础文章,算是复习和巩固一下,追了一下最新Android版本的代码,看看和6年前有什么变化。直接按顺序来了,不想凑字数,反正也没啥人看,就当写笔记了。有点基础的人都知道,Activity内部先是一个Window,Window内部才是View。开整…创建一个正常的Activity,我们都知道有3个步骤,1继承Activity;2实现onCreate()方法,内部调用setContentView(xml布局id);3在清单文件中注册。没有

2021-10-29 17:58:49 1867

原创 Handler原理简说

有关Handler原理的文章已经烂大街了,有很多文章写的特别棒,佩服。这篇文章其实是我想自己简短总结一下自己的理解,和我个人当初在学习时,对自己疑惑的地方的探究。Handler是干什么的?个人理解:它是一个用来发送消息,并且自己处理这个消息的一个工具。关键在于它可以在不同线程发送或处理消息。使用场景:主要用于线程间的通信。原理:handler发出一个消息,放入到一个容器,启动一个死循环,不停的判断容器中是否有消息,有就拿出来,还给handler处理。(说的有点太简洁了吧?但就是这么回事)怎么就

2021-03-05 11:45:30 231 1

原创 《Android》事件传递过程

1、什么是事件传递?Android事件传递是指用户操作屏幕产生的一系列动作事件(按下、滑动、抬起)从外层传递到的内层的过程。2、外层到内层如何理解?Activity —> Window ----> ViewGroup ---->View3、必须了解的基础3.1 首先要知道传递的对象是一个MotionEvent类的对象。这个类中定义了动作常量,比如“按下” public...

2020-03-29 17:14:34 1656

原创 android运行时权限解决办法(含有申请权限已授权、权限被拒绝、权限勾选不在提示的回调)

先说明一下: 1、android运行时权限已经不是新东西了,我始终没在工程中实现。(因为有个方法,就是把targetSdkVersion控制在23 Android 6.0以下,系统为了兼容老客户端还用的以前的权限机制,权限在AndroidManifest申请了就默认同意) 2、这篇文章是我自己要实现这块发现网上的第三方库没有符合我需求的那个点,也许是我没发现,所以仿照RxPermission

2017-02-24 23:11:09 28470 4

原创 ViewPager2中嵌套使用ViewPager2或RecyclerView造成内部不能滑动问题

文档:官网文档解决问题的答案在上面文档链接中已有解决办法。不想读下文的朋友可以直接阅览。ViewPager2是官方大力推荐取代老ViewPager的方案,很多朋友还没有使用过,这里算是安利一波吧,早用早得劲。。首先ViewPager2已经从根上就不同于ViewPager了,它内部是通过RecyclerView实现的,因为RecyclerView的强大灵活特性,所以ViewPager2自然也要比ViewPager灵活的多。例举2个我认为ViewPager2最实用的特性(因为我用的比较频繁):1、ori

2021-01-03 11:51:11 6122 5

原创 apk为什么要签名,使用命令如何对apk执行V2、V1签名

apk为什么要签名? 1、防止被其他apk安装替换。因为一个应用的包名是对外可见的,你可以通过工具或者在手机设置里直接查找,都可以找到你安装应用的包名。这里说的包名不是文件夹路径而是applicationId。applicationId是一个应用的唯一标识。如果没有签名认证,别人写一个和你应用一样的包名的应用。那你的应用就可以直接被替换了吧。加了不同签名的apk,如果包名相同,手机系统会提示安装失败。(现在的手机系统已经不允许安装没有签名的apk了,直接运行android studio也会用$HOME/.

2020-05-13 17:10:39 965

原创 Kotlin常用函数let、with、run、apply的用法和区别

在kotlin编程中let、with、run、apply这些函数使用率是非常高的,有时候可以通用,差别很小,但如果能记住他们的不同点,可以更加合理的选择使用。在这之前首先要了解一下Lambda表达式,这会帮助你理解使用这些函数的时候有没有( )可不可以用it代替参数等。因为这些函数的最后一个参数都是lambda。如何理解lambda呢?可以把lambda理解为就是一个函数,但这个函数比较特殊,...

2020-04-22 20:20:53 4584 5

原创 小白快速体验之爬虫抓取新浪热搜

首先要有一些准备工作,当然前提是需要了解一下python的基础知识。安装所需要的语言环境和工具:1、python 我使用的是python3.6.5版本2、三方库 requests安装命令:pip3 install requests3、 Beautiful Soup安装命令:pip3 install bs44、lxml安装命令:pip3 install lxml5、Pycharm...

2020-04-04 21:57:41 1016

原创 《Android》Activity生命周期详解

1、什么是Activity的生命周期?用户在使用一个应用程序时,随着应用的启动、页面的跳转、进入后台等一些操作的发生,Activity会回调一些固定的方法,这些回调方法标识了Activity的状态改变,比如创建、销毁、暂停、进入后台等等。这就是Activity的生命周期。2、Activity生命周期回调方法有哪些?常用的7个 + Activity异常关闭(比如内存不足)2个 = 9个方法常...

2020-03-10 20:17:57 1776

原创 Linux下Android手机的真机调试配置

在Linux下真机调试Android手机时经常遇到insufficient permissions for device的错误,并且adb devices会出现乱码,也没有权限做adb的任何操作。下面的配置方法可以解决这个问题(环境为Ubuntu):1. 进入Terminal,输入:sudo gedit /etc/udev/rules.d/50-android.rules,...

2020-02-02 18:32:38 311

原创 python初学随记

语言特点:开源、跨平台,扩展性强、类库多主流开发工具:pycharm学习版本:python3.6.5基础:注释用“#”基本数据类型(4种):整数 int浮点数float字符串str布尔值bool (True、False)序列(3种):字符串列表[1, 2, 3] 存储的内容可以变更 增加append() 移除remove()元组(“1”, “2”, “3”)存储的内容...

2020-02-02 12:33:17 250

原创 linux 常用命令

touch  生成一个空文件或更改文件时间cp 复制文件或目录mv 移动文件或目录 文件或目录改名rm 删除文件或目录mkdir 创建目录rmdir 删除目录cat  显示文本内容 正序tac  显示文本内容 倒序more 显示文本内容 分页wc 统计文件的行数,字数,字符数ln  建立链接文件  参数 -s 软链接

2014-04-29 11:09:45 471

翻译 《Thinking in Java》中利用Map测试Random类的随机性实例

简单介绍一下:      Map的介绍就7个字:“键值对,键唯一”!      Random:简单的说就是可以随机产生理想数字分布。虽然测试Random的随机性需要大量的随机数,但是利用Map很容易做到。 请看JavaCode:import java.util.HashMap;import java.util.Map;import java.util.Random;publ

2014-01-03 01:00:53 798

android 6.0运行时权限 工具类

android 6.0运行时权限工具类,简单易用,可以回调权限全部授权、权限被拒绝、全选被勾选不在提示3个用户操作。

2017-02-24

自定义日历

一个不错的Android 日历代码。传入要显示的天数。跳转到一个上下滑动的日历页面。(listView)

2015-07-04

仿ios switchButton

发现一下个高仿 iOS 的 swithButton 风格清新,有动画,分享一下。不是自己做的,只为分享。

2015-06-18

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

TA关注的人

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