- 博客(57)
- 收藏
- 关注
原创 Android——TextView和EditText控件
设置text与drawable(图片)的间隔,与drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。设置文本的类型,用于帮助输入法显示合适的键盘类型。
2024-11-28 04:35:09
984
原创 Android——SimpleAdapter的简单使用
可以适用于简单的纯文字型ListView,它需要Cursor的字段和UI的id对应起来。可以认为是SimpleAdapter对数据库的简单结合,可以方便地把数据库的内容以列表的形式展示出来。在Android中,Adapter(适配器)是数据与ui之间的桥梁,它把后台数据与前端ui连接到一起,是一个展示数据的载体。:基于Map的list。Data里边的每一项都是一个Map类型,这个Map类里边包含了ListView每一行需要的数据。:是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性;
2024-11-28 04:33:08
936
原创 Android——Message消息机制
执行,会先开启主线程,之后点启动线程,开启新线程执行,页面接收显示进度(循环1-100),线程结束后页面显示执行完毕。Log.i(TAG, “线程:”+Thread.currentThread().getId()+“开始运行”);//利用handler发送消息。Log.i(TAG, "主线程: "+Thread.currentThread().getId());switch (msg.what) { //根据收到的消息的what类型处理。msg.obj = “子线程执行了:”+i+“%”;
2024-11-28 04:29:08
983
原创 Android—— Activity生命周期
调用顺序onPouse()->onStop()->onRestart()->onStart()->onResume()onCreate()方法完成后,此时activity进入onStart()方法,当前activity是用户可见状态,但没有焦点,与用户不能交互,一般可在当前方法做一些动画的初始化操作。onStart()方法完成之后,此时activity进入onResume()方法中,当前activity状态属于运行状态 (Running),可与用户进行交互。运行,显示:onResume()
2024-11-28 04:27:07
674
原创 Android~DataBinding使用
3、数据绑定:我们先要创建UserInfo实体类,再修改test_main.xml文件。数据绑定又包括单向和双向,单向绑定即当UserInfo数据发生改变时,控件(demo中的login_time_tv)会自动更新数据;方法是:双击选中布局文件最外层布局,同时按住Alt+回车==>转换为Databinding布局。修改成功后,AS会自动生成对应的Databinding类,对应规则为test_main.xml --> TestMainBinding。3、如要进行双向绑定,再单向绑定基础上添加等号,如。
2024-11-28 04:25:07
824
原创 AndroidX下使用Activity和Fragment的变化
通常,您可以获取提供某些功能的对象并向其注册您的处理逻辑,而不是重写 Activity / Fragment 中的方法。这样,您现在可以在屏幕上组成几个独立的类,获得更高的灵活性,复用代码,并且通常在不引入自己的抽象的情况下,对代码结构具有更多控制。但是,从 AndroidX Activity 1.0.0 开始,您可以使用 OnBackPressedDispatcher 在您可以访问该 Activity 的代码的任何位置(例如,在 Fragment 中)注册 OnBackPressedCallback。
2024-11-28 04:21:06
518
原创 AndroidX TabLayout使用、扩展及解析All In One
这里有两种方式添加TabItem的自定义布局,其一种方式是在TabItem的xml中定义android:text=“娱乐” />custom_indicator1.xml文件内容,值得注意的是这里的TextView的id必须是“@android:id/text1”,ImageView的id必须是“@android:id/icon”,原因来自于与TabLayout的源码中TabView的update方法。
2024-11-28 04:19:06
1161
原创 AndroidStudio--Intent(意图)_android studio隐式意图
【代码】AndroidStudio--Intent(意图)_android studio隐式意图。
2024-11-28 04:08:53
215
原创 AndroidAPP启动速度优化;冷启动和热启动解析
对于应用的启动时间,仅仅能是尽量的避免一些耗时的、非必要的操作在主线程中,这样相对能够缩减一部分启动的耗时,另外一方面在等待第一帧显示的时间里,能够增加一些配置以增加体验,比方增加Activity的background,这个背景会在显示第一帧前提前显示在界面上。针对冷启动时候的一些耗时,如上測得这个应用算是中型的app,在冷启动的时候耗时已经快700ms了,假设项目再大点在Application中配置了很多其它的初始化操作,这样将可能达到1s,这样每次启动都明显感觉延迟。能够看到在进程已经存在的情况下。
2024-11-28 04:06:53
785
原创 Android4种存储方式介绍
但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。SELECT 语句内容作为 query() 方法的参数,比如:要查询的表名,要获取的字段名,WHERE 条件,包含可选的位置参数,去替代 WHERE 条件中位置参数的值,GROUP BY 条件,HAVING 条件。2、File:即常说的文件(I/O)存储方法,常用存储大数量的数据,但是缺点是更新数据将是一件困难的事情。
2024-11-28 04:04:52
770
原创 Android-高级-UI-进阶之路-(五)-看完该篇文章-Canvas-你应该会了
/1.//2.),mPaint)//3. //第一个参数是一个坐标点组//第二个参数从哪个坐标点开始//第三个参数坐标点是取出 4 个数据效果都一样。
2024-11-28 04:00:46
880
原创 Android ANR:Application Not Responding详解
时,调用**Process.setThreadPriority(Process.THREAD_PRIORITY_BACKGROUND)**设置优先级,否则仍然会降低程序响应,因为默认Thread的优先级和主线程相同。NR问题发生时,系统会收集ANR相关的日志信息,CPU使用情况,trace日志也就是各线程执行情况等信息,生成一个。导出ANR日志信息,根据日志信息,判断确认发生ANR的包名类名,进程号,发生时间,导致ANR原因类型等。例如大量的数据库读写,耗时的网络情况,高强度的硬件计算等。
2024-11-27 09:05:04
607
原创 Android AIDL 教程 (一)—— 简单的示例
将请求抽象成接口,并编写 aidl 文件;编写一个 Service,实现接口,处理客户端的请求,并将 binder 返回回去;在 AndroidManifet 配置 Service,将我们的 Service 暴露出去。
2024-11-27 08:57:02
1083
原创 Android aidl Binder框架浅析
客户端的代码比较简单,创建一个布局,里面包含4个按钮,分别为绑定服务,解除绑定,调用加法,调用减法布局文件:
2024-11-27 08:55:02
578
原创 Android activity跳转动画,6种activity进入动画
【代码】Android activity跳转动画,6种activity进入动画。
2024-11-27 08:53:01
507
原创 Android Activity原理以及其子类描述
目前涉及到Activity管理的类就两个:1、LocalActivityManager 2、ActivityManager。它们分别做了什么呢?这里有三个比较关键的生命周期。
2024-11-27 08:51:01
254
原创 Android Activity launchMode研究
在singleInstance中启动的activity也不会跟它放在同一个task里, 根据要启动的activity的taskAffinity选择,可能在其他已有的task里,也可能开启新的task, 总之不是在singleInstance的task里.为singleTask的activity指定一个新的taskAffinity后,singleTask的activity得到的taskId就和standard的不同了, 说明这时候开启了一个新的task.如果该task不存在,才会新建一个task.
2024-11-27 08:49:00
885
原创 Android abd shell dumpsys命令探究
Dump time : 2015年10月16日 上午11:14:03。Dump time : 2015年10月16日 上午11:18:17。dumpsys activity用法。dumpsys alarm用法。
2024-11-27 08:47:00
533
原创 Android aab打包报错(持续更新中~)
直接跑debug包没问题,打APK包也正常,问题来了打aab包就报错:,咱一个个解决,先看打包问题。
2024-11-27 08:44:58
745
原创 Android 9(7)
Android 密钥库确认消息的有效性之后,您的应用可以使用在可信执行环境 (TEE) 下通过 trustedConfirmationRequired 生成的密钥来签署用户已接受的消息。大多数情况下,对应用的兼容性影响微不足道。不过,如果您的应用有任何自定义旋转行为,或使用了任何非常规的屏幕方向设置,则可能会遇到以前用户旋转首选项始终设置为纵向时被忽视的问题。不过,如果您的应用有任何自定义旋转行为,或使用了任何非常规的屏幕方向设置,则可能会遇到以前用户旋转首选项始终设置为纵向时被忽视的问题。
2024-11-27 08:40:56
898
原创 Android 9(4)
在9.0中默认情况下启用网络传输层安全协议 (TLS),默认情况下已停用明文支持。也就是不允许使用http请求,要求使用https。比如我使用的是okhttp,会报错:解决方法是需要我们添加网络安全配置。首先在res目录下新建xml文件夹,添加文件:中的添加:以上这是一种简单粗暴的配置方法,要么支持http,要么不支持http。为了安全灵活,我们可以指定支持的http域名:Android 9.0 上部分域名时使用 http。
2024-11-27 08:38:56
708
原创 Android 8(5)
这里拓展一个API15之前的通知栏(Notification)用法,以前踩的坑,现在基本用不上,也可以了解:这里是把Notification.build()改成了.getNotification(),其他也是没有变化。相对于API26以前的使用只多 2 行代码,后面的就和API26之前的通知栏一样了,这里也同时在告诉我们,知识要不断更新才稳得住啊,不然就会和我一样,在无限的闪退和报错之中迷失了方向~实例化Notification对象,并传入 id。:这个是便于用户管理通知用的,:通知渠道的 ID ,
2024-11-27 08:36:54
242
原创 毕业就想进大厂?啃完这篇阿里大神整理的Kafka神仙文档,从此面试底气十足!
本章主要讲了生产者客户端的用法以及整体流程架构,主要内容包括配置参数的详解、消息的发送方式、序列化器、分区器、拦截器等,在实际使用中,Kafka已经提供了良好的Java客户端支持,提高了开发效率。本章主要讲述了Kafka中与存储相关的知识点,包含了Kafka自身的日志格式、日志索引、日志清理等方面的内容,也涉及到底层物理存储相关的知识。本章主要针对的是Kafka的一些高级应用,作为运维人员经常使用的命令行工具,同时对Kafka的数据管道做了不同场景的演示,并且使用SpringBoot与Kafka做了整合。
2024-11-21 16:30:23
296
原创 新手小白学JAVA 异常,java初级工程师面试题目及答案
但是大家需要注意,在异常抛出时,有些异常比如运行时异常,可能并不会强制要求抛出此异常,调用时也没有报错显示需要额外处理,这个时候就需要大家平时多积累,掌握良好的编码习惯了,手动添加代码进行预处理,增强程序的健壮性了。//相当于在main()调用method3()之前解决了method3()可能会抛出的异常。System.out.println(“请您输入要计算的第一个整数:”);System.out.println(“请您输入要计算的第一个整数:”);
2024-11-21 15:17:36
674
原创 教你用 Java 写一个自己的 Tomcat 容器,涨姿势了。。,2024年最新字节跳动算法工程师面试题
我们先定义几个servlet的配置参数:servlet的名字,servlet的映射创建tomcat设置tomcat端口设置上下文地址添加监听添加sevlet添加sevlet映射启动tomcat获取服务服务异步将Web应用程序添加到Tomcat的webapps目录中,等效的默认web.xml将应用于该Web应用程序,并且与该应用程序打包的任何和都将被正常处理。另外,Tomcat 系列面试题和答案全部整理好了,微信搜索Java技术栈,在后台发送:面试,可以在线阅读。
2024-11-21 14:07:24
710
原创 技术汇总:第十章:Maven Profile动态选择配置文件,javaee下载教程
修改pom.xmldevdevdevpropro这里我们定义了2个profile,分别是开发环境和生产环境。
2024-11-21 12:55:11
652
原创 惊险,腾讯二面差点死在这个问题上:MySQL的半同步,2024年最新mysql入门新手教程
MySQL从5.7.2版本开始,默认的半同步复制方式就是 AFTER_SYNC 方式了,但是方案不是万能的,因为 AFTER_SYNC 方式是在事务同步到Slave后才提交主库的事务的,若是当主库等待Slave同步成功的过程中Master挂了,这个Master事务提交就失败了,客户端也收到了事务执行失败的结果了,但是Slave上已经将binLog的内容写到Relay Log里了,这个时候,Slave数据就会多了,但是多了数据一般问题不算严重,多了总比少了好。MySQL默认采用的就是这种复制,效率比较高。
2024-11-21 11:32:25
590
原创 当Parallel遇上了DI—Spring并行数据聚合最佳实践,2024年阿里Java岗面试必问
Future userFuture = executorService.submit(() -> {try{return userService.get(userId);}finally {countDownLatch.countDown();}});Future postsFuture = executorService.submit(() -> {try{return postService.getPosts(userId);}finally {countDownLat
2024-11-21 10:22:17
882
原创 基于java springboot+mybatis爱游旅行平台前台+后台设计实现,2024年最新怎样学java高级工程师
点击查看所有的旅行攻略以及我关注的攻略以及根据关键字搜索攻略操作、还可以发布攻略信息、但是需要管理员审核才可以显示等。点击查看所有的旅行线路以及我关注的线路以及根据关键字搜索线路操作等。用户登录后可以进行酒店信息和景点信息查看以及预订。
2024-11-21 02:21:12
458
原创 前方高能预警!阿里大佬出品“Spring实战学习笔记”震撼来袭,面试官老爱问适配器模式与外观模式
ps:由于内容较多,本次将展示部分,如果看得不过瘾想更加深入地了解本笔记彻底掌握 Spring 可在。在Java平台下进行各类软件开发的开发人员、测试人员。⑦使用 Spring MVC 构建 Web 应用程序。第二部分:Spring 应用程序的核心组件。⑪为 Spring 添加 REST 功能。⑧使用 Spring Web Flow。③最小化Spring XML 配置。第一部分:Spring的核心。第三部分:Spring 集成。④面向切面的 Spring。⑨保护 Spring 应用。⑫Spring 消息。
2024-11-20 22:52:54
184
原创 你只会用 ! = null 判空?嘿嘿!,java软件开发面试题目
null 是一个有效有意义的返回值(Where null is a valid response in terms of the contract;如果要用equal方法,请用object<不可能为空>.equal(object<可能为空>))null是无效有误的(Where it isn’t a valid response.)你可能还不明白这两句话的意思,不急,继续往下看,接下来将详细讨论这两种情况。冗余:每获取一个对象,就判一次空。第1种情况会更复杂一些。对比下面两份调用实例。
2024-11-20 19:30:44
395
原创 一文搞懂:SpringMVC全注解方式及原理,2024年最新从零开始学数据结构和算法
上面的MvcConfig配置类中,我们定义了一个拦截器,这个类的代码如下@Component@OverrideSystem.out.println(“这是MyInterceptor拦截器”);
2024-11-20 16:07:27
581
原创 一年增加 1,java程序员进阶
多语言:对多语言的支持是 Sidecar 模型的天然优势,Dapr 也不例外,考虑到 Dapr 为应用提交的分布式能力的数量,这可能比 Service Mesh 只提供服务间通讯能力对应用的价值更高。这四大类需求中,生命周期管理类的需求主要是通过 PaaS 平台如 kubernetes 来满足,而 Service Mesh 提供的主要是网络中的点对点通讯,对于其他通讯模式典型如 pub-sub 的消息通讯模式并没有覆盖到,此外状态类和绑定类的需求大多都和 Service Mesh 关系不大。
2024-11-20 15:34:20
729
原创 Spring-Data-Jpa动态查询(Specification),2024年最新java高级程序员面试宝典pdf
命名为StuRepository1,该接口继承JpaRepository接口,以持久化对象Stu作为JpaRepository的第一个类型参数,表示当前所操作的持久化对象类型,Integer作为JpaRepository的第二个类型参数,用于指定ID类型,同时创建一个接口名称为ClazzRepository1,继承JpaRepository的接口,用于访问班级信息的数据。使用@id指定主键。动态查询学生信息:可以根据学生对象的姓名(模糊匹配),地址查询(模糊匹配),性别,班级查询学生信息。
2024-11-20 10:01:50
713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人