自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (1)
  • 论坛 (4)
  • 问答 (3)
  • 收藏
  • 关注

原创 读《安娜•卡列尼娜》有感以及我为什么坚定决心考研

关于我博客好久没更新这件事,我感到十分愧怍。七月底我尽可能委婉的推却了HR的实习邀请,决计考研,这使得我不得不把重心暂时转移到下学期初的四级考试和高数复习上面。为什么忽然要考研了呢?那天下了很大的雨,朋友正好来到我的城市找我,短短几个小时的暴雨让街道变成了涛涛洪流。过马路的时候,大多数人都骑着自行车通过,马路两边积水尤其深,我不会骑车,只好趟着这条腥臭的河流往回走,艰难地走了那么久,才发现天桥下面已经不能通过了,只好折返走另一条路回家。回去后思考了许多,我觉得丰厚的知识储备就好比自行车技能在暴雨天气,给

2020-08-29 02:45:03 73 2

原创 大二android实习网易一面+二面面经

一面问题一.介绍一下你自己?回答:从我是谁,我来自哪里,我什么时候开始学的安卓,我的兴趣爱好是什么这几个角度进行了介绍。问题二.做过什么项目?回答:如实回答了我做过的主要项目。问题三.讲述一下mvp和mvvvm?回答:mvp是由mvc改进来的,区别在于view和model不进行直接交互,而是交给presenter来处理。从而降低了代码耦合性。mvp中随着业务的增加,会有非常多UI相关的case。这样就会造成view的接口很庞大。而MVVM就解决了这个问题。通过双向绑定的机

2020-06-06 10:06:27 212

原创 自定义EditText自设样式并带有下拉选择框的实现

先上一张效果图:在drawable目录下建一个xml:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item> <shape xmlns:android="http://schemas.android.com/apk/res/android"

2020-05-21 22:34:49 186

原创 leetcode四月二十五日解题

