- 博客(31)
- 收藏
- 关注
原创 Android开发中混淆后Gson序列化、反序列化的那些坑,安卓开发实战
Item 中增加了一个内部类 PageConfig。这里敲黑板了:1.Item 里面的字段、Item 里面引用到的类和 Item 里面的内部类 PageConfig 都需要实现序列化 (implements Serializable);如果不是 implements Serializable 实现序列化,而是给每个字段加上 @SerializedName 注解,那么务必注意:Item 里面的字段、Item 里面引用到的类的和 Item 里面的内部类的字段都需要加上 @SerializedName 注
2021-09-09 23:52:57
386
原创 内存泄漏以优化大全,年薪50W
}private void start() { Message msg = Message.obtain(); msg.what = 1; mHandler.sendMessage(msg);}private Handler mHandler = new Handler(Looper.myLooper()) { @Override public void handleMessage(@NonNull Message msg) {
2021-09-08 16:46:49
235
原创 内存优化(一,涨薪7K
"#a5a5a5", "#b7b7b7", "#c0c0c0", "#c9c9c9", "#d2d2d2", "#dbdbdb", "#e4e4e4", "#e4e4e4"};int[] colors = new int[8];public IOSStyleLoadingView(Context context) { this(conte...
2021-09-08 16:45:16
264
转载 关于鸿蒙,你怎么看,三面美团Android岗
很多人都认为鸿蒙的出现是为了颠覆Android,但我不认为是这样。抓项目这些年,我深刻的知道,颠覆每个行业的头部企业是有多难。所以鸿蒙想代替Android的整个业务圈几乎是不可能的。2.您看好鸿蒙的发展吗===========如果要我从底层开始开发,我肯定是干不动的,不过我确实非常看好这个项目。其实多年前谷歌就开始研发此类系统:Fuchsia。但是目前此系统好像没什么音讯,我猜测与谷歌公司的内部结构有关。也许是因为触碰到了某种利益。一个项目是否成功,商业层面的支持是必不可少的。而此次各
2021-09-08 16:43:41
262
原创 关于对OKHttp的简单使用,安卓开发实战讲解
package com.example.acer_pc.threedownload;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;imp.
2021-09-08 16:41:56
122
原创 关于协程,详解ViewModelScope,Android程序员必看
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'viewmodel-ktx:implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1")ViewModelScope虽然是协程.
2021-09-08 16:40:17
2117
原创 八年老Android解惑:即将毕业的Android应届生,快点来学吧
假如你今天学了Google提供给我们进行应用开发的Jetpack框架组件,那么你就可以尝试用这个Jetpack组件去写个属于自己的app。如何提高自己的动手能力正如Linux之父的那句"Talk is cheap. Show me the code.",嘴上说千遍,也不如直接上代码撸一遍更加令人印象深刻。说到这儿,可能又有朋友想问了:对于一个从来就没有具体项目经验的人来说,该从何做起呢?这里我还是推荐大家多到github或者gitee这种开源代码托管平台去找一些优秀的开源项目,这些项目很多都.
2021-09-08 16:36:42
248
原创 Flutter这么火为什么不了解一下呢?,android音视频开发
漂亮的UIFlutter内置MD设计风格及iOS组件,更有丰富的手势API,流畅的滚动体验和平台认同感会让用户感到愉悦。#####现代的响应式框架(Modern,reactive framework)利用Flutter响应式框架和丰富的平台,布局和功能组件是的UI构建非常简单。使用灵活并且强大的API(2D,动画,手势,性能等)可以解决在UI上各种问题。 int counter = 0; void increment() { // Tells the Flutter framew
2021-09-06 19:51:03
128
原创 Flutter目录,稳进大厂
8.Flutter轮子9.Flutter理论知识机会总是留给等待与忍耐的人.1.基础组件:Flutter的介绍.StatelessWidget与基础组件(1.1)StatefluWidget与基础组件(1.2)如何进行Flutter布局开发(1.3)Flutter 如何创建Flutter路由与导航(1.4)Flutter 如何进行Flutter点击事件响应和手势监听(1.5)Flutter Widget生命周期以及应用周期(1.6)Flutter 手机拍照,选取照片功能实战2.
2021-09-06 19:49:13
64
原创 Flutter的原理及美团的实践(下,100%好评
但是我们还需要在性能方面有一个比较明确的数据对比。我们最关心的两个页面性能指标就是页面加载时间和页面渲染速度。测试页面加载速度可以直接使用美团内部的Metrics性能测试工具,我们将页面Activity对象创建作为页面加载的开始时间,页面API数据返回作为页面加载结束时间。从两个实现的页面分别启动400多次的数据中可以看到,原生实现(AllCategoryActivity)的加载时间中位数为210ms,Flutter实现(FlutterCategoryActivity)的加载时间中位数为231ms。考.
2021-09-06 19:47:26
3767
原创 Flutter日历,可以自定义风格UI,含小米、腾讯、阿里
//支持自定义绘制DayWidgetBuilder dayWidgetBuilder; //创建日历itemWeekBarItemWidgetBuilder weekBarItemWidgetBuilder; //创建顶部的weekbar//构造函数CalendarController({int selectMode = Constants.MODE_SINGLE_SELECT,DayWidgetBuilder dayWidgetBuilder = defaultCustomDayWidget,
2021-09-06 19:45:36
729
1
原创 Flutter实现微信支付和iOS IAP支付,ndk开发入门
}}页面端是这样调用的WechatPayment paymentUtils = new WechatPayment();paymentUtils.wxPay(state.model.wxPayModel,onError: (String err) {if (!mounted) return;// 微信支付错误,设置支付状态为false,弹框即可isPaying = false;SchedulerBinding.instance.addPostFrameCallback(() {C
2021-09-06 19:43:55
554
原创 Flutter实战1 --- 写一个天气查询的APP,推荐给大家
2.运行Flutter工程连接手机这里不建议用模拟器,因为模拟器在用GPU渲染时可能会出问题,导致图片渲染不出来。然后按Run 在手机上把程序跑起来。3.天气API接口申请注册地址console.heweather.com/register注册完后,再看API文档 www.heweather.com/documentsdemo这里用的是,获取当天天气情况的API:www.heweather.com/documents/a…用的请求URL如下:https://free-api.h
2021-09-06 19:42:15
260
原创 Flutter学习第十五天:2021年最新版超详细Flutter2,层层深入
), Container( height: 40, child:OutlineButton( borderSide:new BorderSide(color: Theme.of(context).primaryColor), child: new Text('获取验证码',style: new TextStyle(color: Theme.of(context).primaryColor),), ...
2021-09-06 19:40:29
337
原创 Android集成三方浏览器之X5内核,讲的明明白白
腾讯 X5 内核也是基于 chromium 的,相比原生的 WebView 而言,优化了用户的浏览体验。SDK 是通过共享使用用户手机上微信、手机QQ、QQ空间等软件已经下载好的 X5 内核。SDK 很小,且集成简单只需几行代码即可。集成先去官网下载 SDK 后将所需的 aar 和 so 文件导入我们的工程。x5内核暂时不提供64位的so文件,so可只保留"armeabi"文件夹,手机运行时会向下兼容。导入SDK在 module 的 build.gradle 中添加 //sdk中只提供了arme
2021-09-05 18:38:05
4516
原创 Android集成三方浏览器之Crosswalk,程序员去大公司面试
} override fun onLoadFinished(view: XWalkView?, url: String?) { super.onLoadFinished(view, url) } override fun shouldOverrideUrlLoading(view: XWalkView?, url: String?): Boolean { view?.loadUrl(url)...
2021-09-05 18:36:23
794
原创 Android进阶:十,分享一点面试小经验
##二.视频播放器播放层实现###技术沉淀####2.1.视频播放内核我们知道自己开发视频播放器内核肯定是不现实的,这需要一定的技术成本,单个人很难达到,所以我们就选择一个最受欢迎的开源的内核即可:bilibili开源的视频播放器:ijkplayer###2.2.视频播放器视频播放这块需要给大家普及两个知识点:2.21.SurfaceView先来介绍一下大部分软件如何解析一段视频流。首先它需要先确定视频的格式,这个和解码相关,不同的格式视频编码不同,不是这里的重点。知道了视频的编码格式后,再通
2021-09-05 18:32:44
93
原创 Android进阶:十二,一文轻松搞定
RectF rectF = new RectF(left, top, right, bottom);canvas.drawRoundRect(rectF, 0, 0, shadowPaint);canvas.save();- 创建画笔,设置画笔的颜色,风格- 获取绘画的范围:ShadowCard的范围减去需要的阴影的范围,假如阴影的宽度为45px,则在ShadowCard内部的45px内进行绘制- 给画笔设置阴影的颜色,阴影的模糊度,模糊度值越大越模糊,且不能为0- 创建RectF,最后开始.
2021-09-05 18:31:14
100
原创 Flutter-系列(四,大佬带你看源码
return Center( child: RaisedButton( onPressed: _showSnackBar, child: Text('Show SnackBar'), ), );点击按钮的时候显示SnackBar:void _showSnackBar() { final snackBar = SnackBar( content: Text('Yay! A SnackBar!'),
2021-09-03 18:15:26
285
原创 Flutter-2020春季更新,你还不来看看,flutter开发实战详解pdf
企业的一项常见需求是专业组件。谷歌与 SyncFusion 展开了合作,后者的 Essential Studio 产品现在包含了一系列高质量的 Flutter 组件,包括图表、PDF 操作和条形码生成等。在他们的 2020.1 版本中,所有组件均直接支持 Android、iOS 和 Web 平台,并且具有基于 Web 的控件预览:https://flutter.syncfusion.com/#/更新版本发布流程在谷歌开发新的 Flutter 稳定版本时,他们对原有的发布模型做出了一些更改,以进一步提高
2021-09-03 18:13:52
341
原创 Flutter&Android 启动页(闪屏页,android热修复面试
android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/launch_background"/>即res下的drawable/launch\_background.xml 文件我们可以在这里设置引擎初始化前所显示的页面,下面我们来看一下这个过程。[]()启动页的加载过程=============...
2021-09-03 18:12:23
483
原创 Flutter 核心渲染流程分析 [完结篇],深入浅出Android
而在 Flutter 中当需要更新 UI 展示的时候,我们第一时间往往想到 setState()。更新 UI 本质上,不就是用一个新的「帧」去替换上一个「帧」么。所以,其中必定会执行帧的调度逻辑。而 setState 最终调用到 BuildOwner.scheduleBuildFor。 /// dart /// Adds an element to the dirty elements list so that it will be rebuilt .
2021-09-03 18:10:43
330
原创 Flutter 插件使用必知必会,干货
``` class MainActivity : FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } } ```* iOS ...
2021-09-03 18:08:54
691
原创 Flutter 布局(八,2021年“金三银四”来袭
color: Colors.black45, ), child: Text( 'Mia B', style: TextStyle( fontSize: 20.0, fontWeight: FontWeight.bold, color: Colors.white, ), ),),],);示例代码我就直接用的[Building Layouts in Flutter]()中的例子,效果如下 { /* 加载 */ FileInputStream in = null; ArrayList<User> users = new ArrayList<User>(); try { in = context.openFileInput(FILENAME); .
2021-09-02 18:01:12
201
原创 GitHub 上 10 个顶级开源项目,从基础到源码统统帮你搞定
3. vueGithub 地址:https://github.com/vuejs/vuestar: 153 k介绍: 尤大的前端框架。国人用的最多(容易上手,文档比较丰富),所以 Star 数量比较多还是有道理的。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,
2021-09-02 17:58:05
6982
原创 Gbox开源:比RN和WebView更轻的高性能动态化业务容器,你掌握了多少
Flex的实现非常简单,你可以理解为增强版的LinenerLayout,它支持以下属性:首先是flexDirection,它用来指定主轴方向,支持row、column、rowReverse、columnReverse四种排布方式,下面是row和column的截图,没有填写flexDirection时则默认为row。<?xml version="1.0" encoding="utf-8"?><Flex flexDirection="row"> <Flex
2021-09-02 17:56:25
427
原创 From Java to C,这操作真香
}/**函数实现如果再main方法后实现,必须先声明@return*/void hello(string name) {cout << "Hello, " + name + “!”;}方法Return--------### Javapublic boolean hasItems() {return true;}### C++bool hasItems() {return true;}单表达式----### Javapublic
2021-09-02 17:54:42
75
原创 2020 年,我这样在项目中使用 MVVM,Android进阶学习资料
}这里为了通知 View 层数据的加载状态定义了一个 Boolean 类型的 LiveData 进行交互。这样你需要多维护一个变量,显得代码不够简洁。实际上,通过对数据交互格式的规范,我们可以更优雅地完成这个任务。在 Android-VMLib 当中,我们通过自定义枚举来表示数据的状态,public enum Status {// 成功SUCCESS(0),// 失败FAILED(1),// 加载中LOADING(2);public final int id;Status(i
2021-09-01 10:45:35
113
原创 2019年移动开发,我的改变之旅,快点来白嫖
移动端真正进入下半场了吗?于我看来并没有,最多说“Android技术的探索”进入了下半场,而整个市场还是乐观的。以前是BAT的天下,而近两年出来越来越多的独角兽:头条、抖音、拼多多、快手、小猿搜题等,这些公司的业务都在移动端上,他们需要招聘更多的移动端人才。如果真要说下半场,只能说很多小型创业公司在退出市场,这确实会导致很多入门工程师失业,但这也说明了这个行业在更加规范。而且,对于Android工程师而言,这更是个好的时代。互联网下沉,那么下沉市场里的用户是使用Android多还是iOS多,大家都清楚。
2021-09-01 10:43:49
105
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人