自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 GBK转成utf-8,java实现及讲解,【秋招面试专题解析】

首先明确几点:unicode是一种“编码”,所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅是一种一对一的映射而已,可以理解成一个很大的对应表格GBK、UTF-8是一种“编码格式”,是用来序列化或存储1中提到的那个“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 他们俩除了格式不一样之外,他们所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字

2021-11-19 16:39:07 319

原创 GBK转成utf-8,java实现及讲解(1),kotlin线程池

首先明确几点:unicode是一种“编码”,所谓编码就是一个编号(数字)到字符的一种映射关系,就仅仅是一种一对一的映射而已,可以理解成一个很大的对应表格GBK、UTF-8是一种“编码格式”,是用来序列化或存储1中提到的那个“编号(数字)”的一种“格式”;GBK和UTF-8都是用来序列化或存储unicode编码的数据的,但是分别是2种不同的格式; 他们俩除了格式不一样之外,他们所关心的unicode编码范围也不一样,utf-8考虑了很多种不同国家的字符,涵盖整个unicode码表,所以其存储一个字

2021-11-19 16:36:34 578

原创 flutter热更新安卓端详细教程-附源码-超简单,android开发文档英文

flutter create HotFlutter因为flutter项目的安卓端默认用的是kt , 我比较熟悉java , 所以先删除项目下的android 文件夹, 重新生成java 的安卓代码flutter create -a java .![](https://upload-images.jianshu.io/upload_images/24099992-f4eedeb《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源分享完整内容戳这里da347a

2021-11-19 16:33:21 1593

原创 Flutter是跨平台开发终极之选吗?Android开发该如何快速上手Flutter?

也就是说,我们可以用一套 Flutter 代码适配全平台了。同时间,开发社区讨论炸开了锅:Flutter 到底能不能成为跨平台开发终极之选?Flutter不是正在被放弃吗?相信很多人心中都有上面这些疑惑,今天我们就来好好掰扯一下这个Flutter。Flutter 到底能不能成为跨平台开发终极之选?Flutter 是基于前端诞生的,但是对前端开发来说,Flutter 的环境配置很麻烦,需要原生的平台知识,还要担心遇上网络问题。Flutter 本身没有特别多的语法糖。Flutter 最先

2021-11-19 16:30:43 1222

原创 Flutter开发之——IOSView,安卓开发自学教程

import Foundationimport Flutterclass MyFlutterViewFactory: NSObject,FlutterPlatformViewFactory {var messenger:FlutterBinaryMessengerinit(messenger:FlutterBinaryMessenger) {self.messenger = messengersuper.init()}func create(withFrame frame: CGRect,

2021-11-19 16:28:06 851

原创 Flutter完整开发实战详解(九、 深入绘制原理),通过五轮面试斩获offer阿里实习生亲述

PaintingContext 是什么?Offset 是什么?通过飞速查阅源码,我们可以首先了解到有 :PaintingContext 的关键是 A place to paint ,同时它在父类 ClipContext 是包含有 Canvas ,并且 PaintingContext 的构造方法是 @protected,只在 PaintingContext.repaintCompositedChild 和 pushLayer 时自动创建。Offset 在 paint 中主要是提供当前控件在.

2021-11-19 16:25:37 933

原创 Flutter-与-原生交互(Android),程序员35岁真的是分水岭吗

*/void receiveMessage(){messageChannel.setMessageHandler((message) async{print(message);return “is ok”;});}MethodChannelflutter 调用 原生1.实现插件public class FlutterPluginTest implements MethodChannel.MethodCallHandler {private static final String TAG

2021-11-19 16:20:28 1288

原创 Flutter实践之高仿有妖气漫画,移动客户端开发工程师专业

Flutter是一个跨平台的框架,在iOS和Android端甚至以后的PC端都可以统一一套代码来实现。Flutter的性能高效,Dart语言的简易性和高效性,也使Flutter采用了Dart来开发跨平台App。在Flutter之前,开发跨平台App大多采用了RN, Weex等底层需要JS Runtime来和Native端交互,在性能和效率上,都有很大的屏障。Flutter每次Debug或者Run都会被AOT(预编译)成本地代码,所以不会有Bridge这层东西,所以效率要比RN,Weex高。(在我开发的一个

2021-11-18 12:55:47 149

原创 Flutter图表库fl_chart的使用解析(二)-折线图,android开发需要什么基础

| — | — | — || lineBarsData | 图表要展示的线的数组,数组的每一位代表一条线。 | [] || betweenBarsData | 填充2条图表线之间的区域 | [] || titlesData | 坐标,可以设置四个方向的标题 | FlTitlesData() || axisTitleData | 标题 | FlAxisTitleData() || extraLinesData | 额外的水平和垂直线的图形细节 | || lineTouchData | 触摸交互详

2021-11-18 12:53:13 1231

原创 Flutter42,移动端网站开发工具

class _NewsListPageState extends State {bool isLogin = false;int curPage = 1;//页数,加载更多的时候参数会改变List newsList;ScrollController _controller = ScrollController();@overridevoid initState() {// TODO: implement initStatesuper.initState();//下拉的监听_control

2021-11-18 12:50:00 6163

原创 Flutter-完整开发实战详解(一、Dart-语言和-Flutter-基础)

在 Flutter 中,一切的显示都是 Widget 。Widget 是一切的基础,作为响应式的渲染,属于 MVVM 的实现机制。我们可以通过修改数据,再用setState 设置数据,Flutter 会自动通过绑定的数据更新 Widget 。 所以你需要做的就是实现 Widget 界面,并且和数据绑定起来。Widget 分为 有状态 和 无状态 两种,在 Flutter 中每个页面都是一帧。无状态就是保持在那一帧。而有状态的 Widget 当数据更新时,其实是绘制了新的 Widget,只是 State 实

2021-11-18 12:47:22 326

原创 Flutter-TabBar的使用说明,android开发技术栈

TabBar在使用的过程中有点类似于新闻或者电商样式中有关导航条下面有一个可以滚动的一行按钮;现在给出演示代码:Widget _appBar_bottom_demo() {return MaterialApp(home: DefaultTabController(length: 14,child: Scaffold(appBar: AppBar(primary: true,//为false的时候会影响leading,actions、titile组件,导致向上偏移textTheme: Text

2021-11-18 12:44:45 233

原创 Flutter 空安全的糖果罐,墙都不扶就服你

SliverPinnedPersistentHeader,跟官方的SliverPersistentHeader(pinned: true) 一样的效果, 不同的是你不需要去设置 minExtent 和 maxExtent。因为大部分场景下面,我们是无法提前知道 minExtent 和 maxExtent。 SliverPinnedToBoxAdapter,可以通过它轻松创建一个置顶的元素,当 child 没有 layout 之前,你没法知道 child 的实际大小,这将是非常有用的组件。 Ex...

2021-11-18 12:42:17 595

原创 Flutter 性能优化 Tips,安卓开发毕业设计题目

App 流畅性的关键指标有 UI帧率,GPU帧率,我们期望它能达到 60fps,也就是16ms每帧。以 profile / release 模式运行为了获取最接近生产环境的数据,我们应该选择一台尽可能低端的真机,并且以 profile 模式或者 release 模式下运行app。因为 debug 模式会有一些额外的检查工作,比如assert()等为了加速开发效率,debug 模式是以 JIT(Just in time)模式编译 dart 代码的,而 profile 和 release 是提前编译

2021-11-18 12:39:46 433

原创 Dialog和BottonSheetDialog自定义布局和相关属性介绍,flutter项目源码

public class MyDialog extends Dialog {private ListAdapter listAdapter;private ItemClickListener itemClickListener;// style引用style样式public MyDialog(Context context, int width, int height, int style, final ItemClickListener listener) {super(context,

2021-11-18 12:37:07 89

原创 app 里的 A_B 测试简介,2021国内知名大厂Android岗面经

建立假设整合 A/B 测试平台测试假设分析并得出结论采取行动然后,我还会涉及更多可以探索的高级技巧。第一步,建立假设假设是根据一种现象提供相应的解释,而 A/B 测试是一种确定假设是否为真的方法。这个假设可能是通过检查现有的数据而产生的,也可能猜测的成分多一点,或者仅仅只是一种“预测”。(对于新功能所涉及到的新指标,假设常常是基于“预测”。)在导航的例子中,可以用这种方式来表达假设:“采用底部导航会较标签增加用户的参与度“。然后,如果你的 app 有对导航风格进行了更改,以及该更改对用户参.

2021-11-18 12:34:32 328

原创 Android开发:请你吃一顿史上最全的Android混淆大餐,kotlin开发app

String name = String.format(“img_%1d”, angle + 1);res = getResources().getIdentifier(name, “drawable”, getPackageName());这时,我可以开启资源的严格审查模式,只会保留确定已使用的资源。移除备用资源Gradle 资源压缩器只会移除未被应用引用的资源,这意味着它不会移除用于不同设备配置的备用资源。必要时,我们可以使用 Android Gradle 插件的 resConfigs 属性来移

2021-11-17 16:08:28 573

原创 Android开发:“等风口过了,美团架构师深入讲解Android开发

最近在知乎上看到一则15年的帖子:“毕业一年不到,做Android开发现在我很迷茫?求知乎前辈指点”,本一看标题,还以为是在当下Android行情一片“哀嚎”下的有一贴焦虑贴,可仔细一看时间,发帖时间竟然是在Android开发最火热的15年。题主所焦虑的是,在15年Android开发形势一片大好的前提下,自己一个二本学历毕业一年跳槽就拿到15k的薪资,但是入职发现公司的代码和项目管理都非常的不规范,自己不想去完善这些遗留的垃圾代码,也担心小公司学不到东西。再加上之前跳槽时是打算先学习进阶一段时间的,只.

2021-11-17 16:05:30 132

原创 Android开发,你所不知道的Android原生开发的现状,kotlin编程之美

我希望这篇文章会对你们有所帮助,但是请记住,文章中肯定遗漏了许多重要的内容,而且其中的许多观点都是我个人的偏见。AndroidXAndroidX的预览版是在一年半前发布的。大约一年前它变得稳定了,与此同时Google也停止了对旧版Support Library的进一步开发。 当我写下这句话的那一刻,我想起了我之前在StackOverflow上提出的一个问题:Why does AOSP add new APIs to support libraries without adding them to SD

2021-11-17 16:02:53 342

原创 Android开发人员不得不收集的代码(持续更新中),自定义View必备知识

设备相关→DeviceUtils.java→DemoisDeviceRooted : 判断设备是否rootedgetSDKVersion : 获取设备系统版本号getAndroidID : 获取设备AndroidIDgetMacAddress : 获取设备MAC地址getManufacturer : 获取设备厂商getModel : 获取设备型号shutdown : 关机reboot : 重启reboot2Re

2021-11-17 15:57:38 116

原创 Android开发五年,面试阿里才发现这些知识点没完全掌握;你知道吗

返回的json数据的key数据的体积,尤其是针对返回数据格式变化不大的情况,支付宝聊天返回的数据用到了)。4、根据用户的当前的网络质量来判断下载什么质量的图片(电商用的比较多)。5、使用HttpDNS优化DNS:DNS存在解析慢和DNS劫持等问题,DNS 不仅支持 UDP,它还支持TCP,但是大部分标准的 DNS 都是基于 UDP 与 DNS 服务器的 53 端口进行交互。HTTPDNS 则不同,顾名思义它是利用 HTTP 协议与 DNS 服务器的 80 端口进行交互。不走传统的 DNS 解析,从

2021-11-17 15:54:26 1163

原创 Android开发之——怎么检测UI卡顿,android项目实战手机安全卫士

BlockCanary的使用很简单,只要在Application中进行设置一下就可以如下:BlockCanary.install(this, new AppBlockCanaryContext()).start();AppBlockCanaryContext继承自BlockCanaryContext是对BlockCanary中各个参数进行配置的类可配置参数如下://卡顿阀值int getConfigBlockThreshold();boolean isNeedDisplay();Strin

2021-11-17 15:51:34 397

原创 Android开发之Gradle,android驱动开发书籍推荐

| 项目 | 价格 || — | — || Computer | $1600 || Phone | $12《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》开源分享完整内容戳这里|| Pipe | $1 |三种构建脚本Gradle的脚本都是配置型脚本。每一种脚本类型实际上都是某个具体的gradle的API中的类对象的委托,脚本执行对应的其实是其委托的对象的配置。在一个完整的gradle的构建体系中,总共有三种类型的构建脚本,同时也分别对应着三种委托对

2021-11-17 15:48:30 322

原创 Android开发中混淆后Gson序列化、反序列化的那些坑,你会的还只有初级安卓工程师的技术吗

#不跳过非公共的库的类成员-dontskipnonpubliclibraryclassmembers#混淆时采用的算法-optimizations !code/simplification/arithmetic,!field/,!class/merging/#把混淆类中的方法名也混淆了-useuniqueclassmembernames#优化时允许访问并修改有修饰符的类和类的成员-allowaccessmodification#将文件来源重命名为“SourceFile”字符串-rename

2021-11-17 15:45:56 166

原创 Android动画之属性动画

android:layout_width=“match_parent”android:layout_height=“wrap_content”android:orientation=“horizontal”><Buttonandroid:id="@+id/btn_alpha"android:layout_width=“0dp”android:layout_height=“40dp”android:layout_weight=“1”android:text=“透明动画” />

2021-11-16 12:28:17 593

原创 Android减少开发过程中Drawable xml文件的数量

支持的控件XButton, XConstraintLayout, XEditText, XFrameLayout, XImageView, XLinearLayout, XRelativeLayout, XTextView, XCheckBox, XView, XRadioButton …上面的所有的控件都支持下面表格中的属性,表格中仅以XButtonCustom举例。支持属性名称| 属性名称 | 示例 || — | — || XButtonCustom_corner | 圆角度数 |

2021-11-16 12:26:04 277

空空如也

空空如也

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

TA关注的人

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