自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 Android面试宝典2022-(停止更新,请看面试专栏)

Android面试宝典2020-持续更新,包含java基础面试题,java进阶面试题。Android基础面试题,Android高级面试题,kotlin面试题,设计模式面试题,网络面试题,性能优化面试题等等。适合中高级程序员面试之前复习用。如有错误请指正,谢谢。...

2020-12-13 22:08:22 17307 10

原创 Ubuntu Android开发常用命令及操作

Ubuntu Android开发环境,命令等常用操作

2022-10-18 10:10:39 921 1

原创 Android View体系

android view视图坐标系

2022-08-05 10:21:59 380

原创 Android安装应用时Installation failed due to: ‘Connection refused: connect’问题

Installation failed due to: 'Connection refused: connect'

2022-07-11 17:46:28 5027 2

原创 RxJava入门到进阶全攻略

RxJava2入门到进阶

2022-07-08 18:36:01 660

原创 AIDL基本使用

android aidl基本使用

2022-06-30 17:43:48 2771

原创 adb常用命令整理

Android开发adb常用命令整理

2022-06-15 19:39:14 3412

原创 Android Jetpack Room数据库全解析

room数据库基础使用;room数据库进阶使用;room数据库Query语句;room数据库升级;room数据库自动迁移。

2022-06-09 20:06:12 2476

原创 系统应用安装时,签名校验失败问题

android系统应用签名问题导致安装失败

2022-06-09 15:15:12 2675

原创 记录一些面试题

腾讯csig:3.10号0.栈和堆的区别,创建对象的时候,分别是怎么存储数据的1.handler导致内存泄漏。gc root的引用链是怎样的,从线程到activity2.http请求头有哪些,请求行有哪些,header里面主要是哪些东西3.https为什么安全,加密算法有哪些,https什么时候用到的加密?4.线程池的keepAliveTime是干什么的,线程池有哪些状态,什么时候触发,线程池里面的队列有哪些?什么作用5.activity是怎么启动的?6.contentprovider什么时候

2022-03-18 14:25:57 1136

原创 常见算法题

1.二分查找(简单)(重要) 13给定有序数组 找某个数的位置//二分查找public class BInarySort { public static void main(String[] args) { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 , 11, 12, 13,14,15,16,17,18,19,20 }; int resIndex = binarySearch(arr, 0, arr.length - 1, 12);

2022-03-07 22:03:05 5228

原创 Android复习系列⑧之《性能优化》

1 性能优化分析工具学习System TraceHierarchy ViewerTraceView2 布局优化布局优化相对比较容易,优化可以先从布局来展开。使用 Hierarchy Viewer 和开发者模式中关于布局绘制的选项,可以查到一些问题然后进行修改。布局嵌套过深:层级嵌套过深的话,深度遍历各个节点会非常消耗时间,这也是布局优化余地最大的一个点了。很多过深的层级是不必要的。如果布局真的很复杂,不深度嵌套没法实现想要的效果。可以尝试约束布局 Constraintlayout 。使用合适

2022-02-24 13:48:15 1906

原创 Android复习系列⑦之《设计模式》

1mvc/mvp/mvvmMVC:Model-View-Controller,是一种分层解偶的框架,Model层提供本地数据和网络请求,View层处理视图,Controller处理逻辑,存在问题是Controller层和View层的划分不明显,Model层和View层的存在耦合。MVP:Model-View-Presenter,是对MVC的升级,Model层和View层与MVC的意思一致,但Model层和View层不再存在耦合,而是通过Presenter层这个桥梁进行交流。MVVM:Model-Vie

2022-02-24 13:44:14 634

原创 Android复习系列⑤之《Kotlin》

1.kotlin基础: From Java To Kotlin常量与变量//javaString name = "niubi"; final String name = "niubi";//kotlinvar name = "niubi" val name = "niubi"null 声明//javaString name= null;//kotlinvar name:String?=null空判断//Javaif (text != null) { int length

2022-02-24 13:40:00 1177

原创 Android复习系列③之《Android筑基》

Android基础知识最全解析。

2022-02-24 13:36:28 3615 3

原创 Android复习系列②之《Java进阶》

1 java多线程(非常重要)1.1. 线程线程和进程的区别?线程是CPU调度的最小单位,一个进程中可以包含多个线程,在Android中,一个进程通常是一个App,App中会有一个主线程,主线程可以用来操作界面元素,如果有耗时的操作,必须开启子线程执行,不然会出现ANR,除此以外,进程间的数据是独立的,线程间的数据可以共享。java多线程实现方式主要有:继承Thread优点 : 方便传参,可以在子类添加成员变量,通过方法设置参数或构造函数传参。缺点:1.因为Java不支持多继承,所以继承

2022-02-24 13:33:02 2740

原创 Android复习系列①之《Java基础》

