- 博客(34)
- 收藏
- 关注
原创 Retrofit
Retrofit是什么?准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装原因:网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责网络请求接口的封装。App应用程序通过Retrofit请求网络,实际上是使用Retrofit接口层封装请求参数、Header、Url 等信息,之后由 OkHttp完成后续的请求操作。在服务端返回数据之后,OkHttp 将原始的结果交给 Retrofit,Retrofit根据用户 的需求对结果进行解析。所以,网络请求..
2022-08-13 08:30:30
184
1
原创 OKHttp
历史上Http请求库优缺点在讲述OKHttp之前, 我们看下没有OKHttp的时代, 我们是如何完成http请求的 在没有OKHttp的日子, 我们使用 HttpURLConnection 或者 HttpClient . 那么这两者都有什么优缺点 呢?为什么不在继续使用下去呢?HttpClient 是Apache基金会的一个开源网络库, 功能十分强大, API数量众多, 但是正是由于庞大的API数量使得我们很难在不破坏兼容性的情况下对它进行升级和扩展, 所以Android团队在提升和优化。......
2022-08-12 20:29:27
1566
原创 HttpURLConnection详解、JSON的使用
在JDK的 java.net 包中已经提供了访问HTTP协议的基本功能的类:HttpURLConnection。HttpURLConnection是Java的标准类,它继承自URLConnection,可用于向指定网站发送GET请求、 POST请求。它在URLConnection的基础上提供了如下便捷的方法// 获取服务器的响应代码。// 获取服务器的响应消息。// 获取发送请求的方法。// 设置发送请求的方法。...
2022-08-12 18:59:27
3936
原创 三个绘图工具类详解Paint(画笔)Canvas(画布)Path(路径)
drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint): 画弧,参数一是RectF对象,一个矩形区域椭圆形的界限用于定义在形状、大小、电 弧,参数二是起始角 (度)在电弧的开始,参数三扫描角(度)开始顺时针测量的,参数四是如果 这是真的话,包括椭圆中心的电 弧,并关闭它,如果它是假这将是一个弧线,参数五是Paint对象;...
2022-08-08 20:35:36
2693
原创 android自定义view
在Android开发中有很多业务场景,原生的控件是无法满足应用,并且经常也会遇到一个UI在多处 重复使用情况,那么就需要通过自定义View的方式来实现这些UI效果。作为一个Android开发工程师自定义View属于一个必备技能。自定义View的实现方式有以下几种: 组合控件,继承控件,自绘控件详细可分为:自定义组合控件,继承系统View控件,继承系统ViewGroup,自绘View控件,自绘ViewGroup控件组合控件就是将多个控件组合成一个新的控件,可以重复使用。...
2022-08-08 20:10:34
10328
原创 Material Design
是因为Snackbar.make()传入了一个view,这是用来指定Snackbar是哪个View触发的,所以传入的是悬浮 按钮控件本身,悬浮按钮控件是CoordinatorLayout的子控件,所以能成功。是用于替换该栏目的,以便于我们更灵活的编辑栏目内容,所以我们先将主题文件中的DarkActionBar改为NoActionBar,再次运行就可以发现顶端的栏目不见了。Snackbar允许在提示中加入一个可交互按钮,当用户点击按钮的时候,就可以执行一些额外的逻辑 操作。...
2022-08-06 20:37:17
159
原创 CardView的基本使用、DrawerLayout 滑动菜单、Fragment
1. Fragment是依赖于Activity的,不能独立存在。2. 一个Activity里可以有多个Fragment。3. 一个Fragment可以被多个Activity重用。4. Fragment有自己的生命周期,并能接收输入事件。5. 可以在Activity运行时动态地添加或删除Fragment。3.1.2 Fragment生命周期3.2 Fragment的静态加载静态加载--以标签的形式添加到Activity的布局当中。3.3 Fragment的动态使用。...
2022-08-05 20:31:16
1519
原创 RecycleView、ViewPager2的使用
RecyclerView是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字Recyclerview即回收view也可以看出。RecyclerView 支持 线性布局、网格布局、瀑布流布局 三种,而且同时还能够控制横向还是纵向滚动。ViewPager2 是基于 RecyclerView 实现的,自然继承了 RecyclerView 的众多优点,并且针对 ViewPager 存在的问题做了优化。.........
2022-08-01 20:40:33
1482
原创 AIDL通信
AIDL是用于定义服务端和客户端通信接口的一种描述语言,可以拿来生产IPC代码,从某种意义上说AIDL其实就是一个模板,因为在使用过程中,实际起作用的并不是AIDL文件,而是据此生产的一个Interface的实例代码,AIDL其实是为了避免我们重复写代码而出现的一个模板。...
2022-07-31 21:36:14
718
原创 属性动画(Property Animation) 、 Butterknife黄油刀的基本使用
- Andoid 3.0引入,可以说是补间动画的增强版,不止可以实现四种动画效果,可以定义任何属性的变化;- 执行动画的对象不只是U控件。可以对任何对象执行动画(不管是否显示在屏幕上)- 属性动画通过对目标对象进行赋值来修改其属性,上面那个按钮问题就不存在了~......
2022-07-29 08:39:39
120
原创 动画(animation)
在APP中添加上一些动画,会让我们的应用变得 很炫,比如最简单的关开Activity,当然自定义控件动画肯定必不可少啦~而Android中的动画 分为三大类,**逐帧动画(Frame)**以及**补间动画(Tween)**,还有Android 3.0以后引入的**属性动画(Property)**...
2022-07-27 15:50:42
426
原创 Thread三种实现方式、Handler的用法、IntentService、 handlerThread
第一种方式//写耗时操作代码//如果子线程已经执行了耗时操作,那么就不能修改视图的属性了;视图的属性只能在UI线程去修改}}第二种方式}}}第三种方式(常见、推荐)//耗时任务Stringresult="匿名线程";Log.i("匿名线程",result);}}}).start();/***从服务器接收到用户的昵称,并将昵称设置在textview对应的text属性上*.........
2022-07-25 21:39:30
178
原创 BroadCast(广播)
BroadCast Receiver四大组件之一,必须在清单(androidManifest.xml)文件中进行注册是在组件之间传播数据(Intent)的一种机制APP哪块用到了广播?电话短信电量WIFI是否连接
2022-07-23 20:19:43
99
原创 SQLite数据库
android中采用的数据库是SQLite这个轻量级的嵌入式开源数据库SQLite 轻量 无需配置的 本地化借用Class,DBHelper 继承SQLiteOpenHelper实现两个抽象方法 onCreate() onUpgrade() 创建一个带参的构造方法 在构造方法中 创建数据库 在onCreate() 方法中,创建表和插入数据.........
2022-07-23 19:43:05
769
原创 SharedPreferences数据储存
SharedPreferences 是 Android 系统提供的一个通用的数据持久化框架,用于存储和读取 key-value 类型的原始基本数据对。
2022-07-23 08:42:29
393
原创 Service服务
Service什么是ServiceService是Android四大组件之一 (必须在androidManifest.xml中进行注册)可以在后台执行长时间运行操作而没有用户界面的应用组件
2022-07-20 14:06:55
341
原创 ProgressBar 进度条、PopuoWindow 弹出框、Dialog 对话框 (重点)、Spinner 下拉框 (重点)
ProgressBar 进度条PopuoWindow 弹出框Dialog 对话框 (重点)Spinner 下拉框 (重点)
2022-07-18 20:41:10
303
原创 Android的点击事件
Button按钮的点击事件 1. 内部类 单个按钮,代码量较多的时候 2. 匿名内部类 单个按钮,并且代码量较少的时候 3. 实现onClickListener接口
2022-07-17 16:31:22
404
原创 Android的基础布局
Android的基础布局LinearLayout 线性布局RelativeLayout 相对布局TableLayout 表格布局FrameLayout 帧布局(框架布局)ConstrantLayout 约束布局 (Android Studio默认布局) 用于拖拽的。
2022-07-15 08:48:20
518
原创 Android的基础操作
Android的开发环境安装JDK,并配置JDK的环境变量过程安装IDE(开发工具),Android Studio(简称AS)下载对应版本SDK下载虚拟机如何使用AS创建第一个android项目 1.第一步: 2. 第二步: 第三步:跟着步骤走 , 然后点击Finish,项目就搭建完成了 重点1: name: 表示:项目名称 规范:驼峰形的命名方式,首字母大写Package name:表示:包名 规范:三个词语, 全部小写Save locaton: 表示:项目的保存地址 规划:不
2022-07-12 22:27:25
137
原创 Java集合
集合:就是有来存放数据 的一个容器Java提供集合类: * 它的一个长度是可以改变 * 能存储任意的对象。 * 长度是随着你元素的增加而增加数组和集合区别? * 1.数组能存基本数据类型,和 引用类型 * 2.集合当中只能存放引用数据类型,直接放,也会自动帮你装箱(把基本数据类型转成对象) 集合类存放于Java.util包中,主要有3种:set(集)、list(列表包含Queue)和map(映射)。1. Collection:Collectio
2022-06-28 09:35:00
127
原创 打印直角三角型、等腰三角型、菱形
如果用户输入的行数为奇数,则打印出菱形;否则提示用户输入奇数三、打印倒直角三角形 ,根据控制台输入四、打印等腰三角形,根据控制台输入五、打印菱形,如果用户输入的行数为奇数,则打印出菱形;否则提示用户输入奇数......
2022-06-15 15:44:15
2377
原创 java第一课
一、简介 Java 是一种高级的、面向对象的、可跨平台的程序设计语言1.1计算机编程语言介绍 计算机语言很多种,如:C、C++、Java、PHP、kotlin、python、Scala等。 第一代语言:指令以二进制代码形式存在 第二代语言:汇编语言。使用助记符表示一条机器指令。 第三代语言: C、Pascal、Fortran面向过程的语言
2022-06-09 16:23:52
148
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人