- 博客(218)
- 收藏
- 关注
原创 Android仿人人客户端(v5(3)
parent, View view, int position, long id) { })中,添加相应的处理。2、将的基本信息资料显示组件,添加到ListVew的 FooterView。4、添加顶部下拉菜单的Item事件处理,实现对新鲜事类型的过滤。二、实现好友的个人主页资料信息的获取和展示。好友个人主页(新鲜事)好友个人主页(状态)好友个人主页(相册)好友个人主页(分享)好友个人主页(日志)
2024-11-28 06:45:00
256
原创 Android仿人人客户端(v5(1)
*我们看到的用户图像好模糊哦,可是人人官方的应用运行后的效果很好啊,他们怎么实现的呢?// 支持传入当前用户的一个好友ID,表示获取此好友的新鲜事,如果不传,默认为获取当前用户的新鲜事。**大家仔细看人人服务器端返回的JSON字符串里,会发现没有我们想要的判断当前用户是否为vip用户,vip等级的字段。三、个人主页的新鲜事的实现(基本上和前面的新鲜事界面的实现是一样的)功能描述:个人主页(当前登录用户的个人主页或者好友的个人主页)与前面新鲜事界面的数据请求区别在于添加了下面这行代码:```
2024-11-28 06:40:59
640
原创 Android仿QQ锁屏状态下消息提醒(震动+提示音)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED //锁屏状态下显示。| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON //保持屏幕长亮。------------这里是要在Activity活动里执行的代码----------------------这里是要在Activity活动里执行的代码----------//这里参数”unLock”作为调试时LogCat中的Tag。
2024-11-28 06:38:58
709
原创 Android代理模式基础
假如对于一个日志处理功能,可通过代理类代理实例日志处理类:// 1.首先定义接口层interface ILogProcessor {public void printLog(String log);}// 2.定义实现类public class MainLogProcessor implements ILogProcessor {@Overridepublic void printLog(String log) {Log.d(“LogProcessor”, “MainLogProcessor”
2024-11-28 06:36:57
470
原创 Android从零开始搭建MVVM架构(1)————DataBinding
那么在Activity设置数据和设置点击事件(意思设置了variable标签后DataBinding会自动生成get和set方法。studio3.5后只要xml写上,IDE会自动生成,低版本可能需要Make Project下)。如下就实现了一个设置数据,和设置点击事件。通过以下代码可以看到,只要绑定下布局,通过Binding对象,可以做任何事。从此不再使用findViewById,亦或是butterKnife。@Override。
2024-11-28 06:32:56
1102
原创 Android从源码分析RecyclerView四级缓存复用机制一(缓存ViewHolder)
2.再看一下主要的方法调用流程,从RecyclerView的onMeasure方法开始一直到三个存储的地方一级,二级和四级缓存,别问为啥没有mViewCacheExtension,问就是这个你需要自己去存。//Viewholder在四级缓存存储后移除mCachedViews中对应的Viewholder。//四级缓存当屏幕外缓存的大小大于2,便放入mRecyclerPool中缓存。//三级缓存自定义缓存,自己定义的缓存规则。//Viewholder存储到四级缓存。//默认屏幕外缓存大小。
2024-11-28 06:30:56
783
原创 Android从初级到中级,记录一次Android面试
我们在startActivity的时候,其实它底层做了很多操作,首先ActivityThread会根据这个动作获取到一些信息,然后看有没有ApplicayionThread,没有就new一个有就继续,然后根据intent信息,来Instrument生命周期等等,里面也用到很多跨进程操作(这种回答,给人感觉就像随便看了篇文章,就说自己知道一样…实现序列化有两种,实现P…里面有一点算是比较难的,在发布视频时的标签分类,自己实现的动态联动的一个控件,我写了7天左右,iOS那边做了半个月。
2024-11-28 06:28:56
423
原创 Android人脸识别app——基于Face++,MVP+Retofit+RxJava
最近公司项目比较空,花了点时间写了个人脸识别的app,可以查看你的性别、年龄、颜值、情绪等信息,利用的是的人脸识别API。本项目采用了 MVP 的架构,使用了 Retrofit、RxJava、Dagger、EventBus 等框架进行开发和解耦,利用 MaterialDesign 进行UI上的布局设计。主要的功能就是拍照,然后将照片传至 Face++ 服务器,进行人脸识别,获取返回的信息,对信息进行处理。将人脸在照片上标出,并将信息展示出来。
2024-11-28 06:24:55
602
原创 Android之SQLite数据库及SQLiteStudio工具的使用
”, new Object[]{1230001, “张三”, 17, 75});)”, new Object[]{1230001, “张三”, 17, 75});Log.d(“MainActivity”, “[学号:” + id + “, 名字:” + name + “, 年龄:” + age + “, 成绩:” + grade + ‘]’);//用于创建帮助器对象。
2024-11-28 06:18:53
2197
原创 Android之GestureDetector-简单手势操作及通过手势缩放图片
/根据手势的速度来计算缩放比,如果velocityX > 0,放大图像,否则缩小图像。//将该Activity上的触碰事件交给GestureDetector处理。//将该Activity上的触碰事件交给GestureDetector处理。//设置ImageView初始化时显示的图片。//如果图片还未回收,先强制回收该图片。//控制图片缩放的Matrix对象。//定义手势检测器实例。//获取被缩放的源图片。//初始化的图片资源。//记录当前的缩放比。//重置Matrix。//缩放Matrix。
2024-11-28 06:16:51
557
原创 Android jetpack compose官方开发应用指南,2024最新_官方compose 应用
Compose 复现的 网易云音乐,很多常用效果里面都实现了。来自掘金的sskEvan。sskEvan/NCMusic: Jetpack Compose仿写网易云音乐 (github.com)FunnySaltyFish/FunnyTranslation: 基于Jetpack Compose开发的翻译软件,支持多引擎、插件化~如果你是一个喜欢尝试的同学,那么希望我的这篇文章对你能有一点帮助或许我总结的内容不足为道,但若是有人看到,说,这个。
2024-11-27 11:13:05
907
原创 Android Jetpack compose完全开发手册,快被我盘包浆了!
Compose实现了Google创立它的初衷,但对于大部分开发者来说,Compose确实是一套比较难学的东西,,抛弃了我们写了 N 年的 View 和 ViewGroup 那一套东西。因此,为帮助大家更好地理解Compose,早日上手实操,这里给大家介绍一份谷歌大佬强势分享 《Jetpack Compose-从入门到精通》,手把手带大家领略Compose的风采。这份资料旨在给希望了解、学习、应用Android Jetpack Compose的小伙伴一个参考,有需要的朋友直接扫描下方二维码即可免费领取!
2024-11-27 11:11:05
559
原创 Android Jetpack compose完全开发手册,快被我盘包浆了!(1)
Compose实现了Google创立它的初衷,但对于大部分开发者来说,Compose确实是一套比较难学的东西,,抛弃了我们写了 N 年的 View 和 ViewGroup 那一套东西。因此,为帮助大家更好地理解Compose,早日上手实操,这里给大家介绍一份谷歌大佬强势分享 《Jetpack Compose-从入门到精通》,手把手带大家领略Compose的风采。这份资料旨在给希望了解、学习、应用Android Jetpack Compose的小伙伴一个参考,有需要的朋友直接扫描下方二维码即可免费领取!
2024-11-27 11:09:04
562
原创 Android Jetpack Compose会成为后浪把 Android xml 布局文件拍在沙滩上吗
现在,来了。上图是Google官网对于Compose的介绍图,熟悉Flutter的朋友,可能会觉得,这代码格式,似曾相识啊,但是也仅仅是因为都是声明式编程,格式上有稍微相似而已。那么,Compose到底是什么?ComposeGoogle是这么定义的Jetpack Compose 是用于构建原生 Android 界面的新工具包。它基于声明性编程模型,因此您只需描述界面的外观,Compose 会负责完成其余工作,界面会随着应用状态的变化而自动更新。
2024-11-27 11:07:03
796
原创 Android Jetpack Compose Paging+SwipeRefresh实现分页和下拉刷新
非常简单的一个标题和内容data class Content(val title:String,val content: String)interface RetrofitService {@GET(“getContent”)suspend fun getContentByTitle(@Query(“page”) page: Int, @Query(“title”) title: String): AgResponse}class ContentPageSource(val title:
2024-11-27 11:05:03
722
原创 Android Jetpack - 使用WorkManager处理简单的后台任务
任务之间如何进行数据的传递呢?例如,我们想要从三本书里面找出使用最多的词语,先把所有词语都进行计算一遍,然后对词语的使用次数进行排序,最后才可以找出使用最多的词语,我们把这个行为叫做MapReduce。使用Tag可以给我们提供很大的帮助,我们可以根据不同的模块和依赖给任务设置不同的tag,也可以根据任务的类型进行设置tag,这样就可以方便的进行批量任务操作了。我们再把任务链设置的更加复杂一点,例如图片要先分别经过不同的滤镜处理,之后再进行压缩,最后才可以上传,那么使用WorkManager该如何实行呢?
2024-11-27 11:03:02
748
原创 Android IPC 通讯机制源码分析【中】
任何一个进程在第一次调用defaultServiceManager的时候 gDefaultServiceManager值为Null,所以该进程会通过ProcessState::self得到ProcessState实例。这里handle为0,正好与Service_manager中的BINDER_SERVICE_MANAGER一致。: mDriverFD(open_driver()) //打开/dev/binder驱动。创建CameraService服务对象并添加到ServiceManager进程中。
2024-11-27 11:01:02
262
原创 Android IPC 通讯机制源码分析【下】
当Binder kernel接收到数据后,service_mananger线程的ThreadPool就会启动,service_manager查找到 CameraService服务后调用binder_send_reply,将返回的数据写入Binder kernel,Binder kernel。mHandle为0,BpBinder继续往下调用IPCThreadState:transact函数将数据发给与mHandle相关联的Service Manager Process。
2024-11-27 10:59:01
292
原创 Android IPC 通讯机制源码分析【下】(1)
当Binder kernel接收到数据后,service_mananger线程的ThreadPool就会启动,service_manager查找到 CameraService服务后调用binder_send_reply,将返回的数据写入Binder kernel,Binder kernel。mHandle为0,BpBinder继续往下调用IPCThreadState:transact函数将数据发给与mHandle相关联的Service Manager Process。
2024-11-27 10:57:00
352
原创 Android IPC 之 AIDL 使用
生成的接口包括一个名为 Stub 的子类,它是其父接口(例如,IUserInterface.Stub)的抽象实现,并声明了 .aidl 文件中的所有方法。:将服务端的 Binder对象生成客户端所需的AIDL接口类型对象,这种转换过程是区分进程的,如果位于同一进程,返回的就是Stub 对象本身,否则返回的是系统封装后的Stub.proxy对象。,服务端将会收到客户端对象,该对象不为空,但是它里面的字段为空,但是在服务端对该对象作任何修改之后客户端的传参对象都会同步改动。创建一个实例并进行序列化。
2024-11-27 10:55:00
837
原创 android hxgsecurity 常用的集中加密方式封装
alias: 自己给你的别名,方便在keystore中查找秘钥,传null,默认:“xiaoGuoKey”pcksPadding: 加密填充方式 传null,默认:“RSA/ECB/PKCS1Padding”方式为进行NDK开发打包成.so文件,放进你当前类对应的module的libs中,jni对应的获取IvParameter的方法名为getIvParameter()创建一个公共和私人密钥,并将其存储使用Android密钥存储库中,因此,只有。jni对应的获取key的方法名为getKey()
2024-11-27 10:52:59
719
原创 Android Hook框架Xposed进阶
由代码我们可以分析出,掷骰子和猜拳的结果是本地取随机数来控制,当传入int paramInt = 2时,代表猜拳的接口,随机返回0,1,2三个随机数分别代表"剪刀", “石头”, “布"。由于微信版本众多,每个版本发布前都经过proguard混淆打包,导致相同接口每个版本的接口名不一致,但是相同版本在不同机器的接口保证唯一,我们这次用6.3.9 for Android也就是weixin_700版本进行hook,其它版本同理也可以hook。保证每次掷出来的骰子或者猜拳出的是我们想要的结果。
2024-11-27 10:48:58
604
原创 Android Handler 异步消息处理机制的妙用 创建强大的图片加载类
如果看过上篇博客,一定知道,此时在这个子线程中维护了一个消息队列,且这个子线程会进入一个无限读取消息的循环中,而mPoolThreadHander这个handler发送的消息会直接发送至此线程中的消息队列。10-29行:首先将传入imageView设置了path,然在初始化了一个mHandler用于设置imageView的bitmap,注意此时在UI线程,也就是这个mHandler发出的消息,会在UI线程中调用。2、在适配器中,保存List的时候,考虑只保存图片的名称,路径单独作为变量传入。
2024-11-27 10:44:54
999
原创 海上生明月,天涯共此时,MySQL表增删改查的中秋大礼包来了_mysql 礼包表 设计
查询结果的列数和类型必须和插入数据的表相匹配varchar(100)---->varchar(20),可能OK,关键看查询记录中对应数据的大小。
2024-11-21 16:47:51
694
原创 数据库管理工具:如何使用 Navicat Premium 转储(导出)和运行(导入)
MySQL 是我们经常用到的数据库,无论是开发人员用来练习,还是小型私服游戏服务器,或者是个人软件使用,都十分方便。对于做一些个人辅助软件,选择 MySQL 数据库是个明智的选择,有一个好的工具更是事半功倍,本文我将向大家介绍如何使用 Navicat Premium 导出和导入*.sql 数据文件。声明:本文由作者“白鹿第一帅”于 优快云 社区原创首发,未经作者本人授权,禁止转载!爬虫、复制至第三方平台属于严重违法行为,侵权必究。文章作者白鹿第一帅作者主页,未经授权,严禁转载,侵权必究!
2024-11-21 14:26:29
1147
原创 掌握这些核心算法,拿不到 10 个 offer 你来找我,我锤你个不争气的
对于十大算法的学习,假如你不大懂的话,那么我还是挺推荐你去看书的,因为看了书,你可能不仅仅知道这个算法怎么写,还能知道他是怎么来的。这里给大家推荐一份刷题笔记,里面把各种算法题型以及经验都总结了,把这份笔记突击学习一下,很多算法考察,基本都稳了,给大家看一下目录。图还是比较难的,不过我觉得图涉及到的挺多算法都是挺实用的,例如最短路径的计算等,图相关的,我这里还是建议看**《算法第四版》。特别是优先队列,再刷题的时候,还是经常用到的,队列与栈,是最基本的数据结构,必学。你一旦啃不下来,挫败感就会很强。
2024-11-21 13:14:18
274
原创 我去!阿里内部流传的Spring Cloud笔记被我搞到手了,2024年最新工厂的面试流程
本章主要介绍了链路追踪组件Spring Cloud Sleuth,包括微服务系统为什么需要链路追踪组件,并以案例的形式详细介绍了如何在Spring Cloud微服务系统中使用链路追踪,以及如何传输、存储和展示链路数据。**第7章,**将全面讲解Feign, 包括如何使用Feign 来远程调度其他服务、FeignClient的各项详细配置,并从源码的角度深入讲解Feign。本章主要介绍了什么是微服务、为什么需要微服务、微服务的优缺点和面临的挑战,并且将单体架构的系统和微服务架构的系统进行了比较。
2024-11-21 11:57:49
284
原创 带你了解代理模式,linux系统管理技术手册百度网盘
System.err.println(“before执行方法前执行”);System.err.println(“before执行方法前执行”);System.err.println(“before执行方法前执行”);System.err.println(“after执行方法后执行”);System.err.println(“after执行方法后执行”);Cglib动态代理实现需求方法(可以代理实现接口的类和不实现接口的类)System.err.println(“after执行方法后执行”);
2024-11-21 09:19:50
506
原创 基于微信江西南昌二手物品交易小程序系统设计与实现 研究背景和意义、国内外现状_二手物品交易研究背景分析
随着社会经济的发展,人们的消费观念也在发生变化,越来越多的人开始关注资源的合理利用和环境的保护。而基于微信的二手物品交易小程序系统可以提供一个便捷的交易平台,让更多的人参与到二手物品的交易中,进一步促进资源的有效利用和环境的保护。而微信作为一个广泛应用的社交平台,拥有庞大的用户群体和便捷的沟通工具,使得买卖双方可以直接通过微信进行交流和协商,大大简化了交易的过程。基于微信小程序设计与实现江西南昌二手物品交易小程序系统,可以为用户提供更加便捷、高效的交易服务,促进二手物品的有效流通,实现资源的合理利用。
2024-11-21 05:53:48
836
原创 基于java(springboot+mybatis)汽车信息管理系统设计和实现以及文档
5.公告信息管理:公告信息的查看、添加、修改、删除操作、汽车网站页面:可查看浏览汽车相关信息以及根据类型来查看。7.用户评论模块管理:用户评论查询、添加、删除、4.管理员信息管理:管理员信息的查看、修改、6.用户模块管理:用户列表查询、添加、删除、数据上传后台、采用富文本编辑器完成上传数据。对于详情模块的评论管理和删除等操作。分类查看汽车信息以及详情。给大家截一部分效果图吧。分类导航查看汽车信息;登录退出等以及个人资料。8.注销退出登录管理。后台管理员端主要功能。
2024-11-21 02:40:17
184
原创 十年Java开发总结的适合零基础小白的Java学习路线,java开发实战经典第二版
掌握break和continue关键字,了解return的作用。掌握javac.exe以及java.exe命令的含义。掌握List接口以及List接口子类的底层数据结构。掌握多重循环的使用,掌握流程控制中常见的一些算法。掌握if语句和switch语句的区别和使用场合。掌握方法的声明与使用,以及调用方法时的内存分析。掌握基本数据类型传递和引用数据类型传递的区别。掌握HashMap的基本用法以及底层数据结构。掌握TreeMap的基本用法以及底层数据结构。掌握final常量和Scanner的使用。
2024-11-20 23:18:20
345
原创 你连你的对象都还不了解,还天天喊着面向对象编程?,阿里面试成功的暗示
jps3840 Jps此时与未开启一致,仍然是在堆中创建了1024*1024个实例,每个实例32byte,共32M内存。
2024-11-20 19:49:42
843
原创 Springboot 多数据源动态切换 以AOP切点方式实现,java技术分享ppt
/ 如果还有其他数据源,可以按照数据源one和two这种方法去进行配置,然后在targetDataSources中继续添加。System.out.println(“加载的数据源DataSources:” + targetDataSources);logger.info("AOP切换数据源成功,数据源为: " + ds.value());// 通过判断 DataSource 中的值来判断当前方法应用哪个数据源。到这里切点AOP的相关配置已经完毕了,接下来到核心的动态数据源配置。
2024-11-20 10:14:16
509
原创 IDEA常用配置和常用插件,面试不敢对视
2.Editor -> Live Templates -> 点击右边加号为自己添加一个Templates Group -> 然后选中自己的Group再次点击加号添加Live Templates。file -> export setting, 设置导出的settings.jar包的位置,然后点击OK。file -> import settings,选择你想要导入的 settings.jar即可。Key Promoter X -一款可以进行快捷键提示的插件。FindBugs-IDEA -检查潜在bug插件。
2024-11-20 00:51:59
793
原创 docker安装与启动,java集合框架面试题
安装完docker后可用以下命令查看相关的docker信息:Client:Server:[root@localhost /]# docker info //本地已有一个docker镜像Running: 1Paused: 0Stopped: 1Images: 1or usePlugins:CPUs: 16docker镜像下载搜索可用的centos的docker镜像[root@localhost /]# docker search centos//搜索centos镜像。
2024-11-19 23:07:00
511
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人