一、Java基础1、java基本数据类型和引用类型基本数据类型:整型:byte,short,int,long浮点型:float,double字符型:char布尔型:boolean其中,占一个字节的是byte,short和char占两个字节,int,float占四个字节,double和long占8个字节,boolean只有true和false。引用数据类型:类、 接口、 数组、 枚举、 注解例如,String类型就是引用类型,还有Double,Byte,Long,Float,Char,

2022-02-24 13:29:04 2726

原创 Android复习系列⑨之《数据结构》

数据结构:计算机存储、组织数据的方式。相同特点的数据元素集合,不同数据结构在不同场景下有着不同的数据处理效率。根据数据访问的特点,可分为线性数据结构和非线性数据结构。线性结构:数组、链表、栈、队列等。非线性结构:散列表、树、堆、图等。一、数组数组可以说是最基本最常见的数据结构,可通过数组名和下标进行数据的访问和更新。数组中元素的存储是按照先后顺序进行的,同时在内存中也是按照这个顺序进行连续存放。数组相邻元素之间的内存地址的间隔一般就是数组数据类型的大小。1.稀疏数组概念:当一个数组中大部分

2022-02-24 10:52:25 1251

原创 Android复习系列④之《Android进阶》

OkHttp、Retrofit、手写图片加载库思路、RxJava、Android IPC机制、组件化、插件化、热修复、JetPack、Bitmap、ANR、LeakCanary等等技术复习。

2022-02-22 21:23:57 2813

原创 Android复习系列⑥之《网络面试》

网络1.http是什么?http的工作机制?http报文?Hypertext Transfer Protocol 超文本传输协议1.1 http工作机制:浏览器:用户输入地址后回车或点击链接浏览器拼装http报文并发送给服务器服务器处理请求后发送响应报文给浏览器浏览器解析响应报文并使用渲染引擎显示到就饿面手机app:用户点击或界面自动触发联网请求android 代码调用拼装http报文并发送请求到服务器服务器处理请求后发送响应报文给手机android代码处理响应报文并做出相

2022-02-22 17:54:57 570

原创 Android获取系统可用内存

