自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 官方文档学习笔记(1):补充:应用组件的启动方式和清单文件AndroidManifest.xml简单介绍:

应用组件的启动方式:四种应用组件中,其中三种类型分别为Activity,Service和Broadcast需要通过Intent异步定义来启动组件。而ContentProvide和前者不同,当成为ContentResolver的目标对象时候就会启动该组件。对于Activity,Service和Broadcast来说都是通过Intent启动应用,但之间还是存在的一些区别:Activity和Service,需要Intent显示定义一些操作,同时也可以指定待操作的数据。更可以通过Intent将数据返回来。B

2021-07-03 17:21:04 270 1

原创 Android 官方文档学习笔记(1):Androiid以及相关应用组件概念

Android SDK介绍:Android SDK 会将应用内容打包成一个.apk后缀的文件(包括了逻辑代码,应用所需要的资源文件)。对于Android应用系统,就一多用户的Linux系统,所有的应用都在该系统下的一个用户,每一应用会被系统分配一个唯一的ID。因此不同的应用都要自己的资源和进程。Android对应用的数据保护(安全沙盒)有以下约束:每一个应用由于都有自己的唯一id,因此除了人为将多个应用设置同一id情况下,不然应用不能访问彼此的资源。每一个应用都有自己的进程和虚拟机,因此在需要运行

2021-07-01 23:37:52 283 2

原创 Kotlin学习笔记七:Kotlin的封装和多态:

