![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
文章平均质量分 56
Jeled
敲敲代码,寻找灵感,发发呆,然后Ctrl + C, Ctrl + V, 完美!
展开
-
CoordinatorLayout+AppBarLayout 布局中实现自动吸顶以及滚动到某一固定位置的效果
CoordinatorLayout+AppBarLayout 布局中实现自动吸顶以及滚动到某一固定位置的效果原创 2022-12-05 14:04:11 · 906 阅读 · 0 评论 -
Android——跳转到小程序
Android跳转小程序的相关知识原创 2022-09-22 09:37:27 · 1980 阅读 · 0 评论 -
Android进程间的通信
1.IPC进程间的通信(Inter Process Communication)定义:进程间通过内核提供的机制完成数据交换2.Android多进程Application生命周期(onCreate) 数据共享失效(对象、单例、回调) 进程间通信(文件、Intent、AIDL)3.以下通过AIDL的三种方式实现进程间的通信3.1.IBinder:实现步骤:3.1.1:首先创建一个aidl接口,在其写需要用到的几个方法// IConnectionService.aidlpac原创 2022-04-26 10:47:16 · 739 阅读 · 0 评论 -
Android相关知识学习
Android新控件之MotionLayout 个人主页页面悬浮,缩放,平移,旋转效果<六> - 简书Android新控件之MotionLayout+CoordinatorLayout+TabLayout+ViewPager 悬浮置顶和顶部滑动动画<八> - 简书android 小技巧 - 简书Android项目200项 - 简书Android优化总结 - 简书Java 面试题(带答案) - 简书Android 面试之必问Android基础 - 简书...原创 2022-02-17 09:32:56 · 122 阅读 · 0 评论 -
Android微信授权登录
这是官方接入文档:关于openSDK6.8.0的更新说明 | 微信开放文档根据官方文档的指引:第一步:申请你的 AppID首先要登录微信开发平放平台,注册账号,提交资料,然后审核通过才返回AppID和AppSecret微信开放平台...原创 2021-12-30 14:38:09 · 7201 阅读 · 0 评论 -
Android 弹窗,底部弹窗,密码输入框,底部列表选择等
导入依赖:implementation 'com.lxj:xpopup:1.9.0'implementation 'com.contrarywind:Android-PickerView:4.1.9'public class DialogHelper { public static void showConfirmDialog(Context context, String title, CharSequence content, ...原创 2021-12-22 11:46:16 · 1992 阅读 · 0 评论 -
Android面试——>Android基础进阶
View相关View的绘制流程自定义控件: 1、组合控件。这种自定义控件不需要我们自己绘制,而是使用原生控件组合成的新控件。如标题栏。 2、继承原有的控件。这种自定义控件在原生控件提供的方法外,可以自己添加一些方法。如制作圆角,圆形图片。 3、完全自定义控件:这个View上所展现的内容全部都是我们自己绘制出来的。比如说制作水波纹进度条。View的绘制流程:OnMeasure()——>OnLayout()——>OnDraw()第一步:OnMeasure():测量视图大小。从顶层父V原创 2021-12-02 11:39:26 · 181 阅读 · 0 评论 -
kotlin进阶学习
Android—Kotiln进阶教程(一) - 掘金Android—Kotiln进阶教程(二) - 掘金Android—Kotiln进阶教程(三) - 掘金Android—Kotiln进阶教程(四) - 掘金Android—Kotiln进阶教程(五) - 掘金原创 2021-12-01 09:35:21 · 202 阅读 · 0 评论 -
Kotlin基础学习
Android—Kotiln基础教程(一) - 掘金Android—Kotiln基础教程(二) - 掘金Android—Kotiln基础教程(三) - 掘金Android—Kotiln基础教程(四) - 掘金Android—Kotiln基础教程(五) - 掘金Android—Kotiln基础教程(六) - 掘金Android—Kotiln基础教程(七) - 掘金Android—Kotiln基础教程(八) - 掘金Android—Kotiln基础教程(九) - 掘金...原创 2021-12-01 09:33:56 · 235 阅读 · 0 评论 -
Handler机制简介
一文掌握Android Handler消息机制核心代码 - 掘金Android知识点之Handler - 掘金面试再也不怕 Handler 了,消息传递机制全解析 - 掘金Android Handler解读 - 简书Android的Handler消息传递机制 - 简书原创 2021-11-30 10:07:31 · 894 阅读 · 0 评论 -
数据库GreenDao简介
1、GreenDao简介:greenDAO是一个开源的Android ORM,它让SQLite数据库的开发再次变得有趣。它使开发人员免于处理低级数据库要求,同时节省了开发时间。SQLite是一个很棒的嵌入式关系数据库。尽管如此,编写SQL和解析查询结果仍然是非常繁琐且耗时的任务。通过将Java对象映射到数据库表(称为ORM,“对象/关系映射”),greenDAO使您摆脱了这些麻烦。这样,您可以使用简单的面向对象的API来存储,更新,删除和查询Java对象。 ...原创 2021-11-29 14:28:42 · 2110 阅读 · 0 评论 -
Android JetPack之——Room
room简介:在JetPack系列中,Room是一个非常重要的组件。作为一个ORM库,其在原生的SQLite数据库上面进行了封装,以便更好的提供服务Room的三个注解:@Entity:@Entity用来注解实体类,其代表的是一张数据库表,通常情况下@Entity注解中我们传入了一个参数 tableName用来指定表的名称,如果不传默认类名为表名。(1)@PrimaryKey注解用来标注表的主键,并且使用autoGenerate = true 来指定了主键自增长。(2)@ColumnInfo注解用原创 2021-11-29 13:56:12 · 1952 阅读 · 0 评论 -
自定义View简介
在Android中,所有的控件都是继承基类View的。我们通常在实现自定义View中,有几种方式自定义组合控件:就是将经常使用的UI封装成一个View,比如我们页面的标题 继承View:不复用系统控件逻辑,自定义实现自己需要的功能,比如贝塞尔曲线 继承ViewGroup:比如继承FrameLayout、RelativeLayout、LinearLayout,在原有的逻辑功能上扩展其他功能 继承View: 比如TextView、Button等,在原有的逻辑功能上扩展其他功能 继承View.原创 2021-11-29 10:57:14 · 154 阅读 · 0 评论 -
Retrofit网络请求介绍
Retrofit源码流程图:Retrofit是Square开源的一款适用于Android网络请求的框架。Retrofit底层是基于Okhttp实现的,与其他网络框架不同的是,它更多使用运行时注解的方式提供功能Retrofit优缺点:优点可以配置不同httpclient来实现网络请求,如OKhttp、httpclient等 请求的方法参数注解都可以定制 支持同步、异步和RxJava 超级解耦 可以配置不同的反序列化工具来解析数据,如json、xml等 使用非常方便灵活 框..原创 2021-11-24 10:53:25 · 1631 阅读 · 0 评论 -
Okhttp网络请求工具介绍
1.Okhttp请求流程:Okhttp内部的大致请求流程图如下所示:使用方式:public class OkHttpUtils { private static String TAG = "OkHttpUtils"; private static String url = "http://www.baidu.com"; //OkHttp 异步get请求 public static void OkHttpEnqueue() { OkHttp.原创 2021-11-23 16:04:21 · 3307 阅读 · 0 评论 -
RecycleView的复用、优化、缓存
1、RecycleView四级缓存:1.1、从上图中看出:RecycleView的缓存从上到下分为四层:scrap、cache、ViewCacheExtension、RecycleViewPool1.2、RecycleView缓存的对象是ViewHolder,而RecycleView复用的对象也是ViewHolder1.3、Recycler负责管理和缓存所有的ViewHolder。2、四级缓存介绍:2.1、scrap:从图中可以看出,scrap是用来缓存正在显示的ViewH.原创 2021-11-22 10:41:49 · 1922 阅读 · 0 评论 -
Glide知识简介
首先Glide是Google为我们推荐的一个快速高效的图片加载库,使用简单。第一步:添加依赖://glide的依赖 implementation 'com.github.bumptech.glide:glide:4.9.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'简单使用:一行代码即可搞定://一行代码搞定的方法Glide.with(上下文).load(url地址).into(im...原创 2021-11-19 11:19:16 · 2155 阅读 · 0 评论 -
HashMap、HashTable、HashSet简介
Hash是Map接口的实现Hash允许空的key_value键值对,HashMap被人认为是Hashtable加强版,HashMap非线程安全,所以当多个线程对同一个HashMap进行操作时,需要加同步锁,可以是Collections.synchroniredMap(new HashMap)来创建一个线程安全的Map,如果想构造线程安全的Map可以考虑ConcurrenHashMap。因为HashMap是无序的,因为HashMap无法保证内部存储的键值对的有序性。HashMap的底层数据结构是数组原创 2021-11-18 17:47:03 · 839 阅读 · 1 评论 -
LiveEventBus、EventBus、RxBus的简介和区别
LiveEvenBus是一款Android的消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持Androidx,支持跨进程,支持跨app优点:1.生命周期感知消息随时订阅,自动取消订阅 告别消息总线造成的内存泄露 告别生命周期造成的奔溃2.范围全覆盖的消息总线解决方案进程内消息发生 APP内,跨进程消息发送 APP之间的消息发送2.使用2.1添加依赖:implementation 'com.jeremyliao:live-event-bus原创 2021-11-18 16:21:31 · 1840 阅读 · 0 评论 -
提交代码出现 Push to origin/master was rejected 错误解决方法
1.一般发生在GitHub或码云刚刚创建仓库第一次pull的时候,两个仓库的差别非常大,所以git拒绝合并两个不相干的东西2.解决方法:依次输入一下命令即可解决:git pullgit pull origin mastergit pull origin master --allow-unrelated-histories如果还是提交不了可以试试下面这行代码git push -u origin master -f...原创 2021-11-12 16:01:47 · 1159 阅读 · 0 评论 -
Android文件下载、解压带进度条
异步下载模式:/** * Created by zhuangxiaozheng on 2021/10/9. */public class DownLoaderTask extends AsyncTask<Void, Integer, Long> { private final String TAG = "DownLoaderTask"; private URL mUrl; private File mFile; private ProgressDia.原创 2021-10-13 10:18:26 · 448 阅读 · 0 评论 -
Android文件下载
public class FileDownloadUtils { private String sdPath; public FileDownloadUtils() { sdPath = Environment.getExternalStorageState() + "/"; } /** * 在SD卡上创建文件 * * @param fileName * @return * @throws IOExce.原创 2021-10-09 15:21:06 · 305 阅读 · 0 评论 -
Android文件工具类(复制文件、解压文件等功能)
public class FileUtilss { private static final String TAG = "FileUtils"; private FileUtilss(){} static void copyFiles(String fromPath, String toPath) { File fromPathFile = new File(fromPath); if (fromPathFile.exists() &&a.原创 2021-10-08 16:24:20 · 414 阅读 · 0 评论 -
Android悬浮窗功能
如果每个界面都要显示悬浮窗,则把这段代码写在BaseActivity即可,如果只是在某个界面显示,直接在该Activity写就可以了,或是直接在布局xml文件写。FrameLayout rootView = (FrameLayout) getWindow().getDecorView(); FrameLayout.LayoutParams textParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_C.原创 2021-09-28 10:00:26 · 256 阅读 · 0 评论 -
集合(面试可用)
ArrayList和LinkedList的区别: ArrayList和LinkedList分别是基于数组和双向链表实现的线性表。由于实现原理的不同,ArrayList和LinkedList在随机查询和插入、删除时的效率存在着差异。ArrayList随机查询快插入、删除慢,适用于查询频繁、修改少的场景。LinkedList随机查询慢插入、删除慢,适用于查询少、修改频繁的场景。1.ArrayListArrayList 是基于数组实现的、可以自动扩容的、地址连续的线性表 Arrayl...原创 2021-07-28 11:59:40 · 60 阅读 · 0 评论 -
Android 和 Java 学习笔记
App应用层 —(发起网络请求)—> Retrofit ——> OkHttp —(返回响应数据)—> 服务器OkHttp:1.创建 OkHttpClient 实例2.创建 Request3.OkHttpClient 生成一个 Call 对象实例 (RealCall)4.发送请求 (同步、异步)val okHttpClient = new OkHttpClient().Builder().build();val request = Request.Bui...原创 2021-07-13 16:52:08 · 176 阅读 · 0 评论