自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 仿写Eyepetizer项目总结

效果图项目中第三方依赖okhttpOkHttp is an HTTP client that’s efficient by defaultgson谷歌提供的开源库-(将一段JSON格式的字符串自动映射成一个对象)Tablayout控件顶部导航栏 结合viewPager使用GlideGlide is a fast and efficient image loading library fo

2020-05-30 19:33:11 1467

原创 Android学习之okhttp

OKHTTP整体流程同步请求OkHttpClient client = new OkHttpClient();Request request = new Request.Builder() .url(url) .build();Response response = client.newCall(request).execute();return response.body().string();首先实例化一个OkHttpClientOkHttpClient实例的newC

2020-10-11 12:54:53 189

原创 理解JAVA虚拟机之理解GC

理解GC作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不必过度担心,因为java提供了自动内存管理以及垃圾清理机制。一 JVM运行时内存布局方法区是一块各线程共享的内存区域存储已经被虚拟机加载的类信息,常量,静态变量等等数据。在方法区有一个运行时常量池,存放的是编译器生成的各种字面量以及符号引用堆是一块各线程共享的内存区域是java虚拟机管理的内存中最大的一块,存放的是对象实例。是垃圾收集器管理的主要区域程序计数器每个线程都有一个独立的程序

2020-09-25 21:58:14 116

原创 Android学习之Handler

Handler机制工作原理定义是Android的一套消息传递机制将工作线程中需更新UI的操作信息 传递到 UI主线程,从而实现 工作线程对UI的更新处理,最终实现异步消息处理ABOUT主线程处理与UI有关的操作子线程处理一些耗时的操作(人为手动开启)Message是线程之前通讯的数据单元,存储需要传递的消息Handler添加Message到Message Queue;处理Looper的Message。是线程消息的主要处理者。Looper消息循环的核心

2020-09-11 20:42:41 99

原创 探究动态规划

动态规划是多阶段决策最优解模型<自下而上求每个问题的最优解>三要素最优子结构状态转移方程重叠子问题例1.以斐波那契数列问题为例:采用递归的思路,自上而下public static int fibonacci(int n) { if (n == 1) return1; if (n == 2) return2; return fibonacci(n - 1) + fibonacci(n - 2);}改用自底向上的方式来递推,即动态规划public

2020-08-07 11:24:29 111

原创 jetpack探究之LiveData

LiveData一 概述是一种可观察的数据存储器类。该类遵循其他组件的生命周期,这样的一种特性保证它只观察处于活跃生命状态的组件观察者如果观察者(由 Observer 类表示)的生命周期处于 STARTED 或 RESUMED状态,则 LiveData 会认为该观察者处于活跃状态。LiveData 只会将更新通知给活跃的观察者。为观察 LiveData 对象而注册的非活跃观察者不会收到更改通知。优势确保界面符合状态,数据改变时通知界面不会发生内存泄漏,与LifeCycles绑定,在组件生命周期

2020-08-06 14:07:43 173

原创 jetpack探究之ViewModel

ViewModel一 概述ViewModel以注重生命周期的方式存储和管理界面相关的数据因配置更改而重新创建 Activity 后,新 Activity 必须页面数据。对于简单的数据,Activity 可以使用 onSaveInstanceState() 方法从 onCreate() 中的捆绑包恢复其数据,但此方法仅适合可以序列化再反序列化的少量数据,而不适合数量可能较大的数据,如用户列表或位图。ViewModel从界面控制器逻辑中分离出视图数据所有权,这种方法简单高效二 实现架构组件为界面

2020-08-06 14:04:43 260

原创 jetpack探究之Lifecycles