Kotlin的封装:封装能够隐藏了代码实现的细节从而调高了程序的安全性和规范性。对代码的封装更重要的是顶部变量的封装。class Demo5 constructor(name: String){ companion object{ @JvmStatic fun main(args : Array<String>) { } } private var name : String = name; private f

2021-06-22 00:35:24 190

原创 Kotlin学习笔记六:Kotlin的面向对象思想和继承:

Kotlin学习笔记六:Kotlin的面向对象思想:和Java的思想类似,把任何事物都给抽象化为对象(以类封装代码,以对象封装属性和行为)//Person 类abstract class Person(name : String, age : Int) { fun eat() { ... } fun run() { ... } abstract fun sayWhat(){};}Kotlin的继承://Person 类abstract class Person(name

2021-06-22 00:15:04 101

原创 Kotlin学习笔记五:Kotlin的主类函数定义以及空值:

Kotlin的主类函数定义以及空值:主构造函数:主构造函数直接跟在类名之后,例如 class MyFirst(name: String,...) {}其中:主构造函数的形参可以给类内的顶部属性使用,当主构造函数被可访问修饰符以及注解修饰时候必须后跟一个 construct:如 class MyFirst public @Inject construct(name : String) {}(如果需要将代码进行初始化,请务必在init块中实现初始化。)(主构造函数的形参既可以在初始化块使用,也可

2021-06-22 00:06:12 205

原创 Kotlin学习笔记三:Kotlin的语句流程控制:

Kotlin的语句流程控制:和Java一样,也分顺序结构,分支结构和循环结构,具体的作用在Java的基础篇以及介绍(Java基础还未更新完毕,后续慢慢补充内容),这里就介绍定义方式://分支结构: if(a) { ... } else if(b) { ... } else { ... } var i = 1; when(i) { 1 -> { println(i); } 2 -> { println(i); } }

2021-06-21 23:50:37 80

原创 Kotlin学习笔记二:Kotlin的数据类型和变量声明:

Kotlin的数据类型:对于Kotlin来说,所有的数据变量都是对象,可以调用类型的方法和值;和Java一样,存在4种整数型,2种浮点型,1种布尔型,1种字符型。Byte:占8bit。Short:占16bit。Int:占32bit。Long:占64bit。Float:占32bit。Double:占64bit。char:占8-64bit。Boolean:占1bit。对于JVM来说,变量一旦声明类型后,只能赋值相同类型或相同类型的值。Kotlin的变量声明:对于Kotlin的变量声明

2021-06-21 23:44:09 511

原创 Kotlin学习笔记一:Kotlin的介绍:

Kotlin的介绍:和Java开发Android相比,kotlin具备了以下优势:代码更加安全)编译代码量更少,因此可读性也更强,从而避免了问题发生的几率。(支持多平台开发)最强大之处,还可以使用kotlin编译ios,后端和web的应用程序,这之间享用公共的代码。从诞生到现在,kotlin的语言发展生态逐步完善。同时对于Java开发人员来说,kotlin也相对易学。Kotlin的程序入口:class Rect () { companion object{ @JvmS

2021-06-21 23:34:37 94

原创 Kotlin学习笔记四:Kotlin的数组,抽象类

Kotlin介绍:自从Kotlin语言诞生到现在,Kotlin已经称为了Android开发的一大语言之一,虽然底层的代买还是Java,但和Java对比,具备了以下优势:更加简洁和易读,从而更容易避免了代码在编译过程中发生的逻辑错误。可跨平台开发,支持后端,Android,Web使用Kotlin语言进行功能开发。支持对Java语言的操作,同时得到了大量库的支持。函数式编程,同时也支持表达式赋值。随着Kotlin创建到发展,越来越多得到社区的支持,同时得到大量的使用。对于Java开发人员来说,更

2021-06-21 22:07:46 144

原创 Java基础(12):线程池的简单介绍

(前言:后续会深入了解线程池底层原理后会单独写一篇完整的帖子。)线程池:当线程经常性创建和销毁,会带来系统资源的大量损耗。因此通过线程池创建线程,可以对已存在的线程进行复用,从而避免这些问题发生。线程池创建线程的优势:减少系统资源损耗,对已存在的线程复用,无序另外分配资源创建线程。提高系统运行效率,同理对线程的复用可无序等待线程的创建。能够很好的管理并发数线程,当无限制创建线程会带来严重的资源损耗,通过线程池从而避免问题的发生。线程池的使用方式:...

2021-06-08 23:01:16 49

原创 Java基础(12):多线程(五):线程通信方式:管制法

管制法:打个比方:存在生产商,消费商,商店和商品。思路:商店提供了放入商品的方式和出售商品的方式,同时由于商品也有一定的容量,根据容量的大小提醒生产商和消费商(超过容量大小就叫生产商停止生成,容量为0就叫消费商停止消费)。(生产者消费者模式。本质上来说就是通过缓冲区实现对不同的线程进行消息通知从而控制线程)/** * 线程通信方式:管制法 */public class Demo13 { public static void main(String[] args) { Sh

2021-06-04 23:34:42 44

原创 Java基础(12):多线程(四):线程并发和同步锁机制:

线程并发和同步锁机制:并发:并发指的是当多个线程对同一个对象的数据操作。但是并发会带来数据混乱,数据不安全问题。例如:/** 1. 2.多个线程访问同一个对象,会引起并发问题,这里通过synchronized同步锁把实现同步化解决问题。synchronized的同步锁有两种实现方式,同步方法或者同步对象代码块。 */class ConcurrencyRunnable implements Runnable { static int i = 1000; private static

2021-05-26 23:57:42 152

原创 Java基础(12):多线程(三):线程的创建方式:

线程的创建方式:线程的创建方式有三种:继承Thread类,实现Runnable接口以及线程池创建线程。继承Thread类:创建子类,继承Thread类。重写父类的run方法。创建子类对象,调用start()方法。/** * 继承Thread类,重写run()方法。 */class SonThread extends Thread { @Override public void run() { System.out.println("重写父类方法");

2021-05-26 23:57:17 46

原创 Java基础(12):多线程(二):线程的生命周期和优先级

线程的生命周期:线程从创建到销毁也有自己的生命周期:newShow:线程创建:表示线程在内存中实例化对象,但仍没进入就绪状态,也无法被Cpu调度。Runnable:就绪状态:当线程变量调用了start()方法时候,此时线程进入就绪状态,一旦分配到Cpu的资源和被调度,则立马执行线程的任务。Running:运行状态:此时线程正在运行,执行线程的任务,一旦执行完毕后将进入Dead(销毁状态);与此同时,如果此时线程遇到了阻塞事件,则暂停线程进入堵塞状态,直到阻塞事件被解决后进入就绪状态等待下一次Cp

2021-05-26 23:55:10 75

原创 Java基础(12):多线程(一):线程,进程,多任务等概念

(搞清楚线程,进程,多任务,程序概念能够帮助我们后续学习多线程)多线程:何为多线程:打个比方,当一个人在同一时间内,即一边看电视,一边吃零食(比如我)线程,进程,多任务,程序概念:...

2021-05-26 23:50:33 181

原创 Java基础(11):异常

异常:当我们运行程序的时候,有可能因为各种原因导致程序无法跑起来而中途奔溃。例如系统出现错误,代理逻辑不符亦或者用户输入有误等等,因此对出现问题原因分为了Error(错误)和Exception(异常)两类。Error(错误):在程序运行中有Java系统内部导致的一系列问题,这些问题都是应用程序无法处理的,例如内存溢出,栈溢出和动态链接错误等等,一旦发生该错误会带来很严重的后果。Exception(异常):在程序运行过程中,定义了用户可以捕获到的错误情况,即异常情况。Java提供了异常处理机制,对出

2021-05-26 15:23:55 49

原创 Java基础(10):Java垃圾回收基本概念和常用类

Java垃圾回收:由于Java的运行环境提供了垃圾回收线程。垃圾回收线程主要回收没有被引用的对象的内存空间,从而减少资源开销。垃圾回收通常会对一些对象进行判断,根据对象的引用会有一个计数器,当计数器为0的时候代表没有被引用,此时就会对对象进行垃圾回收。Java垃圾回收器的特点:垃圾回收器会对没有被引用的对象进行资源回收,同时垃圾回收不能被强制执行,只能由系统自行决定。虽然不能强制JVM进行垃圾回收,但是可以通过System.gc()或者Runtime.gc()向垃圾回收器发出提示。常用类:

2021-05-21 00:00:55 89

原创 Java基础(9):面向对象编程思想(内部类):

(内心os:哦豁终于来到这里了,下一步就可以继续冲常用类了啊哈…)内部类:所谓的内部类,就是定义在类内的类。由于定义在类中,那么内部类也可以看做外部类的成员变量,因此又称为"成员类"或者"嵌套类"。对于内部类来说,允许访问外部类的成员方法,成员函数以及类方法和类函数,同时还可以对自己的变量进行调整。对于内部类来说,又分为了成员成员内部类,静态内部类,局部内部类和匿名内部类。成员内部类:静态内部类:局部内部类:局部内部类更多时候是为了返回一个类对象或者接口使用。匿名内部类一般情况下匿名

2021-05-20 21:06:10 78

原创 Java基础(9):面向对象编程思想(抽象类和接口)

Java基础(9):面向对象编程思想(抽象类和接口)抽象类:抽象类更多的时候,起一个"模板"的作用,让继承抽象类的子类按照一定的格式进行创建,而抽象类的本质,是让多个具有相同点给抽象出来,从而提高程序的可扩展性。通过abstract修饰的方法或者类为抽象方法或抽象类,抽象方法有以下含义:抽象定义的成员方法,即为抽象方法,抽象方法不需要具体的实现方式。定义抽象方法时,不能讲static 和 abstract同时使用。包含抽象方法的类一定是抽象类,而抽象类既可以有具体实现的方法,也可以有抽象方法。

2021-05-20 20:13:42 98

原创 Java基础(9):面向对象编程思想(特性):

(这部分核心,一定要清楚概念)。面向对象的三大特性:由于Java是面向对象的程序设计语言,因此Java也有三大特性:封装,继承和多态。(务必搞清楚这些概念)封装:本质上就是对数据类型以及对数据的操作方法进行封装在一起,重点是在于对数据的封装(把数据的访问修饰权限改为私有的)。合理运用封装能后以下好处:封装能够提高程序的安全性,实现对数据的保护。隐藏了代码实现的细节,同样也是提高了程序的安全性。因为隐藏了代码的实现时间,如果为了提供外部访问的通道,那就必须提供操作数据的接口,因此也统一了数据操

2021-05-20 17:01:53 73

原创 Java基础(9):面向对象编程思想(介绍):

(内心OS:总于来到这里了我擦…)面向对象思想介绍:回顾一下,Java语言是以信息为中心,以对象为驱动的面向对象编程语言。因此面向对象编程思想是Java语言的核心(往死里学就对了)。

2021-05-19 20:56:20 110

原创 Java基础(6):Java内存空间的基本概念

Java的内存空间简单介绍:对于Java内存空间来说,简单点划分两种:堆空间与栈空间。栈空间:存放基本数据类型和引用数据类型的变量以及值(或地址),同时当调用一个方法的时候,该方法就会入栈,以栈的形式进行执行。堆空间:存放通过new关键字实例化的对象和数组(数组本身是引用数据类型),同时运行多个线程的访问。但对于堆空间来说,本身还包括了方法区和常量池。堆空间中的方法区和常量池:方法区又分了静态方法区和非静态方法区。其中,方法区是在类第一次加载时候便存在,存放.class。就好比第一次加载‘模板’一

2021-05-19 20:33:51 151

原创 Java基础(8):static的补充和Java的传参机制

static:static修饰的成员变量和成员方法,表示该修饰的变量和方法属于类,属于类的一个共同存储的内存空间

2021-05-19 20:23:00 288

原创 Java基础(7):递归思想和冒泡排序

递归思想:简单来说,就是‘自己’调用‘自己’。但递归的思想,是把一个复杂的问题,化解为多个相似的小问题进行处理。合理运用递归思想,可以很好的帮助程序员同过少量简单的代码把一个复杂的问题解决。运用递归思想时候要注意以下几点:** 定义递归边界 **:即当一个方法执行到某一程度时候,便终止方法,返回数据类型。** 清楚递归过程 **:递归过程分为了从开始递归到递归边界,以及从递归边界返回到初始的过程。合理分析这一过程才不会让递归的结果超出程序员的预设。** 当处理一个复杂且大的数据时候 :**递归往往

2021-05-19 19:54:03 311 2

原创 Java基础(5):类,方法,变量,对象

前言:因为Java是以信息为驱动,以对象为中心的面向对象设计语言,因此对于Java来说,类,方法和变量是面向对象的基本概念,理清楚后对后续学习面向对象有极大的帮助。方法:Java的方法本质上就是实现类的某一功能的语句有序的组合。它包含在类和对象之中,可以在程序中创建,在其他地方被调用。对于设计方法时候,遵守保持方法的原子性原则,即保证一个方法只实现一种功能,有利于后期的维护。类:类是对现实世界的事物进行抽象化并在计算机中反映出来,本质上一种抽象的,不存在现实生活中的概念。同时如果一个类没有实例化,

2021-05-11 19:13:16 99

原创 Java基础(4):流程控制

流程控制所谓的流程控制,是指控制语句的执行顺序。对于Java语言的流程控制也分别为程序设计语言中三种基本流程控制结构:顺序结构,分支结构和循环结构。1. 顺序结构:即从上到下依次执行,是最基本的流程控制结构,任何的算法都离不开顺序结构。2. 分支结构:又称为选择结构。要先进行一个判断,然后根据判断考虑执行哪条路径。对于分支结构来说,有if类型和switch类型分支。3. 循环结构:当一定条件下,反复执行某种程序的控制结构,同时循环结构包含了条状语句:break;continue;return;分支

2021-05-11 14:59:24 52

原创 Java基础(3):补充

Java对标识符的定义有以下规定:1. 允许使用字母,数字,下划线_和美元符号$组合定义,但不能以数字开头。2. 允许使用中文定义,但不提倡。3. Java对大小写敏感,要严格区分大小写。4. 不允许使用保留字进行命名。运算符的优先程度:从高优先级别到低优先级别:单目运算->乘除运算->位运算->关系运算->逻辑运算->三目运算。逻辑与,逻辑或和简洁与,简洁或之间区别:对于逻辑与逻辑或来说,判断的前后两条件无论如何都必须进行判断,才会返回最后结果。对于简洁与

2021-05-10 13:03:27 77

原创 Java基础(2):数据类型

数据类型:数据类型的定义,本质上不同的数据类型在内存中所占空间大小也不同,为了避免资源浪费,要合理的声明数据的类型,数据类型定了数据在内存中的大小,合法的取值范围,以及对数据的合法运行和操作。对于Java语言来说,数据类型分两种:基本数据类型和引用数据类型。基本数据类型:基本数据类型是有程序设计语言所决定的,且无法再划分的数据类型,在内存中存储的是数据值。同时基本数据类型有划分了4大类8种数据类型,分别是4种整形,2种浮点型,1种布尔型,1种字符型。1. 整形:可以采用8进制,10进制和16进制。8

2021-05-08 20:50:04 53

原创 Java基础(1):Java语言的特点

Java的特点:1.简单易学:Java语言本身衍生与C++,但和C++相比,去掉了不易理解和掌握的数据结构,例如指针,结构体和联合体2.面向对象:Java本身是以对象为中心,以信息为驱动的面向对象的编程语言,同时Java同时也有着三大特点结构:封装,继承和多态;封装:是指把数据和对数据的运算和操作封装成一个类中,外部访问数据必须通过数据所处的对象访问。继承:一个类继承另一个类,被继承的类为父类,继承的类为子类,对于Java语言来说,只支持单继承,但是可以通过实现接口来实现多继承需求。多态:是指一

2021-05-08 02:40:33 196

原创 Android多线程知识(一):Handler机制的基本原理:

Handler的机制的基本原理:今天面试想起问到了一些关于Android多线程的问题,一时半刻回答不来,现今得好好的复习一下,以后根据情况爬一下底层原理看看才行。*Handler:是子线程同UI线程(主线程)通信的一种机制。在整个子线程传递数据到主线程的过程中充当着"快递员",如同我(子线程)通过打包(Message)物品寄送到收件人(主线程)这一过程,都离不开快递员(Handler)。使用Handler,可以在多个线程并发更新ui的同时保证线程的安全。用途:Handler工作流程:1.异步通

2021-04-26 22:53:22 188

原创 Android基础知识(二):Activity之间的通讯方式(一)

Activity与Activity之间的通讯方式:activity之间的通讯方式有以下几种:Intent,通过类的静态变量传递数据,通过全局变量传递数据,使用外部工具例如sharedPreference和SQLite等,以及Service。1.Intent的通讯方式:是Android四大组件的同学纽带,是最常用最普遍的通讯方式。MainActivity1:传递数据MainActivity2:接收数据结果:2.通过对类的静态变量的访问传递数据MainActivity2:MainActi

2021-04-25 15:33:03 1159

原创 Android基础知识(一):四大组件

Android的四大组件基本知识Android开发的四大组件分别为Activity(活动),Service(服务),ContentProvider(内容提供器),Broadcast Receive(广播接收者)。activity(活动):是Android开发中使用最频繁的一种组件,所有的Android app都必须依托在Activity,activity为用户交互提供了一个窗口(屏幕),当Activity创建完毕时候,需要调用setContentView()方法完成界面布局的显示,同时在onCrea

2021-04-24 21:10:32 468

原创 Android网络编程开发基础知识总结(二):Socket套接字

简述:网络编程必不可少,很多程序需要通过访问服务器来获取数据,即访问服务器并建立链接;但是对于Java有一大好处是:底层链接操作已经完成,只需要执行高层动作即可,即建立链接。建立链接其中之一方法就是使用到Socket类;但是需要注意一点:创建Socket对象需要知道两点,其一是目的的ip地址,其二目的的端口。注意一点的是,虽然端口共有65536端口,但其中0~1023端口已经被一些一直服务器所占...

2020-04-26 19:28:38 212

原创 Android网络编程开发基础知识总结(一):InetAddress类

简述:要知道,ip地址是ip使用了32位(ipv4)和128位(ipv6)无符号数字,代表了每一台机械的在网络中的位置,即属于唯一标识符。属于网络中的传输层协议TCP/UDP的基础;在Java中,常用InetAddress类来对ip的封装,在Java.net包下许多类都涉及了InetAddress,包括了Socket,ServerSocket等。InetAddress类详解:InetAddr...

2020-04-21 23:08:30 972

原创 Android学习笔记(一)------Bitmap 位图

Android学习笔记(一)------Bitmap 位图背景:无论任何App的开发都离不开图片的加载,通常图片加载有三种方式:资源项目图片,本地图片和网络图片资源等。通常采用ImageView作为载体,设置ImageView的相应的API来显示图片内容。例如:通过ImageView的setImageResource(int id)方法来显示资源项目图片内容,但是有一个问题,加入我们使用的图...

2020-04-12 19:12:48 221

原创 实现从网络获取数据并适配到APP中----(Android综合小练习一)

Android综合小练习(一)作为一名大二狗,学习编程无异于要常动手编写才能有所提升,所以这第一次写博客来记录,写的不好请见谅。实现从网络获取数据并适配到APP中实际GIF图:实现思路:布局文件: 很简单一个Button以及一个RecyclerView(我选用了RecyclerView适配器,好用);主程序代码逻辑: 将uri放在子线程中进行网络请求处理,成功获取到字节流并从中提取...

2020-04-10 02:42:47 520

空空如也

空空如也

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

TA关注的人

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