- 博客(35)
- 收藏
- 关注
原创 Bitmap的使用
Bitmap的使用1 Bitmap1.1 Bitmap.Config1.2 Bitmap.CompressFormat1.3 常用方法2 BitmapFactory2.1 Bitmap 创建2.2 Option 类3 Bitmap的压缩加载1 BitmapBitmap中有两个枚举1.1 Bitmap.ConfigConfig单位像素所占字节数解析ALPHA_81颜色信息只由透明度组成,占 8 位RGB_5652颜色信息由 rgb 三部分组成, R 占
2020-07-18 23:39:42
477
原创 Android图像绘制相关
Android图像绘制相关APICanvas的draw方法及paint常见使用CanvasPaintPaint详情1 颜色1.1 基本颜色1.2 setColorFilter(ColorFilter colorFilter)1.3 setXfermode(Xfermode xfermode)2 效果2.1 setAntiAlias (boolean aa) 设置抗锯齿2.2 setStyle(Paint.Style style)2.3 线条形状2.4 色彩优化2.5 setPathEffect(PathEf
2020-07-18 23:27:53
459
转载 Java学习(四)算法
Java学习(四)算法算法经典排序算法插入排序希尔排序选择排序堆排序冒泡排序快速排序归并排序经典查找算法线性查找二分查找树排序算法经典排序算法插入排序 将右侧无序数据取出,与左侧有序数据最后一个数据比较,小于则交换位置。因为for循环导致下标多-1,所以最后计算需要+1 public static void insertSort(int[] array) { for (int i = 1; i < array.length; i++) { i
2020-05-30 11:15:51
278
原创 Java学习(三)数据结构
Java学习(三)数据结构数据结构关于泛型数据结构 部分常用数据结构接口概述LIST有序,可重复。一种知道索引位置的集合。SET不允许重复。MAP键值对、键唯一、值不唯一。关于泛型 其中有三件事是重要的:创建被泛型化类实例new ArrayList<Test>()声明与指定泛型类型的变量List<Test> list = new ArrayList<Test>();声明(与调用)取用泛型类
2020-05-30 11:07:59
264
原创 Java学习(二)构造器与垃圾收集器
Java学习(二)构造器与垃圾收集器构造器与垃圾收集器栈与堆:生存空间要点构造器要点父类以及继承与构造函数之间的关系对象的生命周期构造器与垃圾收集器栈与堆:生存空间 在Java中,在乎内存的两种区域:对象的生存空间堆(heap)和方法调用及变量的生存空间(stack)。 实例变量是被声明在类而不是方法里面。它们代表单独对象的“字段”。实例变量存在所属的对象中。 下面 i 就是实例变量。public class Test { int i;} 局部变量和方法的参数都是被声明在方
2020-05-17 20:32:11
127
原创 Java学习(一)基础概念
Java学习(一)基础概念基础概念Java的工作方式类与对象基础概念Java的工作方式类与对象 1.对象是靠类的模型塑造出来的。类是对象的蓝图。它会告诉虚拟机如何创建某种类型的对象。 2.所有的Java程序都定义再类中。 3.对象已知的事物称为实例变量,它代表对象的状态 4.对象可执行的动作称为方法,它代表对象的行为。...
2020-05-16 19:53:51
129
原创 Android进阶学习(六)Android的线程和线程池
Android进阶学习(六)Android的线程和线程池Android的线程和线程池1 主线程和子线程2 Android中的线程形态2.1 AsyncTask2.2 AsyncTask的工作原理2.3 HandlerThread2.4 IntentService3 Android中的线程池3.1 ThreadPoolExecutor3.2 线程池的分类3.2.1 FixedThreadPool3....
2020-05-05 18:28:29
254
原创 Android进阶学习(五)Android的消息机制
Android进阶学习(五)Android的消息机制Android的消息机制1 Android的消息机制概述2 Android的消息机制分析2.1 ThreadLocal 的工作原理2.2 消息队列的工作原理2.3 Looper的工作原理2.4 Handler的工作原理文本是阅读《Android开发艺术探索》的学习笔记记录,详细内容可以自行阅读书本。Android的消息机制 Android...
2020-05-05 01:39:05
292
原创 Android进阶学习(四)View的工作原理
Android进阶学习(四)View的工作原理View的工作原理1 初识ViewRoot和DecorView2 理解MeasureSpec2.1 MeasureSpec2.2 MeasureSpec和LayoutParams对应关系3. View的工作流程3.1 measure过程3.1.1 View的measure3.1.2 ViewGroup的measure3.2 layout过程3.3 dr...
2020-05-04 20:06:15
205
原创 Android进阶学习(三)View的事件体系
Android进阶学习(三)View的事件体系View的事件体系1 View基础知识1.1 什么是View1.2 View的位置参数1.3 MotionEvent和TouchSlop1.4 Scroller2 View的滑动2.1使用scrollTo/scrollBy2.2 使用动画2.3 改变布局参数3 弹性滑动3.1 使用Scroller3.2 通过动画3.3 延时策略4 View的事件分发机...
2020-05-03 20:04:27
227
原创 设计模式学习(十)状态模式
设计模式学习(九)迭代器与组合模式状态模式举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本状态模式 允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。举例 一家糖果公司需要实现一个糖果售货机,它的实现逻辑如下,需要先投入1元,再转动曲柄,机器人吐出糖果,如果还有剩余糖果就继续售货: 如果我们通过条件语句来控制,也可以实现代码逻...
2020-05-03 00:22:04
231
原创 设计模式学习(九)迭代器与组合模式
设计模式学习(九)迭代器与组合模式迭代器与组合模式迭代器模式举例附加题组合模式举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本迭代器与组合模式迭代器模式 提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式让我们能够游走于聚合内的每个元素,而又不暴露内部的表示。举例 一个餐厅需要实现菜单项目。其中包括早餐菜单和午...
2020-05-02 20:45:53
179
原创 设计模式学习(八)模板方法模式
设计模式学习(八)模板方法模式模板方法模式设计原则举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本模板方法模式 在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。设计原则 别调用我们,我们会调用你。也就是高层组件来决定什么时候调用低层组件。举例 我们需要制作咖啡和...
2020-04-26 22:09:49
121
原创 Android进阶学习(二)Android动画分析
Android动画分析Android动画分析1 View动画1.1 View动画的种类1.2 帧动画2 View动画的特殊使用场景2.1 LayoutAnimation2.2 Activity切换效果3 属性动画文本是阅读《Android开发艺术探索》的学习笔记记录,详细内容可以自行阅读书本。Android动画分析 Android的动画可以分为三种:View动画、帧动画和属性动画。虽然帧动...
2020-04-19 23:34:16
643
1
原创 设计模式学习(七)适配器模式与外观模式
设计模式学习(七)适配器模式与外观模式适配器模式与外观模式适配器模式举例外观模式本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本适配器模式与外观模式适配器模式 适配器模式定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。 生活中类似的当两角插头遇到三角插座时,我们需要一个交流电适配器来使插座满足插座要求。举例...
2020-04-19 19:12:46
347
原创 设计模式学习(六)命令模式
设计模式学习(六)命令模式命令模式举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本命令模式 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。举例 设计遥控器,分别装有7组“开”与“关”按钮来控制多个设备,还需要支持整体的撤销功能。 1.首先,我们需要实现命令的接口public interfa...
2020-04-19 16:18:16
148
原创 设计模式学习(五)单件模式
设计模式学习(五)单件模式单件模式经典单件模式改善多线程单件模式同步初始化创建双重检查加锁本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本单件模式 单件模式是非常常用的模式,它确保一个类只有一个实例,并提供一个全局访问点。 我们可以通过私有的构造器来实现类不能让其他类实例化。再通过提供静态方法来获取该类对象。经典单件模式public class Si...
2020-04-14 23:29:30
123
原创 设计模式学习(四)工厂模式
设计模式学习(四)工厂模式工厂模式简单工厂模式举例工厂方法模式举例抽象工厂模式举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本工厂模式常用的工厂模式可以分为三种类型。简单工厂模式 其实不是一个设计模式,而是一种编程习惯。举例 假设现在有个披萨店,我们有非常多的披萨需要制作,所以我们的代码可以写成:public class PizzaStore...
2020-04-14 00:25:32
166
原创 设计模式学习(三)装饰者模式
设计模式学习(三)装饰者模式装饰者模式定义设计原则举例问题分析代码本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本装饰者模式定义 动态的将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。 注意:装饰者会导致设计中出现许多小对象,如果过度使用,会让程序变复杂。设计原则 对扩展开放,对修改关闭。举例 有一家咖啡店需要开发订单系...
2020-04-12 17:48:26
167
原创 设计模式学习(二)观察者模式
设计模式学习(二)观察者模式观察者模式定义设计原则举例本文是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本观察者模式定义 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖着都会收到通知并自动更新。设计原则 1.为了交互对象之间的松耦合设计而努力。举例 当气象站的数据发生改变时,需要通知展示板进行数据更新。三个展示板通过订阅气...
2020-04-08 22:59:30
133
原创 设计模式学习(一)策略模式
设计模式学习(一)策略模式策略模式定义设计原则举例分析实现文本是阅读《Head First 设计模式》的学习记录。详细内容可以自行阅读书本策略模式定义 定义了算法组族,分别分装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。设计原则 1.找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。...
2020-04-07 00:25:49
128
原创 Android进阶学习(一)Activity的生命周期和启动模式
Activity的生命周期和启动模式Activity的生命周期分析正常情况下的生命周期异常情况下的生命周期Activity的启动模式activity的基本用法,可以参考这篇文章。文本是阅读《Android开发艺术探索》的学习笔记记录。Activity的生命周期分析正常情况下的生命周期生命周期描述onCreate()表示activity正在被创建。可以在该方法内做一些...
2020-04-04 19:14:29
331
1
原创 Android搭建HTTP和WebSocket的服务器端
Android服务器搭建Android服务器搭建AndServer搭建HTTP服务器配置依赖创建服务器举例展示Java-WebSocket搭建WebSocket配置依赖创建服务器举例展示Android服务器搭建搭建Android服务器,是有一定需求的。当需要一定数据传输时,如果额外搭建服务器,会造成一定的开发成本问题和数据延迟问题。这时如果搭建一个Android平台服务器,可以很好的解决此问题...
2020-03-07 11:21:08
4380
5
原创 Android学习(九)初学网络技术
Android学习(九)初学网络技术网络开发HTTP开发 HttpURLConnection解析网络数据XML格式Pull解析SAX解析JSON格式JSONObjectGSON网络开发现在大部分app都会包含网络开发,网络开发可以极大丰富内容。这里只是一些基本的网络开发技术学习。HTTP开发 HttpURLConnection这里我们使用的是HttpURLConnection进行HTTP开...
2020-02-21 12:59:21
131
原创 Android学习(八)Service服务
Android学习(八)Service服务Service基础创建Service启动和停止Service创建IntentService启动IntentService绑定服务服务准备活动准备前台服务Service服务是一个不提供用户界面,可以长时间在后台运行的应用程序组件。例如,一项服务可以在后台处理网络事务,播放音乐,执行文件I / O或与内容提供者进行交互。基础创建Service这是所有...
2020-02-20 11:15:50
403
原创 Android学习(七)Android多线程初学
Android学习(七)Android多线程初学多线程基本用法继承Thread实现Runnable接口异步消息处理 HandleAsyncTask多线程开发中一定会需要用到多线程开发。当遇到耗时操作,如果都放在主线程就会造成app ANR,用户体验极差。所有我们需要把这些不需要对UI进行操作的开发放到子线程中。后续会继续完善内容。基本用法继承Thread继承Thread后,重写run...
2020-02-19 17:46:03
265
原创 Android学习(六)Android 多媒体
Android学习(六)Android 多媒体Android 多媒体应用通知(Notification)基本用法高级用法音频播放(MediaPlayer)Android 多媒体应用手机更新换代越来越快,衍生出了很多多媒体技术。持续更新一些比较常用的多媒体技术,供大家参考。通知(Notification)这个功能大家应该都体验过,app经常弹出通知,可以进行简单消息浏览和点击跳转的交互。基...
2020-02-19 16:43:34
277
原创 Android学习(五)数据存储
Android学习(五)数据存储数据存储文件存储SharedPreferencesSQLite数据库数据存储属于Android的常用的数据存储。我总结了三种,后面再补上代码。文件存储这个文件存储方式是最基本通用的。比较适合存储一些,不需要进行加工修饰的数据。SharedPreferences该存储方式使用键值对形式进行存储。比较适合存储一些,操作频繁的简短数据。SQLite数据库A...
2020-02-19 12:03:46
120
原创 Android学习(四)广播
Android学习(四)广播广播广播随Android版本带来的变动接收广播静态注册动态注册发送广播标准广播有序广播本地广播广播这个机制使得Android开发更加灵活,方便。类似于发布—订阅设计模式。不仅系统提供了丰富的广播供我们监听,还可以自定义广播进行使用。广播随Android版本带来的变动广播经常随着Android版本的发布而发生改变,尽量在使用前关注一下每个版本的广播变动。详细官方描...
2020-02-19 11:49:42
358
原创 Android学习(三)fragment
Android学习(三)fragmentfragmentfragment基本使用碎片的生命周期碎片的状态生命周期图fragmentfragment称为碎片,提供了重用性,减少了activity的代码量。fragment基本使用使用流程基本和activity一致创建布局文件,新建fragment类创建布局文件<?xml version="1.0" encoding="utf-...
2020-02-18 19:20:44
202
原创 app无法响应开机广播
app无法响应开机广播或者静态广播开机广播广播自我检查开机广播部分app会有开机要求自启动功能。通过监听系统的开机广播,可以轻松实现该功能。但是我遇到了开机广播经常无法响应的情况,在网上也看了很多大神的分析。在这分享一下我遇到的情况,解决方法。广播自我检查必须申请权限这里我们是开机广播,就申请监听开机广播的权限<uses-permission android:name="an...
2020-02-18 11:55:13
736
原创 android 以太网和Wi-Fi共存使用
android 以太网和Wi-Fi共存使用以太网和Wi-Fi共存使用从Android应用层方面从Android底层方面以太网和Wi-Fi共存使用现在联网方式相当多,其中就会有很多需求,要求在同一个app存在多种连接网络方式,且互不影响。从Android应用层方面我就直接把方法列举出来,如果有需要,后面再补上详细代码。还有方法欢迎大家补充。方法功能适用场景Connec...
2020-02-18 10:51:36
1751
原创 Android学习(二)初步UI学习
Android学习(二)初步UI学习如何编写Android UI界面常用控件基本布局ListViewRecyclerView如何编写Android UI界面使用Android Studio进行Android项目开发,通过编写XML代码进行UI界面开发。常用控件TextView该控件主要用于显示文本信息。在layout布局文件中使用标签< TextView >进行使用。常...
2020-02-16 13:15:17
665
原创 Git 常用指令记录
Git 常用指令记录创建代码库提交代码查看修改和撤销分支用法tag 版本控制创建代码库git init提交代码添加需要提交的文件第一种,添加单个文件git add [name]例如,git add app第二种,添加所有文件git add .提交该commit的描述信息第一种,简单添加描述信息git commit -m "test commit "第二种,添加详细...
2020-02-15 23:22:02
130
原创 Android学习(一)activity
Android学习(一)activity什么是activity?activity的基本用法探索Intent在activity中的使用activity的生命周期活动状态activity的生存期活动的启动模式standardsingleTopsingleTasksingleInstance什么是activity?Activity 类是 Android 应用的关键组件。它是直接被用户观察并进行交互使...
2020-02-15 22:40:03
608
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人