Android
文章平均质量分 57
walkeryudev
这个作者很懒,什么都没留下…
展开
-
屏幕适配--修改系统density进行屏幕适配
上次发了自定义像素适配后,有小伙伴问我修改density到底是怎么做的。遇到这个问题,我是懒得写一篇博客来说明的,但是当我准备搜一篇发链接给他时,看到好多博客写的并不完整或者看不明白,所以我就自己写吧主要代码如下:import android.app.Activity;import android.app.Application;import android.content.ComponentCallbacks;import android.content.res.Configuration;原创 2022-04-12 11:36:53 · 1148 阅读 · 0 评论 -
flutter环境搭建
flutter环境搭建需要写一个flutter 程序,但是发现之前搭建的flutter被破坏了,需要重新搭建一次,在此记录一下下载flutter SDK大部分时候需要科学上网,有时候也可以直接访问下载地址是: https://flutter.dev/docs/development/tools/sdk/releases目前的最新版本是1.22.6点击对应的版本链接进行下载。(如果浏览器无法下载,建议使用迅雷,速度会明显提升很多)Flutter SDK安装解压下载的SDK zip包到本地路原创 2021-03-02 15:13:36 · 184 阅读 · 0 评论 -
性能优化之Apk瘦身
瘦身的理由:1、安装包变大,导致很多用户不愿意安装更新2、安装包变大,导致新用户不愿意下载3、安装包变大,流量使用增多,增加其他边际成本图片优化:使用矢量图片矢量图片只需要放置一份2、图片如果比较大,绘制的时候会很长,制作复杂度高使用WebP体积更小,4.2.1+支持透明度使用png有透明度,渐变,阴影的情况下选择pngpng转WebPAndroid Studio 选中图...原创 2020-03-26 17:34:34 · 274 阅读 · 0 评论 -
rz传文件失败的解决
犯了个低级错误,记录一下。今天在编译一个库的时候,写了个脚本,通过rz命令传到linux服务器上(如果找不到这个命令,可以用yum install -y lrzsz 安装)第一次编译的时候发现有问题,改了一下再上传的时候,发现怎么都传不上去仔细看了一下,发现我要上传的文件已经在这个目录中了。删除这个文件,再上传的时候,就可以正常上传了...原创 2020-03-23 15:47:16 · 1921 阅读 · 0 评论 -
Activity堆栈管理小技巧
开发中,我们常会遇到这样的需求:从主界面跳转多个界面完成某项功能,如果这项功能没有做完,可以随时回退到上一个界面,如果最后一个节目的子功能也完成了,一次性关闭这些页面,跳转回主页面。分析:从A界面跳转到B系列界面完成一项功能。即需要从A界面跳转到B1界面,完成B1界面的子功能之后,再跳转到B2界面,完成对应的子功能…,直到跳转到B5界面,完成B5界面的子功能之后,点击“完成”按钮之后,跳转到...原创 2019-11-08 14:50:23 · 244 阅读 · 0 评论 -
maven,jcenter下载不了?国内镜像解决
导入新的工程时经常需要下载好多库,有些库因为种种原因无法下载下来。这时候,可以有以下的解决方案。解决方法一:https:改成 http协议下载// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript { reposit...原创 2019-01-11 16:08:08 · 12144 阅读 · 2 评论 -
Android Studio离线配置gradle(附gradle下载地址)
导入新的android studio工程后常常因为多种原因无法联网进行gradle下载,只能寻找离线手动配置gradle的方法,踩过不少坑后,最终通过以下几步解决:1. 下载与自己安装的android studio版本 匹配的gradleGradle下载地址:https://services.gradle.org/distributions/我用的是android studio3.3 ,所以...原创 2019-02-07 22:06:47 · 26553 阅读 · 1 评论 -
"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"错误的解决
今天由于项目需求的原因,在网上找到一个3年前的demo,需要打开看一下,打开这个工程后,编译提示"No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android"再论坛里也找到了解决办法,就是下载旧版的NDK,将其中的toolchain复制到新版的NDK中但这不是解决的根...原创 2019-04-25 17:37:02 · 171 阅读 · 0 评论 -
Android Studio编译异常Error: Program type already present: android.support.design.widget.CoordinatorLayo
记录一下,希望能帮到小伙伴解决的方案在build.gradle修改:implementation "com.android.support:design:25.1.0"修改为:implementation "com.android.support:design:27.1.0"这里说明一下为什么要改为27,是因为我的compileSdkVersion = 27最后Build一下就...原创 2019-05-06 15:40:46 · 913 阅读 · 1 评论 -
java.io.IOException: Cleartext HTTP traffic to com.yuhao.demo not permitted分析
今天在写demo测试的时候,运行出了一个错误,并且网络无法访问,在此记录一下。如果你运行的设备是Android9.0及以上版本,在进行网络访问的时候,没有使用https加密的方式,就会爆出这个错误。原因分析从Android 6.0开始引入了对Https的推荐支持,与以往不同,Android P的系统上面默认所有Http的请求都被阻止了。本usesCleartextTraffic属性的默认值从...原创 2019-07-14 21:13:50 · 901 阅读 · 0 评论 -
Android主流三方库Retrofit使用深入解析
1.Retrofit基本用法1.1 使用前的准备工作首先配置build.gradle,如下dependencies { implementation 'com.squareup.retrofit2:retrofit:2.5.0' implementation 'com.squareup.retrofit2:converter-gson:2.5.0'}最后一行是为...原创 2018-12-24 18:23:38 · 608 阅读 · 0 评论 -
Android多线程概况
Android沿用了Java的线程模型,一个Android应用在创建的时候会开启一个线程,我们叫它主线程或者UI线程。如果我们想要访问网络或者数据库等耗时操作时,都会开启子线程去处理(为了避免主线程被耗时操作阻塞而产生ANR),也说明了多线程在Android应用开发占据这十分重要的地位。1.线程基础1.1、线程和进程1.1.1.什么是进程进程是操作系统结构的基础,是程序在一个数据集合上运行...原创 2018-12-28 18:40:23 · 376 阅读 · 0 评论 -
面向对象的六大原则
面向对象的六大原则1.1 优化代码的第一步:单一职责原则1.2让程序更稳定、更灵活:开闭原则1.3 构建扩展性更好的系统:里氏替换原则1.4让项目拥有变化的能力:依赖倒置原则1.5系统有更高的灵活性:接口隔离原则总结1.1 优化代码的第一步:单一职责原则“这是一个备受争议却又极其重要的原则。只要你想和别人争执、怄气或者是吵架,这个原则是屡试不爽的”。因为单一职责的划分界限并不总是那么清晰,很多...原创 2018-11-05 16:00:47 · 1169 阅读 · 0 评论 -
解析EventBus
记得年初公司招人,在面试的过程中我问过这个问题“android中两个Activity之间常用的传递消息的方式有哪些?”应聘者的答案集中在1.Intent2.广播3.全局变量和Application4.Android系统剪切板5.本地化存储方式6.一些android组建一部分还能说出**“事件总线(如EventBus)”**所以今天就来分享一下我自己使用EventBus的一些体...原创 2018-11-08 11:12:44 · 217 阅读 · 0 评论 -
Android Studio出现Could not find intellij-core.jar错误的解决方案
今天看到微信群里有人从网上下载了一个项目,结果导入的时候出现了这个错误,然后一群人在讨论是不是google被墙的原因。我去年也遇到过这个问题,因为是个小问题,所以也就没有记下来,现在记下来吧,如果你也遇到了这个问题,希望可以帮到你导入项目之后,直接提示Error:Could not find intellij-core.jar (com.android.tools.external.com-i...原创 2018-11-13 18:42:39 · 4818 阅读 · 2 评论 -
Http协议之请求报文
要想在网络上进行通信,我们首先需要知道网络的构成和网络通信所使用的协议。现在互联网所遵循的是OSI(Open System Interconnection)参考模型,是参考模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。当然做一部分简化,有分五层的:1、物理层该层负责数据流的传输,即负责物理传输。这...原创 2018-11-20 10:41:48 · 584 阅读 · 0 评论 -
Android的消息机制
Android的消息机制主要是指Handler的运行机制,Handler的运行机制需要底层的MessageQueue和Looper的支撑。MessageQueue的中文翻译是消息队列,顾名思义,它的内部存储了一组消息,以队列的形式对外提供插入和删除的工作。虽然叫消息队列,但是它的内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表。Looper的中文翻译为循环,这里可以理解为消息循...原创 2018-11-26 11:28:07 · 117 阅读 · 0 评论 -
Android IPC
1.Android IPC介绍IPC是Inter-Process Communication的缩写,含义为进程间的通信或者跨进程通信,指的是两个进程之间进行数据交换的过程。首先,我们要区分一下"进程"和"线程"。按照操作系统的描述,线程是CPU调度的最小单元,同时线程是一中有限的资源。进程一般指一个执行单元,在PC和移动设备上指一个程序或者一个应用。一个进程可以包含多个线原创 2018-11-26 11:29:28 · 324 阅读 · 0 评论 -
Android中的异常信息收集
我们知道,不论程序怎么写都很难避免不会crash,。当程序出现crash之后,虽然我们无法使其进行运行,但是如果可以知道crash的具体原因,那么我们就可以修复错误。很多时候,产品发布之后,如果用户出现了crash,这个crash信息是很难获取到 的,非常不利于产品的持续发展。虽然目前市面上有不少提供异常信息回传的第三方sdk,但是我个人认为了解这方面的原理也非常重要。一方面,如果第三方平台出现...原创 2018-11-27 11:19:05 · 1207 阅读 · 0 评论 -
设计模式之--单例模式(7种写法)
1、单例模式介绍单例模式是应用最广的设计模式之一,也可能是很多初级工程师唯一会使用的设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体行为。如在一个应用中,应该只有一个ImageLoader实例,这个ImageLoader中又包含有线程池,缓存系统、网络请求等,很消耗资源,因此没有理由让它构造多个实例。这种不能自由...原创 2018-11-27 20:49:31 · 300 阅读 · 0 评论 -
解析OKHttp
今天来说一说最近比较流行的一个网络请求库OKHttp,从Android4.4开始,系统内置了OKHttp,可见OKHttp功能的强大。1.OkHttp的基本用法1.1 使用前的准备首先配置gradle,如下所示:implementation ‘com.squareup.okhttp3:okhttp:3.12.0’不要忘了在manifest中添加网络权限.1.2 异步GET请求最简...原创 2018-12-20 16:56:42 · 961 阅读 · 0 评论 -
Android Studio 3.1 加速编译速度
优化配置:1、gradle运行相关的配置 (gradle.properties文件中) The Gradle daemon aims to improve the startup and execution time of Gradle. # When set to true the Gradle daemon is to run the build. # TODO:...原创 2018-05-18 10:08:52 · 9904 阅读 · 0 评论