Android
文章平均质量分 88
度熊君
百度地图-移动研发工程师
展开
-
一张图引发的App crash
UE提供的图片资源,一般除了做下压缩外,都是直接使用的。不过有一次UE提供了一张1*1尺寸的小图片后,却引发了app一个UI crash。下面想分享下该问题的原因及解决方案。问题描述系统要求的尺寸是正的,但提供系统的尺寸却是0,即尺寸是0导致了问题的出现。这需要结合堆栈信息进行分析、定位。原创 2023-01-28 12:25:17 · 230 阅读 · 0 评论 -
计算机网络一文全览
前言在做上层应用开发的时候,我们往往可以调用各种网络框架来实现网络请求、数据下发的功能。网络框架诚然可以简化代码的结构或减少不必要的代码量,但这也容易导致我们对底层的网络原理变得陌生。而熟悉计算机网络原理是每一位程序员通往高级乃至资深工程师的必经之路,本文即是对计算机网络做一次深入的分析总结。OSI七层模型是较权威标准的模型,但因为分层复杂、不太实用,因此使用较少。TCP/IP四层模型是应用较广泛的模型。而为了更好地掌握网络分层这块知识,一般会将这两种协议综合起来,形成五层协议进行学习。网络模型各层作原创 2022-05-29 12:21:58 · 217 阅读 · 0 评论 -
Android性能优化方案
保证性能指标不下降一直是开发过程中的重中之重,如果由于开发新功能导致出现卡顿、机身发热耗电量猛增、内存增大等性能问题,那样反而会流失用户,得不偿失。因此关注性能也是RD们的一项隐形工作。原创 2022-04-20 20:50:11 · 8458 阅读 · 0 评论 -
Lottie动画的优劣及原理
前言Lottie是目前应用十分广泛的动画框架。在周会汇报的时候,老板问能不能对Lottie进行优化,于是就有了下文对Lottie原理的研究。毕竟要进行优化,首先要深入了解原理嘛。Lottie实现Lottie通过读取json文件信息实现动画效果。json信息包括json整体结构、图片资源、图层信息等,这些属性阐述了动画该做什么、该怎么做。json文件解析:Lottie动画总体实现原理Lottie 先将动画 JSON 文件转换为 LottieComposition 数据对象。继承 Im原创 2022-02-26 22:38:58 · 14953 阅读 · 0 评论 -
开发必备的图片格式——.9图的原理和陷阱
前言在大型项目开发中,图片拉伸的场景十分常见,而在这种场景下.9图就能发挥极大的作用。比如开发提示气泡时,气泡背景要随着文字数量的增加而进行延伸,而这气泡背景便是使用到了.9图(如下图所示)。格式 .9图的后缀格式为:.9.png 作用 .9图可以进行拉伸,如水平、竖直方向的延长,而清晰度不变。 令一张图片实现多种拉伸效果,减少UI切图的使用,降低包体积。 在UE提供的原始图中,图片的四周会有黑色的线条,这些黑色横线正是.9图能够实现拉伸的原理所在。.9图原理,原创 2022-02-15 14:33:11 · 6624 阅读 · 1 评论 -
Android学习笔记-Window机制
· window含义、作用:Window表示一个窗口的概念,是view的直接管理者,对应一个view,window和view之间由viewrootimpl联系。(Window是一个抽象类,实现类是PhoneWindow;WindowManager是访问Window的入口,拥有添加view、更新view、删除view等功能方法;WindowManagerService是Window的底层实现。)· WindowManager.LayoutParams有什么比较重要的参数?flag与type。·原创 2021-05-15 23:35:06 · 386 阅读 · 1 评论 -
基于爬虫的诗人APP
GitHub地址:https://github.com/201726702154/poemGitHub地址:https://github.com/201726702154/poem原创 2020-06-16 14:54:41 · 188 阅读 · 0 评论 -
Retrofit学习
1、retrofit是一个流行的网络加载框架,封装网络请求接口,并通过底层OKhttp完成网络请求。 减少调用网络时所需的代码量,支持很多开源库(json等),请求速度快,降低api的耦合程度2、retrofit简单应用①导包 // Okhttp库 implementation 'com.squareup.okhttp3:okhttp:3.1.2' // ...原创 2020-03-18 11:00:42 · 173 阅读 · 0 评论 -
Android json解析
Android json解析:①导包(gson-2.2.4.jar),创建实体类(快捷方法—settings—plugin—jsonformat,用插件导入);②简单一层json:private String jsonData="{\"name\":\"Michael\",\"age\":20}"; Gson gson=new Gson(); //Gson是json与Java相互映射(...原创 2020-02-15 21:48:01 · 178 阅读 · 0 评论 -
自定义adapter详解
二、使用simpleadapter(自定义adapter,同一列具有图片、文字、按钮)①SimpleAdapterActivity.javapackage com.week4.simpleadapter;import java.util.ArrayList;import java.util.HashMap;import com.anjoyo.as.chap04.exam02.R;...原创 2019-09-24 11:39:57 · 1320 阅读 · 0 评论 -
使用listview
使用ListView:①ArrayAdapterActivity.java:(自定义adapter)package com.week4.arrayadapter;import java.util.ArrayList;import java.util.List;import com.anjoyo.as.chap04.exam01.R;import android.os.Bundle...原创 2019-09-23 10:04:35 · 146 阅读 · 0 评论 -
自定义Navigation Draw Activity
自定义Navigation Drawer Activity步骤,具体代码加详细解释:①导入包:implementation 'com.android.support:appcompat-v7:28.0.0'implementation 'com.android.support:design:28.0.0'②右击drawable,new→vector asset选择图标,改名字(目的是导航...原创 2019-09-12 21:09:09 · 466 阅读 · 0 评论 -
TabLayout+ViewPager+Fragment实现页面滑动
①在main布局创建TabLayout与ViewPager;②在main的Java代码中找到TabLayout与ViewPager空间,并创建标题title与内容fragment;③将title与fragment赋值给ViewPager,并将TabLayout与ViewPager建立联系;④自定义fragment,用if进行判断,滑动到相应的界面项目具体代码加详细解释:MainActivity...原创 2019-09-10 17:11:33 · 314 阅读 · 0 评论 -
三分钟掌握爬虫技术加具体实例
Document:返回HTMLElement:标签Elements:标签的集合具体实例加爬虫技术解析: new Thread(){//若是Java,放在main方法里;若是Android,放在oncreate方法里(可以放在button的点击事件里去触发) @Override pu...原创 2019-09-08 12:28:12 · 190 阅读 · 0 评论 -
Android爬虫更新UI界面
Android爬虫详细代码加具体解释如下:package com.example.pachong;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util...原创 2019-09-08 12:09:42 · 253 阅读 · 0 评论