Android
文章平均质量分 81
且待小僧伸伸脚+
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
注解简介及自定义注解处理器
1.基础知识注解分为标准注解和元注解。注解是代码中的特殊标记,可以在编译,类加载,运行时被读取,并执行相应的处理。标准注解有4种:@Override 对覆盖超类中的方法进行标记 @Deprecated 对不鼓励使用或已经过时的方法进行标记 @SuppressWarnings 选择性地取消特定代码段中的警告 @SafeVarargs 声明使用了可变长度参数的方法 元注解用来注解其他注解,从而创建新的注解。元注解有以下几种:@Target 注解...原创 2020-07-30 12:56:37 · 692 阅读 · 0 评论 -
Java 线程池
解释说明:Executor 是线程池最顶层的接口,在 Executor 中只有一个 execute 方法,用于执行任务。至于线程的创建、调度等细节由子类实现。ExecutorService 继承并拓展了 Executor,在 ExecutorService 内部提供了更全面的任务提交机制以及线程池关闭方法。ThreadPoolExecutor 是 ExecutorService 的默认实现,所谓的线程池机制也大多封装在此类当中。ScheduledExecutorService 继承自 E..原创 2020-07-29 19:04:23 · 276 阅读 · 0 评论 -
理解Android上下文Context
activity,service和application都间接继承Context,一个应用程序进程Context的数量等于activity和service的总数加1,即application的数量。我们开发中常用Context,使用场景一般为2大类,分别是:1.使用Context调用方法,比如启动Activity,访问资源,调用系统服务等。2.调用方法传入Context,如弹出Toast,创建Dialog等。Context是一个抽象类,内部拥有很多方法及静态常量,具体实现类为ContextImp原创 2020-07-27 21:45:43 · 339 阅读 · 0 评论 -
EventBus3.0源码解析(二):post()与postSticky()
在上一篇文章中,我们分析了register和unregister过程:EventBus3.0源码解析(一):register()与unregister()接下来我们分析post()与postSticky()。1.postSticky(Object event)这个方法是发送粘性事件,细节如下:public void postSticky(Object event) { ...原创 2020-02-17 14:59:24 · 534 阅读 · 0 评论 -
EventBus3.0源码解析(一):register()与unregister()
EventBus能够简化并且更加高效地在各组件间进行通信,本文基于EventBus3.1.1对其源码解析进行。1.getDfault()无论在进行注册register,unregister,或者是post时,都需先调用getDefault方法。方法细节:public static EventBus getDefault() { if (defaultInsta...原创 2020-02-16 21:25:54 · 545 阅读 · 0 评论 -
Android:实现井字棋小游戏
井字棋实现方式有许多,最简单的方法是将9个imagView组成棋盘,然后通过一些逻辑设计进行游戏。本文采用的是自定义View的方式进行游戏设计,通过继承View进行棋盘,选中状态绘制,效果如下:1.棋盘绘制 通过选取设置宽高中最小值作为控件宽高,并平均分为3段作为每小格的长度,在onDraw()方法中绘制棋盘,代码如下://重写onMeasure()设置宽高@Ov...原创 2020-01-01 23:43:15 · 3772 阅读 · 0 评论 -
安卓Bug记录
1.Unable to start activity ComponentInfo{com.example.administrator.practice/com.example.administrator.practice.Main4Activity}: android.content.res.Resources$NotFoundException: Drawable com.example.adm...原创 2019-12-01 09:06:18 · 457 阅读 · 0 评论 -
设计模式——单例模式
单例模式(Singleton pattern),是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。如果仅仅是提供全局访问的方法,这种情况下考虑使用静态方法,当类中需要访问资源并需要关注类中对象状态时,则应该使用单例模式。如EventBus,内部缓存了订阅者及其订阅方法的信息,...原创 2019-11-03 10:39:13 · 244 阅读 · 0 评论 -
android学习路线
(图片来源于网络)热门框架源码分析android学习路线原创 2019-11-02 11:07:03 · 669 阅读 · 0 评论 -
自定义布局: HorizontalScrollView——支持横向滑动
这是一个支持横向滑动,并处理了滑动冲突的自定义ViewGroup。几乎涵盖了自定义viewGroup的所有知识,对于理解View的相关知识有一定的帮助,是一个不错的实战Demo。以下为功能,所做的处理及对应的知识点。1.支持横向滑动 为了使布局能够横向滑动,需要重写onTouchEvent()方法,在这个方法中判断是否为横向滑动,如果是的话就使用scrollBy()方法让布局内容滑...原创 2019-09-29 10:31:48 · 1365 阅读 · 0 评论 -
更好地理解 scrollBy() / scrollTo()
scrollTo()与scrollBy()是View提供于实现滑动的方法,其中scrollBy()内部调用了scrolTo()。scrollTo()是移动到具体坐标,scrollBy()是在当前情况下根据传入的偏移量移动。 /** * Move the scrolled position of your view. This will cause a call to * ...原创 2019-09-22 11:37:35 · 639 阅读 · 0 评论 -
java进阶文章链接
java 泛型:java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一 Java 泛型,你了解类型擦除吗?java 注解:深入理解Java注解类型 秒懂,Java 注解 (Annotation)你可以这样学java 反射:深入理解Java类型信息(Class对象)与反射机制 ...原创 2019-08-30 22:55:26 · 286 阅读 · 0 评论 -
Android Handler 消息机制
一、Handler的简单使用class LooperThread extends Thread { public Handler mHandler; public void run() { Looper.prepare(); mHandler = new Handler() { ...原创 2020-03-28 22:40:59 · 356 阅读 · 0 评论 -
android RecyclerView 基础知识总结
目录一 . 介绍及基本用法二. 点击事件及分割线三 . 增加及删减item 一 . 介绍及基本用法 RecyclerView 是一个强大的滚动控件,应用场景广泛。像消息列表,微博信息等场景大多使用RecyclerView。它具有高度的解耦,异常的灵活性和更高的效率,逐渐替换掉ListView和GridView。 基本用法: 使用前先在 app/bui...原创 2018-07-12 11:32:28 · 580 阅读 · 0 评论 -
Android 动画
目录一 . 补间动画与帧动画二 . 属性动画 一 . 补间动画与帧动画 1.补间动画 补间动画可以对view进行一系列动画操作。有以下四种: 有两种实现方式。一是通过配置文件实现。在res文件下新建anim文件夹,在此文件夹新建动画文件编写动画。例子: ...原创 2018-07-30 11:27:40 · 336 阅读 · 0 评论 -
Android自定义View: 组合按钮
如上图,将两个按钮组合在一起,点击红色按钮将蓝色按钮隐藏或展开,中间用动画实现过渡,蓝色按钮上移或下移,红色按钮以一定规律旋转。实现思路不难,主要是熟悉一下自定义View的流程。 1.自定义属性。在values目录下新建文件,设置自定义View的属性。本例我们设置两个按钮的半径j就行了。<?xml version="1.0" encoding="utf-...原创 2018-10-02 23:43:01 · 1033 阅读 · 0 评论 -
ViewPager 滑动切换效果
ViewPager是一个允许页面左右滑动的布局管理器,不同的页面可以有不同数据。我们可以通过实现ViewPager.PageTransformer接口来自定义滑动切换效果。 我们需重写transformPage方法,这个方法有2个参数。第一个参数是指需要设置滑动效果的页面,包括即将滑出页面,即将滑入页面,已经滑出的页面,我们可以通过第二个参数判断第一个参数是指哪个页面。...原创 2018-09-30 19:45:54 · 4085 阅读 · 4 评论 -
Android activity总结
目录1.activity生命周期2.activity的启动方式1.activity生命周期(下图源网络)由图可知,activity生命周期包含7种方法。 onCreate():表示activity正在创建。我们可以在此方法完成一些初始化工作。此方法含有参数Bundle savedInstanceState,用 于恢复activity异常情况下被销毁...原创 2019-05-04 18:05:02 · 357 阅读 · 0 评论 -
android 广播总结
目录1.广播介绍2.广播分类3.广播基本使用1.广播介绍 广播,android四大组件之一。Android提供了一套完整的API,允许应用程序自由地发送和接受广播。发送广播使用Intent,接受广播使用Broadcast Receiver(广播接收器)。 广播可用于不同app之间的组件之间消息通信,同一app具有多个进程的不同组件之间的消息通...原创 2020-08-13 10:32:43 · 357 阅读 · 0 评论 -
Android Service总结
目录1.Service 简介2.Service 的生命周期3.Service 的基本用法1.Service 简介 Service 是Android四大组件之一,它的作用是实现程序后台运行。它的运行不依赖用户界面,生命周期长。比如执行下载,音乐播放等任务。Service一般依赖于创建它的进程,一旦所依赖进程被杀死,Service也会停止执行。Service默认执...原创 2019-12-18 21:08:34 · 241 阅读 · 0 评论 -
Android 常用控件使用总结
目录1.通知的使用2.菜单的使用3.AlertDialog的使用 1.通知的使用 通知在状态栏,锁屏画面显示我们发送的信息,提醒用户。通知用法比较灵活,可以在活动中创建,也可以在服务,广播接收器里创建。下面以在活动中创建为例,代码如下:public class MainActivity extends AppCompatActivity { @Overri...原创 2019-11-21 22:20:42 · 386 阅读 · 0 评论 -
View的事件分发机制总结
事件分发机制是指系统对用户手指接触屏幕时所产生的一系列MotionEvent对象在View的层级中如何传递所制定的机制。1.MotionEventMotionEvent是一个类,Android将输入事件都生成了 MotionEvent对象。主要有这几种事件类型:类型 说明 ACTION_DOWN 代表手指刚接触屏幕 ACTION_MOVE 代表手指在屏幕上移动...原创 2019-10-14 21:54:10 · 281 阅读 · 0 评论 -
Android SharedPreferences 与 SQLite 基本使用
目录一. SharedPreferences二. SQLite一. SharedPreferences SharedPreferences 属于轻量级的键值对存储方式,支持基本数据类型存储,所保存的数据会以xml格式文件储存在手机内存。 1.使用 SharedPreferences 储存数据 首先需要获取到 SharedPreferen...原创 2018-07-21 17:00:45 · 1468 阅读 · 0 评论
分享