自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 335

原创 内存泄漏以优化大全,年薪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 205

原创 内存优化(一,涨薪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 237

原创 关于鸿蒙,你怎么看,三面美团Android岗

很多人都认为鸿蒙的出现是为了颠覆Android,但我不认为是这样。抓项目这些年,我深刻的知道,颠覆每个行业的头部企业是有多难。所以鸿蒙想代替Android的整个业务圈几乎是不可能的。2.您看好鸿蒙的发展吗===========如果要我从底层开始开发,我肯定是干不动的,不过我确实非常看好这个项目。其实多年前谷歌就开始研发此类系统:Fuchsia。但是目前此系统好像没什么音讯,我猜测与谷歌公司的内部结构有关。也许是因为触碰到了某种利益。一个项目是否成功,商业层面的支持是必不可少的。而此次各

2021-09-08 16:43:41 237

原创 关于对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 107

原创 关于协程,详解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 2047

原创 八年老Android解惑:即将毕业的Android应届生,快点来学吧

假如你今天学了Google提供给我们进行应用开发的Jetpack框架组件,那么你就可以尝试用这个Jetpack组件去写个属于自己的app。如何提高自己的动手能力正如Linux之父的那句"Talk is cheap. Show me the code.",嘴上说千遍,也不如直接上代码撸一遍更加令人印象深刻。说到这儿,可能又有朋友想问了:对于一个从来就没有具体项目经验的人来说,该从何做起呢?这里我还是推荐大家多到github或者gitee这种开源代码托管平台去找一些优秀的开源项目,这些项目很多都.

2021-09-08 16:36:42 209

原创 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 107

原创 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 56

原创 Flutter的原理及美团的实践(下,100%好评

但是我们还需要在性能方面有一个比较明确的数据对比。我们最关心的两个页面性能指标就是页面加载时间和页面渲染速度。测试页面加载速度可以直接使用美团内部的Metrics性能测试工具,我们将页面Activity对象创建作为页面加载的开始时间,页面API数据返回作为页面加载结束时间。从两个实现的页面分别启动400多次的数据中可以看到,原生实现(AllCategoryActivity)的加载时间中位数为210ms,Flutter实现(FlutterCategoryActivity)的加载时间中位数为231ms。考.

2021-09-06 19:47:26 3726

原创 Flutter日历,可以自定义风格UI,含小米、腾讯、阿里

//支持自定义绘制DayWidgetBuilder dayWidgetBuilder; //创建日历itemWeekBarItemWidgetBuilder weekBarItemWidgetBuilder; //创建顶部的weekbar//构造函数CalendarController({int selectMode = Constants.MODE_SINGLE_SELECT,DayWidgetBuilder dayWidgetBuilder = defaultCustomDayWidget,

2021-09-06 19:45:36 653 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 506

原创 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 212

原创 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 282

原创 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 4318

原创 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 737

原创 Android进阶:十,分享一点面试小经验

##二.视频播放器播放层实现###技术沉淀####2.1.视频播放内核我们知道自己开发视频播放器内核肯定是不现实的,这需要一定的技术成本,单个人很难达到,所以我们就选择一个最受欢迎的开源的内核即可:bilibili开源的视频播放器:ijkplayer###2.2.视频播放器视频播放这块需要给大家普及两个知识点:2.21.SurfaceView先来介绍一下大部分软件如何解析一段视频流。首先它需要先确定视频的格式,这个和解码相关,不同的格式视频编码不同,不是这里的重点。知道了视频的编码格式后,再通

2021-09-05 18:32:44 77

原创 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 83

原创 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 260

原创 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 315

原创 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 444

原创 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 281

原创 Flutter 插件使用必知必会,干货

``` class MainActivity : FlutterActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) GeneratedPluginRegistrant.registerWith(this) } } ```* iOS ...

2021-09-03 18:08:54 635

原创 Flutter 布局(八,2021年“金三银四”来袭

color: Colors.black45, ), child: Text( 'Mia B', style: TextStyle( fontSize: 20.0, fontWeight: FontWeight.bold, color: Colors.white, ), ),),],);示例代码我就直接用的[Building Layouts in Flutter]()中的例子,效果如下![Stack例子](ht...

2021-09-03 18:07:17 120

原创 GitHub标星5,值得推荐

引入工程中使用也非常简单,参照官方配置文档的手把手教学即可Happy Coding!官方配置文档:http://qmuiteam.com/android/page/start.html经过一小段时间的体验之后,我总结了以下几个亮点分享一下。常见UI效果封装QMUI Android中提供了很多常见使用的UI效果封装,比如下面这些:1、QMUIDialog:它提供了一系列常用的对话框,解决了使用系统默认对话框时在不同 Android 版本上的表现不一致的问题。并且可以使用不同的Builde

2021-09-02 18:03:02 203

原创 GitHub标星5-3K,腾讯后台开发

/* 获取用户登录信息列表 */public static ArrayList<User> getUserList(Context context) { /* 加载 */ FileInputStream in = null; ArrayList<User> users = new ArrayList<User>(); try { in = context.openFileInput(FILENAME); .

2021-09-02 18:01:12 176

原创 GitHub 上 10 个顶级开源项目,从基础到源码统统帮你搞定

3. vueGithub 地址:https://github.com/vuejs/vuestar: 153 k介绍: 尤大的前端框架。国人用的最多(容易上手,文档比较丰富),所以 Star 数量比较多还是有道理的。Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,

2021-09-02 17:58:05 6694

原创 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 351

原创 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 62

原创 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 92

原创 2019年移动开发,我的改变之旅,快点来白嫖

移动端真正进入下半场了吗?于我看来并没有,最多说“Android技术的探索”进入了下半场,而整个市场还是乐观的。以前是BAT的天下,而近两年出来越来越多的独角兽:头条、抖音、拼多多、快手、小猿搜题等,这些公司的业务都在移动端上,他们需要招聘更多的移动端人才。如果真要说下半场,只能说很多小型创业公司在退出市场,这确实会导致很多入门工程师失业,但这也说明了这个行业在更加规范。而且,对于Android工程师而言,这更是个好的时代。互联网下沉,那么下沉市场里的用户是使用Android多还是iOS多,大家都清楚。

2021-09-01 10:43:49 95

空空如也

空空如也

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

TA关注的人

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