动态规划法逆过程从终点开始看有几种走法,finish可能是往下走或者往右走得到的,因此finish一格有两种走法....一直这样退回去public int uniquePaths(int m, int n) { if(m==0||n==0) return 0; int[][]dp = new int[m][n]; dp[0][0]=1; ...

2020-04-25 20:15:10 54

原创 leetcode翻转对(归并排序法)

看到这道题你可能第一反应是下面这段代码: public int reversePairs(int[] nums) { int res=0; for(int i=0;i<nums.length;i++){ for(int j=i+1;j<nums.length;j++){ if(i<j&&a...

2020-04-22 10:01:38 87

原创 最长连续序列

❤本题不是很好想,具体思路我已经录制视频上传到抖音账号:王玥遥上了,需要自取❤class Solution { public int longestConsecutive(int[] nums) { if(nums.length==0) return 0; if(nums.length==1) return 1; HashMap<Integ...

2020-04-20 23:45:52 109

原创 leetcode四月十九日解题

双指针法设置两个指针,一个指向第一条垂直线,一个指向最后一条垂直线,记录最大面积为area,area初始值等于n*Math.min(A0,An),然后比较左右两根垂直线哪一条更短,更短的向中间移动,计算新的面积值然后如果比原本的面积更大就更新area.public int maxArea(int[] height) { int i=0,j=height.length-1; ...

2020-04-19 22:40:26 51

原创 leetcode第五题:最长回文子串

一开始的错误想法后缀数组法:把S倒置过来得到S’,然后将他们拼接在一起得到字符串T,在T的最中间插入一个字符串中没有的符号+,遍历这个字符串T,发现加号之前有跟后面一毛一样的子字符串,输出。错误点:对于ABCDETFDCBA这样的字符串,遍历得出的最长回文子串将会是ABCD,但实际上最长子串长度仅为1.动态规划法对于所给的字符串s,假设dp[i][j]=true表示字符串s[i...j...

2020-04-18 23:05:18 71

原创 Tinker热修复

Tinker核心原理一.基于android原生的classLoader开发了自己的classLoader二.基于安卓原生的aapt,开发了自己的aapt三.微信团队自己基于Dex文件开发了DexDiff算法ART和dalivk的区别ART 的机制与 Dalvik 不同。在Dalvik下,应用每次运行的时候,字节码都需要通过即时编译器(just in time ,JIT)转换为机...

2020-03-12 22:28:59 88 1

原创 Fragment完全总结

一.动态添加fragment第一步,动态创建管理器对象第二步,获取fragment的事务对象并开启第三步,调用事务中相应的动态操作fragment方法的执行第四步,提交事务二.静态添加fragment1、继承Fragment,重写onCreateView决定Fragemnt的布局2、在Activity中声明此Fragment,就当和普通的View一样三.frag...

2020-02-19 18:23:03 148

原创 数据结构——堆

堆的定义:堆中某个结点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树;将根节点最大的堆叫做最大堆或者大根堆;根节点最小的堆叫做最小堆或者小根堆。下图演示了如何从最大堆中取出堆顶元素...

2020-02-11 18:29:54 48

原创 数据结构——二分搜索树的实现

public class BST<E extends Comparable<E>> { private class Node{ public E e; public Node left,right; //构造函数,让用户传入的参数e等于这里的e public Node(E e){ this.e=e; left=null; right=n...

2020-02-10 14:37:40 52

原创 数据结构——链表的实现

public class LinkList<E> { private class node{ public E e; public node next; public node(E e,node next){ this.e=e; this.next=next; } public node(E e){ this(e,null); } ...

2020-01-29 13:24:34 103

原创 数据结构——数组队列与循环队列的实现

一.数组队列数组队列第一个元素出队,后面的元素要全部向前移动一位,同时size--,因此出队的时间复杂度是O(n)的复杂度。还是复用自己封装的动态数组:public class ArrayQueue<E> implements Queue { private MyArray<E> array; @Override public int getSiz...

2020-01-28 16:18:46 63

原创 数据结构——Stack的二次封装

public interface Stack<E> { int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek();}import java.lang.reflect.Array; class ArrayStack<E> implements Stack<E&g...

2020-01-27 20:58:45 37

原创 数据结构——数组的二次封装

public class MyArray<E> {//泛型数组 private E[] data; //数组的容量private int size;//删除数组元素 private E remove(int index){ if(index<0||index>=0){ throw new IllegalArgumentException...

2020-01-27 17:36:09 66

原创 android事件分发

事件分发定义:用户通过屏幕与手机交互的时候,每一次点击,长按,移动等都是一个事件。事件分发机制:某一个事件从屏幕传递到各个view,由view来使用这一事件(消费事件)或者忽略事件(不消费事件),这个过程的控制事件分发的对象:系统把事件分发为MotionEvent对象,事件分发的过程就是MotionEvent分发的过程。事件的类型:(1)按下(ACTION_DOWN) (2)移动:(A...

2020-01-26 20:10:39 67 1

原创 Activity生命周期与启动模式

一.典型情况下的生命周期 所谓情况下的生命周期指在有用户参与的情况下,Activity所经过的生命周期改变。 在正常情况下,Activity会经过如下的生命周期。(1)onCreate:表示Activity正在被创建,这是生命周期的第一个方法。在这个方法中,我们可以做一些初始化工作。 (2)onRestart:表示Activity正在重新启动。一般情况下,当当前A...

2020-01-26 15:21:40 65

原创 Okhttp 用GET方法请求json获取天气信息

package com.example.jvheweather;import androidx.appcompat.app.AppCompatActivity;import okhttp3.Call;import okhttp3.Callback;import okhttp3.MediaType;import okhttp3.OkHttpClient;import okhttp...

2020-01-23 21:50:13 437

原创 Leetcode166分数到小数做题收获

给定两个整数,分别表示分数的分子numerator 和分母 denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。示例 1:输入: numerator = 1, denominator = 2输出: "0.5"示例2:输入: numerator = 2, denominator = 1输出: "2"示例3:输入: nume...

2019-10-28 16:06:32 98

原创 设计模式:工厂方法模式学习

使用场景:工厂方法用于多个方法实现了一个接口的情况下。定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。工厂方法模式的简单实现:1,创建抽象工厂2,具体工厂3,客户端调用工厂方法一:参数法工厂方法二:多个函数法工厂方法三:静态方法假定场景:现在有一个图形类的接口,下面有方法决定是计算圆面积或者是三角形面积。参数法...

2019-10-24 12:57:55 54

原创 Android多线程之AsyncTask

引言除了Thread本身外,在Android中可以扮演线程角色的还有很多,比如AsyncTask,IntentService,同时HandlerThread是一种特殊的线程。尽管AsyncTask,IntentService以及handlerThread的表现形式都有别于传统的线程,但是它们的本质依然是传统的线程。对于AsyncTask来说,它的底层用到了线程池,对于IntentService...

2019-10-15 14:05:07 52

原创 android消息机制

消息处理机制本质:一个线程开启循环模式持续监听并依次处理其他线程给它发的消息。简单的说:一个线程开启一个无限循环模式,不断遍历自己的消息列表,如果有消息就挨个拿出来做处理,如果列表没消息,自己就堵塞(相当于wait,让出cpu资源给其他线程),其他线程如果想让该线程做什么事,就往该线程的消息队列插入消息,该线程会不断从队列里拿出消息做处理。handler的工作原理handler的工作主...

2019-10-14 23:14:44 48

原创 APP发布上线

简要步骤1.为APK进行数字签名2.生成签名APK3.发布APK第一步,选择build apk设置数字签名的路径下一步选择v1,ok...

2019-10-12 22:32:29 79 1

原创 EventBus的使用(一)

什么是EventbusEventBus是一款针对Android优化的发布——订阅事件总线。它简化了应用程序内各组件间,组件与后台线程间的通信,将发送者和接收者进行了解耦。EventBus的三要素和四种ThreadMode三要素:event:事件,可以是任意类型的对象subscriber:事件订阅者。在EventBus3.0之前消息处理的方法只能限定于Onevent,onEven...

2019-10-12 21:54:27 40

原创 Rxjava总结第二篇

Rxjava的subjectsubject既可以是一个observer也可以是一个observeable,它是连接observer和observable的桥梁。因此,subj可以被理解为subject=observable+observer。rxjava提供了四种subject。1.publishSubjectPublishSubject只会把在订阅发生的时间点之后来自原始observ...

2019-10-10 22:40:16 33

原创 OpenGL es 设置屏幕背景为红色

EglHelper.cpp//// Created by lenovo on 2019/9/29.//#include "../log/AndroidLog.h"#include "EglHelper.h"EglHelper::~EglHelper() {}EglHelper::EglHelper() { mEGLContext=EGL_NO_CONTEX...

2019-10-05 21:01:26 142

转载 MediaPlayer播放音频与视频

9.2 MediaPlayer播放音频与视频分类Android 基础入门教程本节引言:本节带来的是Android多媒体中的——MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放音视频。它支持三种不同的媒体来源:本地资源 内部的URI,比如你可以通过Content...

2019-10-05 19:23:10 268

翻译 OpenGL es 综述

嵌入式加速的3D制图法标准OpenGL ES是一种免版税的、跨平台的API,用于在嵌入式和移动系统(包括控制台、电话、设备和车辆)上呈现高级2D和3D图形。它由定义良好的适合低功耗设备的桌面OpenGL子集组成,并在软件和图形加速硬件之间提供了灵活而强大的接口。OpenGL ES版本一览OpenGL ES 3.2 -附加的OpenGL功能在本系列的最新版本中,OpenGL ES 3...

2019-10-05 00:23:14 63

原创 android studio配置opengl es环境

step one:勾选C++依赖项step two一直勾选nextstep threefile——>settings——>sdk tools——>勾选cmake,lldb,ndk,如果不选择这里的ndk,也可以单独下载ndkstep four如果是单独下载的ndk,file——>project structure,配置路径:...

2019-10-04 22:45:46 838

原创 设计模式:单例模式学习

单例模式的原理:有些对象我们只需要一个,比如线程池,缓存,硬件设备等。如果多个实例会有造成冲突,结果不一致性等问题。单例模式确保一个类最多有一个实例,并提供一个全局访问点。五种经典的单例模式1,饿汉模式这种方式在类加载时就完成了初始化,所以类加载较慢,但获取对象的速度快。public class Singleton{ private static Singleto...

2019-09-01 13:40:14 43

原创 SQLite复习总结

SQLite是安卓内置的一款轻量级数据库,不仅支持标准的SQL语法,还遵循了数据库的ACID事务,它比一般的数据库更简单,不需要设置账号密码就能使用。SQLiteOpenHelper类可以非常简单的对数据库进行创建和升级。SQLiteOpenHelper类是一个抽象类,如果想要使用它,就要创建一个自己的帮助类去继承它。SQLiteOpenHelper有两个抽象方法,分别是OnCreate()和On...

2019-08-28 00:15:06 59

原创 TCP的三次握手和四次挥手

通常进行HTTP连接网络的时候会进行TCP的三次握手,然后传输数据,之后再释放连接。第一次握手:建立连接。客户端发送连接请求报文段,将SYN设置为1,Seqeence Number(seq)为x,接下来客户端进入SYN_SENT状态,等待服务器端的确认。第二次握手:服务器收到客户端的SVN报文段,对SVN报文段进行确认,设置Acknowledged Number(ACK)为x+1,同时自己...

2019-08-23 17:21:37 57

原创 带有自定义分割线的recyclerview

效果图:activity_main:package com.example.lenovo.my_recyclerview;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support....

2019-08-18 10:38:40 46

原创 SeekBar进度条和ImageButton

先展示一张效果图,下面贴出代码:seekbar_style.xml<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:startColor="#e0c...

2019-08-14 23:14:37 54

原创 2019年7月28日,我的日记

转眼之间,19年已经过去了一多半了。上半年,尤其是头几个月里,我感觉自己一直处于一种比较憔悴的状态。不是身累,今年其实没有学习太多的东西,只是心累,不知道自己忙碌的方向在哪里,学东西似乎总比别人慢半拍。 二月份的时候还在实验室,LeetCode上也算是做了点题,然后就写一个APP,写到一半身体状况不太好,就休息了,没有继续写下去。然后就一直在家里,每天主要的生活内容就是睡...

2019-07-28 09:16:32 281

原创 Canvas初探

一.Canvas 的常用API1.rotate(旋转)2.scale(缩放)3.translate(位移)4.skew(倾斜)5.save(保存)& restore(恢复)当使用到restore方法的时候必须配套使用save,不然运行就会崩溃。二.paint类的常用绘制方法方法 作用 drawRect() 画矩形 drawCircle()...

2019-07-16 16:16:10 46

原创 kotlin基础概念问答

1,变量和常量怎么声明?答:变量是var,常量是val2,语句和表达式有什么区别?答:语句是没有返回值的,而表达式有返回值3,kotlin的三种注释方法是什么?答:块注释,文档注释,单行注释4,什么是表达式?答:kotlin中表达式包括:控制结构表达式,try表达式,表达式函数体和对象表达式5,kotlin语言特点是什么?答:函数式编程6,什么叫做函数式编程...

2019-07-16 10:22:30 53

原创 二叉树的重难点问题总结

一.二叉树的删除删除二叉树的一个结点要分为三种情况去处理:(1)该结点是一个叶子结点 处理办法:其双亲结点的相应指针域的值改为null(2)该结点只有左子树或者右子树 处理办法:其双亲结点指针域的值改为“指向被删除结点的左子树或右子树”(3)该结点既有左子树又有右子树 处理办法:用这个结点的前驱替换这个结点,然后删去前驱结点二.二叉树的重要性质...

2019-04-29 23:03:15 616

原创 LeetCode做题总结:数组(3)

一.三数之和分析:这道题将三数之和实际上转化为两数之和在处理,让两个数字的和加起来等于目标数减去第一个数所得的差值即可。为了给随机的数组创造一些规律性,一般来说要对数组先排序,这道题就是这样的。排完序之后,因为三个正数的和不能等于0,所以这是一个剪枝的条件,这样减少所需的时间。要去除重复的三元组,你不可以用if(i&gt;0&amp;&amp;nums[i]==nums[i-1]) co...

2019-03-13 10:22:22 94

TicketManageSystem.zip

大二课程设计,android票务管理系统,有管理员和客户两个权限。管理员增删查改演出厅和票,客户选择电影和演出厅和座位。

2020-04-07

我应该考验吗

发表于 2020-05-29 最后回复 2020-06-19

音乐播放安卓

发表于 2019-11-12 最后回复 2019-11-13

AS配置C++环境报错

发表于 2019-09-25 最后回复 2019-09-26

retrofit+rxjava

发表于 2019-02-03 最后回复 2019-02-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除