- 博客(21)
- 收藏
- 关注
原创 Android Jetpack
这里写目录标题ViewModel生命周期MainActivityMyViewModelLiveDataMainActivityViewModelWithLifeDataDataBanding数据绑定绑定activity_mainMainActivity反向绑定activity_mainMainActivityViewModelSavedState方法1MainActivity方法2MyViewModel能访问SharedPerferences的ViewModelMainActivityMyViewModel
2022-01-25 22:01:26
249
原创 类加载器和类加载机制
文章目录类与类加载器类加载类加载器作用类加载器分类双亲委派模型双亲委派模式的实现类与类加载器类加载类加载器作用对于任意一个类,必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。也就是说,比较两个类是否相等,只有在这两个类是由同一个类加载器加载的前提下才有意义,否则即使这两个类来源于同一个Class文件,被同一个虚拟机加载,只要加载它们的类加载器不同,那这两个类必定不相等。这里的相等包括代表类的Class 对象的equals()
2021-11-14 13:50:27
862
原创 Android第一行代码——第十二章MaterialDesign实战
这里写目录标题Toolbar在res/values下新建一个styles.xml在colors.xml中加入颜色AndroidManifest.xml中别忘记加入MainActivity.javaactivity_main.xmlToolbar在res/values下新建一个styles.xml<?xml version="1.0" encoding="utf-8"?><resources> <!-- Base application theme.-->
2021-08-22 20:38:39
429
原创 Android第一行代码——第十章探究服务
探究服务Android 多线程线程的基本用法解析异步消息处理机制使用AsyncTask(已弃用)三个泛型参数:重写的方法服务的基本用法Android 多线程线程的基本用法Android多线程和java多线程基本都使用相同的语法,下面展示两种写法class MyThread extends Thread{ public void run(){ //具体的操作逻辑 }}new MyThread().start();class MyRunable implements Runnable{
2021-08-20 14:53:11
311
原创 Android第一行代码——第九章使用网络技术
WebView用法:在应用程序里镶嵌浏览器使用HTTP协议访问网络使用HttpURLConntectionWebView用法:在应用程序里镶嵌浏览器 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); WebView web.
2021-08-18 17:34:24
169
原创 Android小项目——聊天室
聊天室简介简单介绍更换图标网络权限登录界面activity_main.xmlMainActivity.java选择头像activity_choose_picture.xmlChoosePicture.java客户端ChatRoom.javaactivity_chat_room.xmlmsg_item.xmlMsg.javaMsgAdapter.java服务器简单介绍Android的第二个小程序,初步实现了换头像功能、多人聊天功能。先放几张照片亮亮相吧:更换图标在drawale文件夹中加入.
2021-08-12 16:24:57
3981
4
原创 Android第一行代码——第八章多媒体
使用通知将程序运行到手机上MainActivity.javaactivity_main.xmlPendingIntent:延迟的Intent读取后删除通知图标通知的进阶技巧通知的高级功能调用摄像头和相册使用通知首先需要一个NotificationManager来对通知进行管理,可以调用Context的getSystem-Service()方法获取到。getSystemService()方法接收一个字符串参数用于确定获取系统的哪个服务,这里我们传入Context.NOTIFICATION_SERVICE.
2021-08-11 19:43:20
346
1
原创 Android第一行代码——第七章内容提供器
运行时权限AndroidManifest.xmlactivity_main.xmlMainActivity.java访问其他程序中数据读取系统联系人运行时权限点击查看完整权限列表例子:CALL_PHONEAndroidManifest.xmlpackage="com.example.runtimepermissiontest"> <uses-permission android:name="android.permission.CALL_PHONE"/> .
2021-08-10 11:17:55
371
原创 Android第一行代码——第六章数据存储
文件存储将数据存储到文件中Context类中提供了一个openFileOutput()方法,可以用于将数据存储到指定的文件中。这个方法接收两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称,注意这里指定的文件名不可以包含路径,因为所有的文件都是默认存储到/data/data//files/目录下的。第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND。其中MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖
2021-08-08 16:15:19
214
转载 关于runOnUiThread
理解 Activity.runOnUiThread在开发 Android 应用的时候我们总是要记住应用主线程。主线程非常繁忙,因为它要处理绘制UI,响应用户的交互,默认情况下执行我们写下的大部分代码。好的开发者知道他/她需要将重负荷的任务移除到工作线程避免主线程阻塞,同时获得更流畅的用户体验,避免ANR的发生。但是,当需要更新UI的时候我们需要“返回”到主线程,因为只有它才可以更新应用 UI。最常用的方式是调用 Activity 的 runOnUiThread() 方法:runOnUiThrea
2021-08-04 14:53:06
648
原创 Android第一行代码——第五章广播机制
广播机制简介接收系统广播动态注册监听网络变化广播机制简介广播类型:标准广播和有序广播标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。有序广播( Ordered broadcasts)是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继.
2021-07-31 22:05:50
285
原创 Android第一行代码——第四章探究碎片
碎片是什么碎片(Fragment) 是一种可以嵌入在活动当中的UI片段,能让程序更加合理和充分地利用大屏幕的空间,因而在平板应用十分广泛。碎片的使用方法碎片的简单使用左侧布局left_fragment.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="matc
2021-07-30 11:17:46
218
原创 Android第一行代码——第三章UI开发
这里写目录标题常用控件TextViewactivity_main.xmlButtonactivity_main.xmlMainActivity.javaEditTextactivity_main.xmlMainActivity.javaImageViewactivity_main.xmlMainActivity.javaProgessBaractivity_main.xmlMainActivity.javaAlertDialogMainActivity.javaProgressDialogMainActiv
2021-07-30 11:17:19
322
1
原创 Android第一行代码——第二章探究活动2
这里写目录标题活动的生命周期1.活动生存期2.体验活动生命周期MainActivity.javanormal_layout.xmldialog_layout.xmlactivity_main.xmlAndroidManifest.xml3.解决活动被回收问题活动的启动模式standardFirstActivity.javasingleTopAndroidManifest.xmlFirstActivity.javaSecondActivity.javasingleTasksingleTaskFirstActi
2021-07-22 21:52:57
167
3
原创 Android第一行代码——第二章探究活动1
这里写目录标题日志工具Log(第一章)Log语句Log 对比 System.out活动的什么活动基本用法创建和加载布局first_layout.xmlFirstActivity.java在AndroidManifest文件中注册ToastFirstActivity.javaMenumain.xmlFirstActivity.java销毁活动使用Intent在活动间穿梭显示IntentFirstActivity.java隐式Intent单个categoryAndroidManifest.xmlFirstAct
2021-07-22 16:36:32
271
3
原创 浅谈JVM之运行时数据区
Java内存结构提到Java执行流程,我们就要关注Java的内部结构.我们还要了解到的一个概念就是Java内存结构≠Java内存模型.今天我们先不深入展开.如上图所示,首先Java源代码文件(.java后缀)会被Java编译器编译为字节码文件(.class后缀),然后由JVM中的类加载器加载各个类的字节码文件,加载完毕之后,交由JVM执行引擎执行。在整个程序执行过程中,JVM会用一段空间来存储程序执行期间需要用到的数据和相关信息,这段空间一般被称作为Runtime Data Area(运行时数据区),
2021-05-29 14:27:58
182
2
原创 Java线程与进程(简单易懂)
线程和进程的概念什么是进程?正在运行中的应用程序,通常称为进程。每个进程都有自己独立的地址空间(内存空间),每当用户启动一个进程时,操作系统就会为该进程分配一个独立的内存空间,让应用程序在这个独立的内存空间中运行。什么是线程?线程是一个轻量级的子进程,是最小的处理单元;是一个单独的执行路径。线程可以理解成是在进程中独立运行的子任务。比如,QQ.exe 运行时就有很多的子任务在同时运行。像好友视频、下载文件、传输数据、发送表情等,这些不同的任务或者说功能都可以同时运行,其中每一项任务完全可以理解成是“
2021-05-28 22:00:27
214
3
转载 简单了解HotSpot VM
1.让我们开始了解HotSpot VM提起HotSpot VM,相信所有Java程序员都知道,它是Sun JDK和OpenJDK中所带的虚拟机,也是目前使用范围最广的Java虚拟机。但不一定所有人都知道的是,这个目前看起来“血统纯正”的虚拟机在最初并非由Sun公司开发,而是由一家名为“Longview Technologies”的小公司设计的;甚至这个虚拟机最初并非是为Java语言而开发的,它来源于Strongtalk VM,而这款虚拟机中相当多的技术又是来源于一款支持Self语言实现“达到C语言50%
2021-05-25 16:10:57
296
原创 链表I(实现基本操作单链表)
文章目录顺序存储 VS 链式存储数组—顺序存储链表—链式存储单链表定义结构体链表初始化插入定义新节点头插法尾插法指定位置删除反转链表链表排序交换值交换节点合并两个升序链表判断链表是否为空打印链表完整代码总结学习方法注意事项最后顺序存储 VS 链式存储数组—顺序存储数组作为一个顺序储存方式的数据结构,可是有大作为的,它的灵活使用为我们的程序设计带来了大量的便利。由于是顺序存储的,所以在查找和使用的过程中,运用指针和数字的加减即可定位一个数据,非常方便快捷而且简单易学。但是,插入和删除的繁重却让我们很
2021-04-24 20:07:18
223
2
原创 杨辉三角(python和c语言实现)
初识杨辉三角关于杨辉三角(摘自百度百科)杨辉三角,是二项式系数在三角形中的一种几何排列,中国南宋数学家杨辉1261年所著的《详解九章算法》一书中出现。在欧洲,帕斯卡(1623----1662)在1654年发现这一规律,所以这个表又叫做帕斯卡三角形。帕斯卡的发现比杨辉要迟393年,比贾宪迟600年。帕斯卡(1623----1662)是在1654年发现这一规律的,比杨辉要迟393年,比贾宪迟600年。杨辉三角是中国古代数学的杰出研究成果之一,它把二项式系数图形化,把组合数内在的一些代数性质直观地从图形中体现
2021-04-20 22:56:37
558
2
原创 C语言自制简单宿舍管理系统(链表+文件)
C语言实现简单宿舍管理系统(链表+文件)(超详解)首先简单介绍:第一次的博客,就献给这个管理系统吧一个礼拜跌跌撞撞终于写出来了这个简单又美观的管理系统!!接下来会为大家分块介绍这个管理系统,相信大家也可以在短时间内写出让自己满意的管理系统,也希望这篇文章对大家有所帮助????。实现的功能:插入学生信息搜索学生信息修改指定学生信息删除指定学生信息信息排序打印全部信息退出程序以下是主菜单界面:Part1:定义存放学生信息的结构体/*定义存放学生信息的结构体*/typedef s
2021-04-20 22:10:02
2179
6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人