Android知识秘籍
总结自下面链接,转载请使用大佬的博客地址https://blog.csdn.net/qq_29966203/article/details/105455615?spm=1001.2014.3001.5502
第一章 四大组件
介绍一下四大组件?
Activity
生命周期
参数传递
启动过程
启动模式
状态保存 & 恢复
Service
启动方式 & 生命周期
适用场景(Service 与 Thread 对比)
Service 分类 & 使用
IntentService
Service和Activity 通信
ContentProvider
描述
使用
BroadcastReceiver
描述
分类
注册方式
使用方式:发送\接受\屏蔽 广播
Context
理解 & 作用
分类
内存泄露
Intent
指定当前组件要完成的动作
传递数据
Application
介绍一下四大组件?
Activity(活动)Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种。它为用户提供一个窗口 ...
Android提问问答
转存自下面路径,转载用大佬的原文https://blog.csdn.net/qq_29966203/article/details/123868018?spm=1001.2014.3001.5502
上
SD卡
路径
1234a).Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) //sd卡挂载状态 b).Environment.getExternalStorageDirectory().getPath() //sd卡路径 ->/storage/emulated/0 c).Environment.getDownloadCacheDirectory().getPath() //data/cache路径 d).Environment.getDataDirectory().getPath() //data
权限
12<uses-permission android:name=“android.permission.WRITE_EXTERNAL_STORAGE”/> ...
Java知识秘籍
总结自下面链接,转载请使用大佬的博客地址https://blog.csdn.net/qq_29966203/article/details/105455615?spm=1001.2014.3001.5502
第一章 面向对象
面向对象三大特性?
对this和super的认识?
谈谈权限修饰符的特性?
对java多态的理解 /Java中实现多态的机制是什么?
静态属性和静态方法能被继承吗?静态方法又是否能被重写呢?
面向对象三大特性?面向对象的三大特性包括:封装、继承、多态。
封装封装是给对象提供了隐藏内部属性和行为的能力。通过public,protected,private修饰符来给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。它可以通过隐藏对象的属性来保护对象内部的状态,并且可以防止对象之间的不良交互,提高安全性。
12345678910111213141516171819202122232425262728293031323334353637// 对成员变量设置私有访问权限,对信息进行隐藏// 为每个成员变量提供对外公共方法访问(getter/sette ...
程序员面试金典(Java代码)
程序员面试金典01
面试题 01.01. 判定字符是否唯一
面试题 01.02. 判定是否互为字符重排
面试题 01.03. URL化
面试题 01.04. 回文排列
面试题 01.05. 一次编辑
面试题 01.06. 字符串压缩
面试题 01.07. 旋转矩阵
面试题 01.08. 零矩阵
面试题 01.09. 字符串轮转
面试题 01.01. 判定字符是否唯一
面试题 01.01. 判定字符是否唯一
12345678910111213class Solution { public boolean isUnique(String astr) { int[] hash = new int[26]; for (int i = 0; i < astr.length(); i++) { if (hash[astr.charAt(i) - 'a'] != 0) { return false; } else ...
7大设计原则+23种设计模式(Java代码版本)
7大设计原则+23种设计模式(Java代码版本)设计原则具体知识
单一职责原则
一个类=只有一个引起它变化的原因。(只负责担任一个职责)
如果一个类的职责过多,即耦合度太高=一个职责变化会影响到其他的职责
开放封闭原则
一个实体(类、函数、模块等)应该对外扩展开放,对内修改关闭(这个对应下面的第一点)
1、即每次发生变化时,要通过添加新的代码来增强现有类型的行为,而不是修改原有的代码。2、符合开放封闭原则的最好方式是提供一个固有的接口,然后让所有可能发生变化的类实现该接口,让固定的接口与相关对象进行交互。
里氏代替原则
子类必须替换掉它们的父类型
1、在软件开发过程中,子类替换父类后,程序的行为是一样的。2、只有当子类替换掉父类后软件的功能不受影响时,父类才能真正地被复用,而子类也可以在父类的基础上添加新的行为。
依赖倒置原则
细节应该依赖于抽象,而抽象不应该依赖于细节。(高层模块不应该依赖于底层模块,依赖关系应当是面向接口或抽象类,而不是具体实现类)依赖倒置的本质原则就是 :通过抽象(接口或抽象类)使各个类或模块实现彼此独立,互不影响,实现模块间的松耦合。
...
代码随想录学习记录
代码随想录学习记录数组双指针思想
二分查找这道题目的前提是数组为有序数组,同时题目还强调数组中无重复元素,因为一旦有重复元素,使用二分查找法返回的元素下标可能不是唯一的,这些都是使用二分法的前提条件,当大家看到题目描述满足如上条件的时候,可要想一想是不是可以用二分法了。
704. 二分查找
35. 搜索插入位置
34. 在排序数组中查找元素的第一个和最后一个位置
69. x 的平方根
367. 有效的完全平方数
704. 二分查找
704. 二分查找 - 力扣(LeetCode)
12345678910111213141516171819202122class Solution { public int search(int[] nums, int target) { int left = 0, right = nums.length - 1; // 左闭右闭 while (left <= right) { int mid = left + ((right - left) ...
Leecode面试经典150题
Leecode面试经典150题数组 / 字符串88. 合并两个有序数组一开始个人写法
12345678910111213141516171819202122class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { int[] ints = new int[m + n]; int t = 0, t1 = 0, t2 = 0; while (t1 < m && t2 < n) { if (nums1[t1] < nums2[t2]) { ints[t++] = nums1[t1++]; } else { ints[t++] = nums2[t2++]; } } while ( ...
剑指offer个人算法准备
剑指offer个人算法准备剑指Offer数据结构链表双指针
JZ6 从尾到头打印链表
JZ24 反转链表
JZ25 合并两个排序的链表
JZ52 两个链表的第一个公共结点
JZ23 链表中环的入口结点
JZ22 链表中倒数最后k个结点
JZ35 复杂链表的复制
JZ76 删除链表中重复的结点
JZ18 删除链表的节点
JZ6 从尾到头打印链表
翻转,浪费时间
123456789101112131415161718192021222324252627282930313233343536373839import java.util.*;/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;public class Solution { ...
面试准备(框架部分)
面试准备(框架部分)Glide先上其他大牛的博客链接
面试官:简历上最好不要写Glide,不是问源码那么简单 - 掘金 (juejin.cn)
Android | 《看完不忘系列》之Glide - 掘金 (juejin.cn)
基础流程开始自己的记录
需要明确的是看其他人的图片加载框架其实就是为了学习如果自己要搭建一个图片加载框架需要做的各个方面的工作
首先看最简单的用法
1234Glide.with(this).load(url).into(imageView);//with(Context/Activity/Fragment)决定Glide加载图片的生命周期//load(url)url包括网络图片、本地图片、应用资源、二进制流、Uri对象等等(重载)//into(imageView)
最简单的用法可以看作主干,其实就是三部曲
更进阶一点的用法这里贴出来,当然还有更多
123456//扩展功能.placeholder(R.drawable.loading)//加载图片过程占位符,加载完成会替换占位符.error(R.drawable.error)//加载图片错误占位符.asGif( ...
面试准备(安卓部分)
面试准备(安卓部分)四大组件Activity,Broadcast Receiver,Service以及Content Provider。
Fragment也写到这里来吧
Activity官方给出的生命周期图片,对照了Activity和Fragment的生命周期
四个状态
活动状态(Running/Active)、暂停状态(Paused)、停止状态(Stopped)、销毁状态(Killed)
四个启动模式
Standard
SingleTask
SingleTop
SingleInstance
Flags标识
FLAG_ACTIVITY_NEW_TASK 跟在AndroidManifest设置launchMode为SingleTask一样效果,但是Flags的优先级更高
FLAG_ACTIVITY_SINGLE_TOP 跟在AndroidManifest设置launchMode为SingleTop一样效果
FLAG_ACTIVITY_CLEAR_TOP 一般跟SingleTop同时出现,当然也可以跟其他一起用,会将这个实例连同他之上的Activity都出栈,然后再新建一个实例 ...