/** * 获取可用内存 * * @return */ public static String getAvailableSize() { try { final StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getAbsolutePath()); long blockSize = 0; ...

2021-05-24 20:00:05 1563 1

原创 Android WebView常见用法解析及填坑指南

一、简介WebView是Android系统中的原生控件,其主要功能与前端页面进行响应交互。WebView内部实现是采用渲染引擎(WebKit)来展示view的内容,提供网页前进后退、网页放大、缩小、搜索等功能。众所周知,WebView的坑非常多。。。基本使用就不说了,往下看二、WebView点的相关配置:WebSettingsWebSettings webSettings = webView.getSettings();webSettings.setJavaScriptEnabled(true

2021-05-14 15:56:34 993 12

原创 Android开发学算法系列(二)- 栈和队列

1.用数组结构实现大小固定的队列和栈大小固定,假设数组长度为size=4,那么逻辑为: 每次添加一个数,index++到下一个位置,取出该数,如果index=size,说明数组已经满了,则越界直接报错 每次取出一个数,index--到上一个位置,取出该数,如果index=0,说明没有上一个数了,则越界直接报错public static class ArrayStack { private Integer[] arr; private Integer size; public Arra

2021-04-30 16:44:34 394 6

原创 git update 时出现 Before update your uncommitted changes were saved to shelf.

今天git更新代码时候,出现一个警告,然后本地新写的代码全部不见了。git提示的完整内容:Local changes were not restoredBefore update your uncommitted changes were saved to shelf. Update is not complete, you have unresolved merges in your working tree Resolve conflicts, complete update and restor

2021-04-29 16:37:24 25072 7

原创 Android MediaPlaye.getDuration()获取音视频时长的方式

android MediaPlaye.getDuration()获取不到在线音乐时长,看看mediaPlayer.getDuration()的源码,里面明确地说了,不支持在线内容,所以,根本原因就是它(不过我本地资源也获取不到) /** * Gets the duration of the file. * * @return the duration in milliseconds, if no duration is available * (fo

2021-04-22 17:12:23 5129

原创 Android播放视频的一些方式及优缺点。

在Android中,我们有三种方式来实现视频的播放:1、指定action_view的方式指定Action为ACTION_VIEWData为Uri,Type为其MIME类型。Intent intent = new Intent(Intent.ACTION_VIEW);Uri uri = Uri.parse(url);intent.setDataAndType(uri, "video/*");context.startActivity(intent);这种方式属于:使用设备自带的播放器这里说

2021-04-20 22:17:08 808

原创 Android监听WebView滑动到底部的两种方式

第一种方式: webView.setOnCustomScrollChangeListener(new ScrollChangeLisWebView.ScrollInterface() { @Override public void onSChanged(int l, int t, int oldl, int oldt) { //WebView的总高度 有缩放比例 float webViewContentHeight = we

2021-04-16 15:16:26 3597

原创 Android内部存储和外部存储

Android4.4之后:运行内存(运存):手机程序是在RAM存储器中读写的,读写速度也与手机的性能有属关,更大的内存可以给手机带来更多的缓冲空间,随着系统本身和应用程序本身的扩展,ram内存的作用更加明显。机身存储(内存):使用半导体存储器单元,包括随机存取存储器(RAM)、只读存储器(ROM)和高速缓存。例如8G+128G的手机 ,8G其实是手机的运行内存(运存)简称RAM;而128G则是手机的机身存储(内存),简称ROM。Android4.4及以上系统,机身存储分为内部存储和外部存储:内部

2021-04-09 09:22:23 840

原创 Android复习系列⑩之《简单算法》

一、认识时间复杂度

2021-04-09 09:01:24 567

原创 Flutter打release包以及release包无法访问网络问题记录

一.Flutter打Android release包的步骤:1.为项目创建一个.jks签名文件(很简单,跳过)2.创建一个文件key.properties,直接复制下面key.properties位置如图:在里面输入一下内容:storePassword=iflytekkeyPassword=iflytekkeyAlias=teachingmachinestoreFile=E:/teacher/app/keys/TeachingMachine.jks输入你自己的passwork以及

2021-03-25 19:03:55 2184 1

原创 Flutter2.0运行在web上不同渲染器的问题

前言Flutter2.0发布不久,对web的支持刚刚进入stable阶段。初学几天,构建web应用时候碰到一些问题,比如中文显示成乱码,然后加载图片出现图片跨域问题:Failed to load network image...Trying to load an image from another domain?1.开启web端构建:使用下面这个命令才可以开启Web端构建的支持flutter config --enable-web提示我们:重新启动编辑器,以便它们读取新设置。2.重

2021-03-23 11:42:17 1053 2

原创 Flutter系列-Dart基础语法学习

一、变量变量是一个引用,根据Dart中“万物皆对象”原则,即变量存储的都是对象的引用,或者说它们都是指向对象。1.1.声明变量://1.不指定类型var name = 'aaa';//2.明确指定类型String name = 'aaa';因为有类型推导,所以两种实现效果一样,官方推荐在函数内的本地变量尽量使用var声明。在变量类型并不明确的情况下,可以使用dynamic关键字//3.使用dynamic关键字dynamic name = 'aaa';1.2.默认值未初始化的变量

2021-03-08 19:56:35 512

原创 Flutter系列-搭建Flutter开发环境

前提:针对Android开发者(windows系统下),已安装Git,AndroidStudio(建议4.0+版本)一.下载Flutter SDK地址:https://flutter.dev/docs/development/tools/sdk/releases,在 Stable channel (Windows)里面下最新版本即可。Flutter的渠道版本会不停变动,请以Flutter官网为准。在中国,要想正常获取安装包列表或下载安装包,可能需要翻墙,也可以去Flutter github项目下去下载安

2021-03-05 16:13:36 331

原创 Android系统开机到Launcher启动流程分析

系统如何是被已安装的应用哪个是launcher应用?如何定制一款launcher?进程创建完成的出口是如何定义的?掌握进程创建流程中各个类和关键方法的作用。为什么Activity必须在清单文件中注册?ActivityStarter会做各种启动前检查。...

2021-02-20 16:59:34 6347 15

转载 【最新】解决Github网页上图片显示失败的问题

目录 一、问题二、解决方法2.1 找到URL2.2 获取IP地址2.3 修改hosts 三、最后说几句 好几个星期之前本人就发现自己的github在网页打开显示不了图片的问题了,不过当时没在意。 今天强迫症逼迫我一定要搞定它,于是去找了一些方法,自...

2021-02-06 16:41:01 1042 1

原创 Flutter系列-flutter路由管理

Flutter路由管理初识路由概念一.路由管理1.1.Route1.2.MaterialPageRoute1.3.Navigator1.4.路由传值1.5 命名路由1.6.命名路由参数传递1.7.适配二、路由钩子三、onUnknownRoute四、结尾初识路由概念路由的概念由来已久,包括网络路由、后端路由,到现在广为流行的前端路由。无论路由的概念如何应用,它的核心是一个路由映射表。比如:名字 detail 映射到 DetailPage 页面等。有了这个映射表之后,我们就可以方便的根据名字来完成路由的转发

2020-10-20 15:42:37 6378 3

原创 Android:高仿百度外卖、美团、淘点点二级联动效果!

美团,百度外卖二级联动

2017-05-17 17:33:58 5603

原创 Android真机连接本地部署的Tomcat问题

Tomcat

2017-05-10 11:41:48 5412 2

原创 Android:一个通用的底部导航

通用的底部导航。

2017-05-05 17:16:43 1689 6

转载 Android学习路线

android学习路线

2017-05-04 09:39:32 325 1

空空如也

空空如也

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

TA关注的人

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