Lifecycles生命周期感知型组件可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化使用新建立一个辅助类继承自LifecycleObserver,该类作为观察者,观察所在Activity或Fragment的生命周期,从而在不同时候做不同的事情。(利用的是注释的方式)public class MyChronometer extends Chronometer implements LifecycleObserver { public

2020-08-06 14:00:40 98

原创 android学习笔记 之 View

基础View的位置主要由它的四个顶点来决定,即它的四个属性:top、left、right、bottom,分别表示View左上角的坐标点( top,left) 以及右下角的坐标点( right,bottom)width=right-leftheight=bottom-topx和y是View左上角的坐标,而translationX和translationY是View左上角相对于容器的偏移量x = left + translationX;y = top + translationY;top,left

2020-07-20 17:31:03 182

原创 探究Kotlin之第三部分

高阶函数如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么称该函数为高阶函数。fun num1AndNum2(num1: Int, num2: Int, operation: (Int, Int) -> Int): Int { val result = operation(num1, num2) return result}fun plus(num1: Int, num2: Int): Int { return num1 + num2}fun

2020-07-15 02:00:16 104

原创 探究Kotlin之第二部分

标准函数let首先,最常用的?.操作符,是判空操作符,当对象不为空时正常运行,当对象为空时,什么都不做。当我们不需要kotlin的空指针检查时,我们需要在我们的对象后加!!同时,我们也可以使用kotlin的标准函数letfun doEat(p:Person?) { p?.eat()}fun doEat(p: Person?) { if (p != null) { p.eat() }}fun doEat(p: Person?) { p?.le

2020-07-13 18:43:05 94

原创 操作系统学习第一部分

操作系统(一)操作系统的定义与功能定义是指控制和管理整个计算机系统的硬件和软件资源,并合理的组织调度计算机工作和资源的分配,以提供给用户和其他软件方便的借口和环境,它是计算机系统中最基本的系统软件。操作系统的功能和目标操作系统——作为系统资源的的管理者提供的功能:处理机管理;存储器管理;文件管理;设备管理;目标:安全,高效;操作系统——作为用户和计算机硬件之间的接口命令接口:(允许用户直接使用)联机命令接口:用户说一句,系统做一句(交互式命令接口)例如cmd命令

2020-07-12 17:23:30 295

原创 Java按位运算符

Java运算符与运算符 & int x=9;//1001 int y=8;//1000 int z=x&y;//1000与运算符 要求两个对应位皆为1,则结果为1或运算符 | int x=9;//1001 int y=8;//1000 int z=x|y;//1001两个位只要有一个为1,那么结果就是1,否则就为0非运算符 ~ int z=11;//1

2020-07-12 00:32:35 204

原创 jetpack探究之WorkManager

2018年谷歌I/O 发布了一系列辅助android开发者的实用工具,合称Jetpack,以帮助开发者构建出色的 Android 应用。Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。使用WorkManager的好处轻松地调度即使是应用退出甚至设备重启时仍然应该运行的可延迟异步任务用统一的方法解决绝大部分后台滥用问题(滥用后台的任务导致设备变慢,电池损耗,数据流量丢失…

2020-07-04 20:47:11 171

原创 探究Kotlin之第一部分

很不习惯的一点,kotlin每一行代码结尾不需要加;变量和函数变量val不可变的变量,对应java中的final变量var可变的变量,初始赋值后还可以继续赋值

2020-06-13 20:03:07 144

原创 GSON(1)

GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。可以将一个Json字符转成一个Java对象,或者将一个Java转化为Json字符串。GitHub链接 https://github.com/google/gson/JSON有2种类型:一种是对象object -> {key:value,key:value,...}另一种...

2020-05-08 11:57:38 194

原创 ViewBinding

环境要求Android Studio版本3.6及以上Gradle 插件版本3.6.0及以上视图绑定功能可按模块启用 要在某个模块中启用视图绑定,将 viewBinding 元素添加到其 build.gradle 文件中android { ... viewBinding { enabled = true } }...

2020-05-07 22:45:07 386

原创 RxJava 学习(1)

GitHub地址:https://github.com/ReactiveX/RxJavahttps://github.com/ReactiveX/RxAndroid一.概述a library for composing asynchronous and event-based programs using observable sequences for the Java VMRxJav...

2020-05-06 15:56:40 179

原创 algorithm_review(1)

结构体的简单demo#include <stdio.h>#include <stdlib.h>struct link *AppendNode(struct link *head);void DisplayNode(struct link *head);void DeleteMemory(struct link *head);//定义结构体 struct lin...

2020-05-03 17:25:25 198

原创 Android_review(一)

活动活动的创建,以及在AndroidManifest文件中的注册。配置主活动使用标签并在标签里添加声明<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MA...

2020-03-29 01:45:15 288

空空如也

空空如也

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

TA关注的人

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