- 博客(29)
- 收藏
- 关注
原创 Kotlin:变量声明,null安全,条件语句,函数,类与对象
在Kotlin中,对于这些可为null值的变量,Kotlin提供了多种机制来安全地处理它们,在java中,默认情况下变量是可以为null的,方法的调用者为null时,就会出现空指针异常:NullPointerException
2024-09-26 15:57:21 1292
原创 Broadcast:Android中实现组件及进程间通信
broadcast是Android提供的一种广播机制,用于组件或进程(即应用)间通信,同时也是Android四大组件之一;广播broadcast由两部分组成:发送者和接收者。发送者可以是Activity,Service等,广播的接收者为,也就是广播接收器;2,广播使用创建BroadcastReceiver类;注册BroadcastReceiver;发送广播;解除注册;(1)创建BroadcastReceiver子类重写onReceive方法。
2024-09-19 10:04:19 1581
原创 Service服务在Android中的使用
Service服务,是指执行指定系统功能的程序,例程或进程,以便支持其他程序,并且运行期间用户不可见的一种活动机制,例如:后台播放音乐,后台下载等;Service和Activity同属于一个级别,不同于子线程,service是运行在主线程中的,因此不能进行耗时操作;
2024-08-12 22:00:05 1644
原创 ContentProvider:在Android中实现进程间数据共享
ContentProvider内容提供者,是一种实现不同应用间共享数据的标准api,当应用想要提供数据时,就提供ContentProvider,其他应用通过ContentResolver来接收数据;
2024-08-10 16:27:48 1332
原创 Gson的基本使用:解析Json格式数据 序列化与反序列化
Gson是Google发布的一个Java库,可以用来将Java对象转换为Json字符串表示,或者将Json字符串转换为等效的Java对象;
2024-07-22 20:41:51 1521 1
原创 SQLite数据库在Android中的使用
SQLite是一个的SQL数据库引擎。无服务器,意味着使用sqlite不需要联网;不需要配置,意味着不需要安装和管理;同时sqlite遵循ACID原则。SQLIte是一款轻型的数据库,占用资源非常低,在嵌入式设备中,可能只需几百k的内存。
2024-07-19 22:02:15 1288
原创 OkHttp网络请求框架在Android中的使用
OkHttp是square公司推出的一款Android和Java网络请求库,是目前公认的最好用的网络请求框架,OkHttp有以下的特点:支持Http/2,允许对同一主机的所有请求共享同一套接字;使用连接池减少请求延时;透明的GZIP压缩减少响应数据的大小;缓存响应的内容,避免重复请求;
2024-05-22 16:52:57 2641
原创 Glide图片加载框架在Android中的使用
Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,统一了显示本地图片和网络图片的接口。自动、智能地下采样(downsampling)和缓存(caching),以最小化存储开销和解码次数;积极的资源重用,例如字节数组和Bitmap,以最小化昂贵的垃圾回收和堆碎片影响;深度的生命周期集成,以确保仅优先处理活跃的Fragment和Activity的请求,并有利于应用在必要时释放资源以避免在后台时被杀掉;
2024-05-13 21:47:49 1406 3
原创 Activity的生命周期 Activity中的数据保持
众所周知,Android中的Activity是可以层叠的,当我们启动一个新的Activity时,就会叠加在旧的Activity上,点击Back销毁Activity,上一个Activity就会重新显示出来,之所以会这样,是因为Android是使用(也叫返回栈)来管理Activity的。每启动一个新的Activity,它就会在活动栈中入栈,并处于栈顶位置,按下Back健销毁Activity后,它就会出栈,下一个Activity就会重新处于栈顶位置,屏幕上显示的总是栈顶的Activity。
2024-04-26 09:43:28 1418
原创 Activity之间的跳转 向下一个Activity传递数据 给上一个Activity返回数据
一个Android应用中包含多个Activities,Activity之间必然存在跳转关系。在Android中,Activity之间的跳转是借助Intent对象来实现的。intent是Android中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可用于启动Activity,Service,以及发送广播等场景。Intent的使用大致可分为两种:显示Intent和隐式Intent。
2024-04-18 21:00:32 4053 2
原创 Android多线程:Handler runOnUiThread 异步消息处理机制
Android用户界面是与用户交互的接口,对于用户的操作,Android迅速响应用户输入(200ms内)是一个重要目标。因此,一些耗时操作(如:后台下载,异步加载图片等)需要放在子线程中运行,否则会导致主线程阻塞。
2024-04-16 08:53:15 2786 2
原创 Android:对话框,Toast,Notification的使用 选项菜单,上下文菜单,弹出式菜单的使用
Notification在状态栏显示提示信息,除非用户查看或关闭信息,状态栏才取消显示。一般使用在收到短信后、收到应用的推送消息后、收到未接电话等场合。Notification需要借助NotificationManager(通知管理器)来实现。
2024-04-12 20:50:36 1829
原创 Android:事件传递 基于监听器的事件处理 基于回调的事件处理
在Android中,每触摸或点击一次,就会生成一个MotionEvent对象,代表一次触摸事件。三种方法均返回boolean类型的值,表示是否解决事件。对于ViewGroup类,会进行事件分发,拦截,响应三种操作。但对于View来说,只有事件分发和响应,因为View没有子View,无法再向下传递,也就不需要事件拦截。
2024-04-10 21:26:27 1153 3
原创 AdapterView类视图控件的使用,Fragment,ViewPager2视图控件的使用
Adapter(适配器)是连接后端数据与前端视图的接口,是数据与视图之间交互的中介。众所周知,Android用户界面采用MVC框架,即model-view-controller,model和view可理解为是数据和视图,而Adapter就属于中间的controller部分。用Adapter作为数据和视图之间交互的中介,就可以将这两部分分开操作:数据改变时,不需要修改视图组件,只需更新Adapter;视图组件改变时,不需要修改数据,只需绑定Adapter即可。:容器控件,整体由一个个子元素item组成,
2024-04-08 12:25:02 1626
原创 Java反射:反射机制 Class类 类加载 反射获取类结构 反射创建类 反射暴破...
在运行状态中,对于任意一个类,能够知道其所有结构信息(如:成员属性,方法,构造器等),对于任意一个对象,都能够调用其任一个方法及属性。这种动态获取信息以及动态调用对象的方法的功能称为Java语言的反射机制。
2024-03-30 20:05:15 1050 2
原创 Java:Properties类 查询修改配置文件
Java中提供了Properties类,用于对配置文件(.properties文件)进行查询和修改等操作。Properties类继承自Hashtable类,以键值对的形式存储信息。,注意键值对不需要有空格,值不需要带引号,默认形式为String。
2024-03-25 21:44:57 877 3
原创 Java网络编程基础:TCP Socket套接字编程 IntAddress UDP等...
在主机中,端口号1~1024是系统保留端口号,用来为常用的网络服务程序所占用。为了准确地定位网络上的目标主机,网络中的每个设备都会有一个唯一的数字标识,即网络设备的IP地址,通过ip地址,可以精确地匹配目标主机,是网络中资源共享、数据传输的依据。当客户端连接到服务端后,实际上客户端也是通过一个端口和服务器端进行通讯的,这个端口是TCP/IP来分配的,是不确定的,是随机的。Socket应用程序来说,需要与服务器端建立连接(通过ip和端口号确定主机上的程序),并向服务器端发送数据,接收服务器端数据;
2024-03-24 20:11:11 1104 2
原创 Android开发基础:四大组件 视图 事件监听 控件与布局
视图层采用视图树(View Tree)模型:用户界面中的界面元素以树型结构组织在一起,整个视图界面为一个视图树模型。视图树:由View控件或ViewGroup构成。View控件是界面的最基本的可视单元,是Android视图界面的基类。ViewGroup是由其它View或ViewGroup组成的显示单元,继承自View类,ViewGroup提供了布局方法。
2024-03-24 15:55:33 3287 3
原创 Java IO流基础:IO流 文件 字符流 字节流 处理流等...
Java IO流的四个抽象基类如下,Java IO流都是从这四个基类派生出的,由这四个类派生出的子类名称都是以其父类名称作为子类名后缀,例如:FileInputStream就是字节输入流,FileWrite就是字符输出流。,在序列化时,会将对象的serialVersionUID写入到字节序列中,反序列化时会检查接收方对象的serialVersionUID是否与序列化时写入的一致,如果一致则反序列化成功,不一致则报错。,也可以提供更方便的方法来完成输入输出,此外,处理流不会与数据源直接接触。
2024-03-13 14:12:06 1133
原创 Java线程基础:Thread Runnable 多线程 Synchronized 死锁...
我们在通过Runnable接口实现多线程时,需要创建Thread类对象,并通过构造器传入实现Runnable的对象,那么在这里,我们可以实例化多个Thread类对象,并传入相同的对象,这样不同线程所对应的对象就是相同的。如果想要join1线程在join2线程执行完之后才执行,可以用线程插队join,在join1线程中调用join2.join(),join2就会插在join1之前执行,join2执行完后,join1才会执行。假如有两个线程A,B,将B设为A的守护进程,那么A线程结束后,B线程会跟着结束。
2024-03-05 16:29:15 1217 1
原创 AcWing周赛 B~C
根据每个字母的位置算出他们的权值,依次相加起来就是最终的权值,例如根据abc,abcd这两个单词可算出a的权值为1000 + 100 = 1100。最后根据权值排序,权值越大赋值越小,注意首字母不能赋值为0。
2023-12-10 14:06:20 216 1
原创 牛客周赛 Round 15 D.游游的树上边染红, 树形dp
用dp[u][1]表示选取了u与他父节点之间的边,dp[u][0]表示未选取。首先,假设j是u的子节点,那么无论是否选取u与父节点的边,均可以加上dp[j][0]的情况。此外,若不选u与父节点之间的边,那么就可以选择u的子节点j与u之间的边,所以dp[u][0]需要加上u与子节点之间最长的边。(dp[u][1]初始赋值为u与父节点之间边的权值)
2023-10-16 19:13:46 166 3
原创 CodeTON Round 6 (Div. 1 + Div. 2, Rated, Prizes!) B~D
a, b两个数组。可以选择b中的任一个数,与a数组所有元素进行或运算,求最终a数组异或和的最大值。:进行一次或运算之后,a数组的二进制位上的1会确定下来,所以当a数组长度为偶数时,最大值为a数组原本的异或和,因为我们此时只能增加相同的二进制位,所以不做任何操作就是最大,最小值就是使相同的位数尽可能多,就是b数组全部或起来,再与a数组每个数进行或运算。奇数情况同理。
2023-09-21 21:20:16 225 1
原创 Codeforces Round 896 (Div. 2) A~D
长度为偶数,从1到n操作两次。长度为奇数,先从1到n操作一次,然后从1到n - 1做两次,最后n - 1到n做一次。
2023-09-12 16:55:06 238
原创 Educational Codeforces Round 154 (Rated for Div. 2)A~C
给定一个包含1到9的字符串,要求删除最多7个字符,是否可以表示为一个质数。:暴力枚举所有的两位数即可。:给定两个0开头,1结尾,只包含01的字符串,可以对两个字符串进行任意次如下操作:选定两个相同的字符,将两者之间的所有字符都变为这个字符。问是否可以使两个字符串相同。:如果能找到一个位置使得在这个位置上,两个字符串都为1,且左边为0,那么就可以做到。
2023-09-01 20:13:40 310 2
原创 Pinely Round 2 (Div. 1 + Div. 2) A~D
有n个订阅者,a个初始在线人数,q个上下线情况,问是否一定或有可能所有订阅者都阅读了新的帖子。:同时在线人数等于n时,一定都阅读了,输出YES。初始在线人数加上所有的上线人数(所有的+号)大于等于n的话输出MAYBE。否则输出NO。
2023-08-31 21:23:42 341
原创 Harbour.Space Scholarship Contest 2023-2024 (Div. 1 + Div. 2) A~D
给出x, y, n,构造长度为n的递增数列使得 a1 = x, an = y, 并且相邻元素的差值递减。如果不能构造输出-1。:如果能够构造出来,那么y - x的值应该大于 1 到 n - 1 的累加。构造时从y开始,依次向前 -1 -2 -3....即可。
2023-08-27 16:13:33 245 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人