- 博客(24)
- 收藏
- 关注
原创 Android权限申请方式
Android权限目前(Android13+)分为:1.安装时权限。2.运行时权限。3.特殊权限相同点: 都要在AndroidManifest中申请。
2023-12-22 18:19:23
1307
原创 Android Web
c.调用getInputStream接收数据 (数据为html代码,浏览器负责解析并展示)1. 可以使用HttpURLConnection来执行:发送请求,接收服务器响应。WebView处理了发送请求,接收服务器响应,解析返回数据,最终页面展示。2. 使用OkHttp : 更好用的http连接库。a.获取HttpURLConnection对象。d.调用disconnect()方法关闭连接。b.设置对象请求参数。
2023-12-12 11:55:36
451
原创 UI控件-ListView和RecyclerView【Android】
View的继承关系图:引入布局和创建自定义控件引入布局:通过创建一个xml的布局文件,其他布局文件可以通过来实现。缺点: 响应事件需要重新编写。创建自定义控件:对于RadioButton绑定的方法需要满足:ListView配置: adapter -> (context,item布局id ,data)item与ListView的桥梁是adapter类ArrayAdapter的类中有getContext()方法。重写getView()方法,在方法内绑定item和要展示的内容优化优化控件
2023-12-11 17:18:32
479
原创 Android动画
view动画使用很方便,但也有很大的局限性,首先动画虽然执行了但是只是我们看到的,控件真实的位置透明度等都没有变化,如果我们想对一个已经移动的控件执行点击事件,如果控件移动的位置比较大点击界面上看到的控件是无法触发事件的。Transition 这个词的本意是转换,在 Android 里指的是切换界面时的动画效果,这个在逻辑上要复杂一点,不过它的重点是在于切换而不是动画,所以它也不是这次要讨论的内容。通过改变view或者object的属性实现动画是属性动画的最根本的特点。
2023-12-08 18:27:00
510
原创 Android的异步消息处理机制
此时的handlerMessage()会在主线程中运行。Looper:是MessageQueue的管家,调用其loop方法后会进入一个循环,每当发现MessageQueue中有消息,会将其取出并传递到Handler的handleMessage当中。Handler: 用于发送和处理消息,发送消息的方法有sendMessage(),post()等。Message :用于在线程之间传递消息,可以在内部携带少量信息,内有字段: what,还有arg1,arg2来携带整型,obj字段携带对象。
2023-11-27 17:52:44
446
原创 【初识Unity3D】
> 每帧调用一次的Update 三种类型Update的调用顺序如下。Inspector:检视(检查监视)面板可以查看游戏对象(GameObject)上的属性。Hierarchy:存放游戏场景中 游戏对象(GameObject)层级关系的地方。游戏对象初始化Awake()。1.将资源导入到Project中新建的Sprites文件夹中。2. Update :游戏场景和状态。Game:显示游戏运行最终效果的地方。Project:存放资源的地方。Scene:场景显示的地方。
2023-11-02 19:50:20
166
原创 在Android Studio中创建Menu文件夹和Menu布局文件
1. new->Android Resource Directory 中选择resource type为Menu创建文件夹。在Android Studio2022.3.1版本中创建IDE支持的Menu布局文件方式。2. 在该文件夹中创建Menu Resource File。
2023-11-02 18:28:49
719
原创 面向对象 Kotlin
嵌套类: 只是写在一个类的内部,与外部类解耦的独立类,它没有对外部类的引用,可以看作是普通的静态类。关键字可以创建一个匿名内部类,该类继承自指定的超类或实现指定的接口,并重写相应的方法。在普通的内部类中,内部类持有外部类的引用,并可以访问外部类的成员。,使其可以在 Java 代码中以静态方式调用。在kotlin中实现静态类,通过嵌套类或者。在静态类中 通过 @JvmStatic。
2023-10-20 12:01:00
106
1
原创 Android基础:广播
广播:类似于计算机网络中 的广播概念。划分为了标准广播和有序广播。有序广播通过不同接收者的权重,实施有序的发送广播,接收者拥有将广播 从此处截断的权利高阶函数和lambda密不可分,想要定义自己的函数式API,需要借助高阶函数来实现。高阶函数的定义:一个函数接收 另一个函数作为参数,或者返回值的类型是另一个函数,该函数为高阶函数。函数类型的定义 :左边是函数的接收参数类型,右边是返回值类型Unit相当于Java中的voidexample就是一个高阶函数函数类型的引用 通过 ::函数名。
2023-10-19 17:19:45
981
原创 Android Studio
需要添加 ViewBinding 插件 在app下的 build.gradle.kt的Android下。本机下载的gradle在F盘的AndroidGradle文件夹下。在 dependencies 中改此版本为1.8。现在新建一个项目,本机下载的sdk版本是 33。在activity中。
2023-10-18 16:32:19
126
1
原创 Kotlin学习
为空时什么也不做,不为空时正常调用。用以省略if进行判空。: 不为空返回左边,为空返回右边。.进行调用,则编译器不会进行非空检查。let用于将其左边的对象放入右边的{}中,可以结合?. 来减少 是否为空的判断。空指针检查: 声明的变量默认不能为空。
2023-10-17 16:39:37
104
原创 用Kotlin刷题
object classname{} : 创建一个单例类。可以直接访问类中的成员。单例类是无法被继承,首次访问时被加载(延迟初始化),线程安全的,原子操作。第一道题 反转链表 Solution类被object标识,是单例类。Kotlin默认所有的参数不能为空,在声明参数的类型后加?,使得参数可以为空。
2023-10-17 15:57:47
198
原创 Fragment、Activity和View的关系
简而言之,Activity是Android应用程序的核心组件,负责管理整个应用程序的生命周期和用户界面;Fragment是可以嵌入到Activity中的模块化部分,用于构建灵活的用户界面;View是构成用户界面的基本元素,由Activity和Fragment来管理和操作。它们一起协同工作,实现了Android应用程序的界面展示和交互逻辑。在Android开发中,Fragment、Activity和View是三个重要的概念,它们在应用程序的结构和功能上起着不同的作用。
2023-10-17 01:43:23
2198
原创 第一行代码(第三版)中过时的方法
我们知道在Activity中,系统已经帮我们生成了layoutInflate,但是在一些场景,我们需要自己生成layoutInflate对象。ActivityMain4Binding底层首先是绑定了布局xml,通过.inflate将加载布局文件的类传入,从而有能力获得布局的view和组件等信息(猜测内部维护了一个view。2.Binding.inflate传入layoutInflate获得的binding对象的.root得到view对象。会为每一个Activity的xml文件生成一个类,通过导包的名。
2023-10-16 21:00:05
148
1
原创 第四章 软件也要拼脸蛋,UI开发的点点滴滴
使用,由ListView标签和一个ListView_item布局, 使用一个adapter来绑定ListView的activity和ListView_item和数据。自定义控件:首先有一个布局文件layout.xml, 然后创建一个类 继承 布局文件中的root 布局类,然后通过LayoutInflater.from(context).inflate(R.layout.title, this)将本类 绑定当前布局。使用 1.布局文件,一个RecycleView的文件,一个item文件。
2023-10-16 20:59:45
135
1
原创 第五章 fragment的使用
在主布局文件中添加<fragment标签,为<fragment标签创建布局xml ,在标签里通过进行绑定其布局,为fragment创建类,继承至Fragment() ,在onCreateView中绑定布局xml并返回它的view对象。
2023-10-16 20:28:43
142
1
原创 BM19 寻找峰值
使用二分进行分治,mid将数组分为两部分。试探mid+1大于mid则往右为上升趋势(mid不可能为峰值 left = mid +1),否则往左为上升趋势(mid可能为峰值,right = mid)(题目说明相邻元素不相等)。以此将区间定为右或左边。
2023-10-04 21:09:14
112
1
原创 仿牛客论坛项目 第六章 Elasticsearch的使用
更新配置或插件设置:检查Elasticsearch的配置文件或相关插件的设置。确保所使用的下载源是有效的,并且Elasticsearch可以正常访问该下载源。如果下载源发生了变化,你可能需要更新配置文件或插件设置中的URL或下载命令。下载源不可用:Elasticsearch使用的下载源(如MaxMind)可能当前不可用或发生了变化。请检查Elasticsearch的配置文件或插件设置,以确保指定的下载源是有效的。网络连接问题:可能是由于网络连接故障,Elasticsearch无法成功下载GeoIP数据库。
2023-09-03 10:12:30
574
1
原创 仿牛客网社区项目 第五章 Kafka的使用
为了让数据更可靠,通过以副本的形式对数据存多份,每一个分区有多个副本,万一一个副本坏了,还有其他副本,提高容错率。一直很纳闷,EventConsumer这个类里的方法,在项目任何地方都没被调用,它是怎么执行的?Leader Replica: 主副本,能力比较强,尝试向分区读数据时,主副本可以处理用户请求。
2023-09-03 10:08:46
131
原创 仿牛客网论坛项目 第四章 Redis的学习
第二步:在获取用户的地方,通过redis获取用户。第二步:获取验证码时将验证码存入redis (数据结构 k-v 为 String - String)第二步:用户登陆时,将登陆凭证存入redis (在service层,ticket将不会存入mysql。在通过controller访问页面时,将赞的数量保存到model内,通过themleaf展示。第一步:生成redisKey, 注意此时key对应的数据结构为集合(set)第三步:用户访问时,判断ticket是否有效时,第一步:生成redisKey。
2023-08-31 21:16:27
173
1
原创 handler和controller的区别与联系
在Spring MVC中,使用@Controller注解来标识一个类为Controller,该类中的方法通常使用@RequestMapping注解来映射请求路径和请求方法。这样,当请求到达时,DispatcherServlet会根据请求的URL和请求方法选择合适的Controller来处理请求。而Controller是Handler的一种具体实现,它是一个处理器的一种特殊形式,在Spring MVC中用于处理请求,并协调业务逻辑的处理过程。因此,可以认为Controller是Handler的一种子集。
2023-08-31 12:18:35
1480
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