- 博客(70)
- 收藏
- 关注
原创 Activity生命周期
Activity生命周期一、生命周期图二、回调方法onCteate():当Activity首次被创建时,会执行此方法。一般情况下会做一些初始化,输入事件的绑定等。onStart():当Activity显示给用户时,会执行此方法。此时用户可以看到该Activity,但不能进行交互,可以简单理解为看得见,摸不着。onResume():当Activity位于前台时,会执行此方法。此时用户可以和该Activity进行交互,并且这时的Activity位于栈顶。即看得见摸得着。onPause():当有另
2022-05-26 17:35:10
563
原创 ExpandListView实现下拉列表案例
ExpandListView实现下拉列表案例使用方式与ListView类似,是ListView的一个延申,Group为TextView,子元素为ListView。效果图:代码:实体类:Group.javapublic class Group { private String gName; public Group() { } public Group(String gName) { this.gName = gName; }
2022-05-21 20:00:08
312
原创 GridView实现桌面图标显示案例
GridView实现桌面图标显示案例用法与ListView类似,需要以下几步:定义实体类自定义适配器继承BaseAdapter定义GridView内部布局效果图:代码:实体类:Icon.javapackage com.example.a16gridviewtest.entity;public class Icon { private int iconId; private String name; public Icon(int iconId, Strin
2022-05-21 16:08:37
331
原创 自定义Adapter实现ListView案例演示
自定义Adapter实现ListView案例演示注意事项:自定义Adapter类继承BaseAdapter,并重写。自定义实体类,用来存放信息。使用BaseAdapter优化缓存方案,避免ListView中的每行内容被重复渲染,造成系统资源浪费。案例效果:代码:实体类:Person.javapublic class Person { private int imageId;//图片id private String name; private String d
2022-05-20 17:11:29
419
原创 关于Handler消息处理流程的一点认识
关于Handler消息处理流程的一点认识大家使用Handler的时候,一般都是在子线程中处理耗时逻辑,并发送Message。在主线程中处理消息,并进行UI操作,在这一连串行云流水的操作中,Handler到底是怎样执行的呢?看看源码就能发现其中的奥秘。首先先说明下Handler的操作流程: Handler发送消息sendMessage(msg)—>MessageQueue接收消息,并秉持先进先出的原则—>Looper从消息队列中获取消息,并将Message分配给对应的Hand
2022-05-11 19:02:45
714
原创 Handler在子线程中使用——质数计算案例
Handler在子线程中使用——质数计算案例效果图:代码:MainActivity.javapublic class MainActivity extends AppCompatActivity { //该字段表示输入的数字,即上限数值 public final static String UPPER_NUM = "upper"; private EditText etNum; private CalThread calThread; @Override
2022-05-11 17:12:46
502
原创 Handler在UI线程与子线程中的使用
Handler在UI线程与子线程中的使用一、Handler基本概念Handler:其作用是在新启动的线程中发送消息,在主线程中获取和处理消息。Message:Handler接收和处理的消息对象。MessageQueue:消息队列,采用先进先出的方式来管理Message。由Looper对象进行管理,在程序创建Looper对象时,会在它的构造方法中创建MessageQueue对象,两者是相互依存的。Looper:每个线程只能拥有一个Looper对象。它在loop()方法会不断在MessageQueu
2022-05-11 16:13:53
1655
原创 BroadcastReceiver静态注册案例演示
BroadcastReceiver静态注册案例演示静态注册与动态注册的区别:动态注册:广播接收器可以自由的控制注册与取消,具有很大的灵活性。但只有在应用程序启动后才能收到广播。并且动态注册的广播接收器的生命周期与其对应的Acitivity的生命周期是一致的。静态注册:又叫做清单注册,即在AndroidManifest.xml中进行注册。静态注册的广播不受程序是否启动的约束,当应用程序关闭后,还可以接收到广播。效果图:代码:MainActivity.javapublic class Mai
2022-05-10 17:50:21
600
原创 BroadcastReceiver动态注册案例演示
BroadcastReceiver动态注册案例演示此案例共介绍2种动态注册广播接收器,为自定义广播接收器和系统广播接收器。当点击发送按钮后,将会弹出收到自定义广播的提示;当插拔电源线时,会出现断开或连接电源的提示。效果图:代码:MainActivity.javapublic class MainActivity extends AppCompatActivity { private MyBroadcastReceiver receiver1; private NetReceiv
2022-05-10 16:47:12
526
原创 Fragment微信界面Tab标签切换案例
Fragment微信界面Tab标签切换案例此案例共有1个Activity和4个Fragment。代码如下:MainActivity.javapublic class MainActivity extends AppCompatActivity implements View.OnClickListener { private ImageView imageView1; private ImageView imageView2; private ImageView image
2022-04-14 11:27:24
2683
1
原创 Fragment基础
Fragment介绍一、概述Fragment依赖于Activity,可以理解为Activity的组成部分或一个子模块。其中Fragment有自己的生命周期,并受Activity的生命周期控制。其依赖关系如下:当Activity暂停时,该Activity中的所有Fragment都会暂停。当Activity销毁时,该Activity中的所有Fragment都会销毁。当Activity处于活动状态时,才能通过方法独立操作Fragment。二、常见特征Fragment总是作为Activity界面
2022-04-13 14:47:16
219
原创 安卓基础之startActivity和startActivityForResult的区别
安卓基础一、startActivity和startActivityForResult的区别1. startActivity( )startActivity( ) 仅仅是启动另一个Activity,他不会自定回转到原来的Activity,若是想跳回原来的页面,则必须再使用一次startActivity( )来启动原来的Activity。2. startActivityForResult( )可以一次性完成这项任务,当程序执行到这段代码的时候,假若从FirstActivity跳转到SecondActi
2021-06-06 20:50:48
1612
2
原创 JAVA虚拟机的一点认识
JAVA虚拟机的一点见解一、JVM内存区域Java虚拟机内存区域,又叫 JVM 运行时数据区,共分为 JDK1.8之前和 JDK1.8之后两个大的版本,下面两个版本的不同变化进行讲解JDK 1.8之前JDK 1.81.1 程序计数器程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。字节码解释器工作时通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等功能都需要依赖这个计数器来完成。主要两个作用:字节码解释器通
2020-12-07 15:52:36
172
原创 Java反射机制
Java反射机制一、 概述 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。创建对象的正常方式:引入需要的“包类”名称 ==> 通过new关键字实例化 ==> 取得实例化对象反射方式:实例化对象==> getClass()方法 ==>得到完整的“包类”名称简而言之 : 通常的方式是通过类来得到对象 , 而反射是通过对象得到类的过程
2020-11-23 15:11:47
130
原创 Spring框架的注解使用
Spring框架的注解使用1. 入门案例1.1 JavaBean//People类@Datapublic class People { @Autowired//Autowired默认按照bean的类型进行自动装配 byType,若类型相同再根据name进行装配 private Cat cat; @Resource(name = "dog") private Dog dog; @Value("张三") private String name;}/
2020-11-22 11:40:12
147
原创 Spring框架基于注解开发CRUD
Spring框架基于注解开发CRUD1. Maven坐标<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <versi
2020-11-22 11:04:38
202
原创 Spring框架的配置文件开发
Spring框架的配置文件开发1.入门案例1.1 Maven坐标<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <
2020-11-21 19:08:41
334
原创 MyBatis框架配置文件整合与解析
MyBatis框架配置文件整合与解析一、基于配置文件的MyBatis使用1.1 创建Maven工程<groupId>org.example</groupId><artifactId>20201113-mybatis_demo</artifactId><version>1.0-SNAPSHOT</version>1.2 添加MyBatis坐标<dependencies> <!-- 引入my
2020-11-15 10:02:08
237
原创 Servlet总结2
Servlet总结2一、HttpServletRequest类1.1 作用每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的HTTP协议信息解析好封装到Request对象中。然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。1.2 常用方法获取请求行数据:GET /myweb/demo1?name=zhangsan HTTP/1.1方法:getMethod():获取请求方
2020-10-26 17:07:37
77
原创 Servlet总结1
Servlet总结1一、Servlet技术1.1 概述Servlet是JavaEE规范之一。规范就是接口。Servlet是JavaWeb三大组件之一。三大组件分别是:Servlet程序、Filter过滤器、Listener监听器。Servlet是运行在服务器上的一个java小程序,它可以接收客户端发送过来的请求,并响应数据给客户端。1.2 执行原理当服务器接受到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径。查找web.xml文件,是否有对应的<
2020-10-26 15:52:42
86
原创 HTTP协议
HTTP协议一、概述协议:协议是指双方,或多方,相互约定好,大家都需要遵守的规则。HTTP协议:又叫超文本传输协议,是客户端和服务器之间通信时,发送的数据,需要遵守的规则,其通过网络传输HTML文档数据。HTTP协议中传输的数据叫报文。特点:基于TCP/IP的高级协议。HTTP可以传输任意数据类型,比如文本,图片,音频,视频等。基于请求/响应模型的:一次请求对应一次响应。无状态的:每次请求之间相互独立,不能交互数据。二、请求客户端给服务器发送数据称为请求。分
2020-10-26 08:59:12
369
原创 用户登录注册案例
用户登录注册案例本案例基于MySQL数据库、JDBC、Servlet、JavaScript、JSP等技术制作完成。案例效果图:一、登录界面二、注册界面三、源码LoginServlet类@WebServlet(name = "LoginServlet", value = "/login")public class LoginServlet extends HttpServlet { protected void doPost(HttpServletRequest request,
2020-10-26 08:54:10
2317
1
原创 JDBC总结2_连接池
JDBC总结2_数据库连接池一、概述基本概念:数据库连接池就是一个容器(集合),存放数据库连接的容器。当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。优势:节约资源用户访问高效实现:标准接口:DataSource方法:获取连接:getConnection()归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Connecti
2020-10-15 15:28:01
115
原创 JDBC总结1
JDBC总结1一、概述概念:JDBC(Java DataBase Connectivity),Java数据库连接。本质:其实是官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库驱动jar包,把数据库厂商写的这套实现类,称之为数据库驱动。结构演示:二、使用2.1 JDBC使用步骤导入驱动jar包 mysql-connector-java-5.1.37-bin.jar复制mysql-connector-java-5.1.37-bin
2020-10-15 11:30:05
118
原创 MySQL总结4_多表查询
MySQL总结4_多表查询一、多表查询语法:select 列名列表from 表名列表where....案例# 创建部门表CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20));INSERT INTO dept (NAME) VALUES ('开发部'),('市场部'),('财务部');# 创建员工表CREATE TABLE emp ( id INT PRIMARY KEY AU
2020-10-12 19:26:18
573
原创 MySQL总结2_约束
MySQL总结2_约束一、概述概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性。分类:主键约束:primary key非空约束:not null唯一约束:unique外键约束:foreign key二、约束2.1 主键约束格式:primary key特点:含义:非空且唯一一张表只能有一个字段为主键主键就是表中记录的唯一标识在创建表时,添加主键约束create table stu( id int primary key,-
2020-10-12 14:54:17
136
原创 MySQL总结1
MySQL总结1一、数据库基本概念1.1 概述 数据库(DataBase):用于存储和管理数据的仓库。1.2 特点持久化存储数据的。其实数据库就是一个文件系统。方便存储和管理数据。使用了统一的方式操作数据库 – SQL。二、SQL2.1 概述 Structured Query Language:结构化查询语言。其实就是定义了操作所有关系型数据库的规则。每一种数据库操作的方式存在不一样的地方,称为“方言”。2.2 SQL通用语法SQL 语句可以单行或多行书写,以分号结尾。可
2020-10-12 10:32:35
134
原创 基于JavaScript的简易计算器
基于JavaScript的简易计算器效果图:源代码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } .dome { width: 400px; height:
2020-09-27 15:33:19
168
原创 Vue总结2
Vue总结2一、Vue常用特性1.1 计算属性computed模板中放入太多的逻辑会让模板过重且难以维护,使用计算属性可以让模板更加的简洁。计算属性是基于它们的响应式依赖进行缓存的。computed比较适合对多个变量或者对象进行处理后返回一个结果值,也就是数多个变量中的某一个值发生了变化则我们监控的这个值也就会发生变化。代码演示:<div id="app"> <div id="">{{msg}}</div> <div id="">{{re
2020-09-27 10:07:28
67
原创 Vue总结1
Vue总结1一、概述Vue是一套用于构建用户界面的渐进式框架。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。简单演示:使用Vue将Hello World渲染在页面上:<body> <div id="app"> {{message}} </div> <script src="js/Vue.js" type="text/javascript" charset="utf-8"></script&g
2020-09-27 10:05:55
80
原创 JQuery总结_基础篇
JQuery总结1一、基础篇1.1 概述 jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优 化HTML文档操作、事件处理、动画设计和Ajax交互。 JavaScript框架:本质上就是一些js文件,封装了j
2020-09-21 14:44:29
102
原创 JS_表单校验(注册界面设计)
JS_表单校验(注册界面设计)设计效果:源码:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> * { margin: 0px; padding: 0px; box-sizing: border-box; } body {
2020-09-18 15:01:54
999
原创 JavaScript总结_DOM和事件监听
JavaScript总结_DOM和事件监听一、DOM1.1 概述Document Object Model(文档对象模型):将标记语言文档的各个组成部分,封装为对象。可以使用这些对象,对标记语言文档进行CRUD的动态操作。1.2 DOM模型分类核心DOM:针对任何结构化文档的标准模型。Document:文档对象Element:元素对象Attribute:属性对象Text:文本对象Comment:注释对象Node:节点对象,其它5个的父对象XML DOM:针对XML文档的标准模
2020-09-17 15:49:14
216
原创 JavaScript总结_BOM
JavaScript总结_BOM一、BOM1. 概述Browser Object Model(浏览器对象模型):将浏览器的各个组成部分封装成对象。2. BOM的组成Window:窗口对象Navigator:浏览器对象Screen:显示器屏幕对象History:历史记录对象Location:地址栏对象3. Window对象3.1 方法与弹出框有关的方法alert():显示带有一段消息和一个确认按钮的警告框。confirm():显示带有一段消息以及确认按钮和取消按钮的对话框。
2020-09-15 18:39:06
116
原创 使用JavaScript制作简单的轮播图
使用JavaScript制作简单的轮播图<html> <head> <meta charset="utf-8"> <title>轮播图</title> </head> <body> <img id="img" src="img/banner_1.jpg" width="100%"> <script type="text/javascript"> /* 分析:
2020-09-15 16:08:16
270
原创 使用HTML完成简历的简单制作
使用HTML完成简历的简单制作<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> </head> <body> <table border="0" cellspacing="0" cellpadding="0" align="center" width="600px" height="840px" bg
2020-09-02 17:07:12
781
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人