自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

trebleZ的博客

比你努力一点点的人,其实已经甩你很远了。

  • 博客(131)
  • 资源 (36)
  • 收藏
  • 关注

原创 MVVM 的理解与设计

一篇面向客户端开发者的 MVVM 入门与实战博客,系统讲解 MVVM 的设计思想、View/Model/ViewModel 的职责、数据如何传输、ViewModel 如何设计、Android Kotlin 示例、常见误区和排查方法。

2026-09-07 21:48:10 19

原创 一个场景题去理解Java的锁

系统讲解 Java 中 synchronized、ReentrantLock、ReadWriteLock、StampedLock、Atomic、volatile 的区别,解释 count + 1 为什么不是原子操作,并通过音视频实例化对象同时访问共享资源的场景题对比多种加锁实现方案及优缺点。

2026-09-07 21:43:05 35

原创 Flutter 跨端优化实战

一篇面向 Flutter 开发者的跨端优化博客,系统梳理 Flutter 项目常见问题、性能痛点、排查路径、版本升级、依赖治理、包体积优化、启动优化、渲染卡顿和线上监控。

2026-09-07 12:00:00 135

原创 微信小程序包体积优化

以实际上线的小程序主包从 1.93 MB 降到 1.31 MB 的实践为起点,系统讲解分包与异步化、按需注入、依赖治理、启动链路、setData、长列表、图片、网络、缓存、内存、监控与持续性能预算。

2026-09-06 19:50:00 255

原创 Linux 基础操作指令速查

一篇面向 Linux 初学者和开发者日常使用的命令行入门博客,覆盖目录切换、文件查看、搜索、权限、压缩、网络、进程、服务、磁盘、日志和常见风险。

2026-09-06 19:33:58 172

原创 Flutter 快速上手

一篇接在 Dart 快速上手之后的 Flutter 入门指南,聚焦 VS Code 工作流,覆盖环境检查、项目创建、Widget、布局、状态、资源、依赖、调试和常见问题。

2026-09-06 12:00:00 578

原创 Android Studio 调试与内存抖动分析

系统梳理 Android Studio 中常见调试方式,并重点讲解如何使用 Debugger、Logcat、Profiler、Memory Profiler、App Inspection、Layout Inspector 等工具观察和定位 App 内存抖动、泄漏与性能问题。

2026-09-06 10:00:00 605

原创 Kotlin 协程完全指南

从线程与协程的区别出发,深入讲解 suspend 状态机、Continuation、CoroutineContext、调度器、结构化并发、取消与异常传播,并结合 Flow、ViewModel 和测试给出可落地的 Kotlin 协程用法。

2026-09-06 07:00:00 334

原创 Android组件化指南

从代码组织、编译边界、业务边界、独立交付和运行时加载五个颗粒度,系统讲解 Android 模块化、组件化、插件化,以及如何避免为了组件化而组件化。

2026-09-05 22:45:45 154

原创 Jetpack Compose Effect 完全指南

系统讲解 SideEffect、LaunchedEffect、DisposableEffect、rememberCoroutineScope、rememberUpdatedState、produceState、derivedStateOf、snapshotFlow 及 Lifecycle Effect 的实现原理、选择方法与常见陷阱。

2026-09-05 20:00:00 261

原创 MVC、MVP、MVVM、MVI 的区别与实现原理

系统讲解 MVC、MVP、MVVM、MVI 各组成部分的职责、实现原理、数据流、优缺点、测试方式,以及它们如何与 Clean Architecture 组合

2026-09-05 19:30:00 789

原创 Dart 语言快速上手

系统讲解 SideEffect、LaunchedEffect、DisposableEffect、rememberCoroutineScope、rememberUpdatedState、produceState、derivedStateOf、snapshotFlow 及 Lifecycle Effect 的实现原理、选择方法与常见陷阱。

2026-09-05 15:45:56 361

原创 Jetpack Compose 快速上手

一篇面向 Android 开发者的 Jetpack Compose 入门教程,覆盖工程创建、布局、Modifier、状态、列表、Material 3、ViewModel、副作用和导航。

2026-09-05 15:09:56 242

原创 Java 常见数据结构与 Android 使用场景

本文整理Java常见数据结构的核心原理、伪代码及Android使用场景,涵盖数组、ArrayList、LinkedList、栈、队列等16种结构。每类均说明特点、简化实现,并列举在Android实际应用场景上

2026-09-04 17:23:59 262

原创 Kotlin 高阶工程化与 Android 深入实践

本文深入解析Kotlin在Android工程中的高阶实践,涵盖编译产物、API设计、协程调度、Flow架构、Compose状态、KSP、性能优化与测试,帮助开发者从“会写”进阶到“能设计、能排查、能优化”。

2026-09-04 17:17:27 233

原创 Kotlin 进阶语法与 Android 实战理解

本文总结了Kotlin进阶特性在Android开发中的核心应用:泛型与in/out型变提升复用和类型安全;inline、reified保留类型信息并优化性能;sealed、委托、DSL简化状态与构建;协程与Flow实现结构化并发和响应式UI。紧扣实际场景,助你写出更安全、简洁、

2026-09-04 17:15:40 248

原创 Kotlin 语法入门与快速上手

内容概括Kotlin语法入门与Android快速上手,强调快速跑通基础写法、val/var、类型推断、字符串模板、空安全、函数、if/when、类等,适合Java转Android开发。摘要需简洁。字数限制150字。输出中文。</think>本文面向Kotlin小白及Java转Android开发者,旨在快速掌握基础语法并理解其在Android项目中的应用。通过Scratch或在线Playground可立即运行代码。核心知识点包括:val/var变量声明、类型

2026-09-04 17:11:22 217

原创 Android 常用设计模式速查

文章整理了Android开发中常见技术点对应的设计模式,给出伪代码和典型使用位置,包括单例、Builder、工厂、观察者、适配器、代理、装饰器、外观、模板方法、策略、责任链、状态、命令、MVC/MVP/MVVM等。目的是帮助理解模式在Android中的实际应用。 摘要

2026-09-03 15:38:17 361

原创 上海行碎碎念

上海行碎碎念,做一个记录生活的人吧

2026-06-15 20:23:12 241

原创 Android面试小结

记录一次面试经历

2026-06-14 19:57:27 232

原创 Mac操作的一些坑-记录贴

⇧+⌘+。显示/隐藏文件 ,想在全局.gradle文件夹下配置全局的gradle.properties文件会用到,哪个老哥说是英文的句号,让我郁闷了小半小时,记录下Mac下快速回到桌面,三个手指往上滑动,新增个空白的桌面即可未完待续…...

2020-07-26 23:23:00 1069

原创 自定义View简介

文章目录onMeasure()实操:ScrollView + ListView 会显示不全问题onDraw()onTouch()自定义属性onMeasure()// 获取宽高的模式int widthMode = MeasureSpec.getMode(widthMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec);// 获取宽高的值 int widthSize = MeasureSpec.getSize(wi

2020-07-26 23:11:15 1324

原创 使用Mac打开mht格式文件

记录下一个坑,在win环境使用印象笔记导出格式为mht格式的文件,回到家使用Mac打开后。。。一、场景这边在使用Mac下打开保存的mht后缀格式的笔记文件时,发现支持的很不好,基本乱码,使用Chrome无法打开。尝试过下载各种印象笔记,有道云笔记,为知笔记等都无法打开,Chrome插件也尝试过,除了mhtviewer付费软件没尝试过。wps是可以打开,但是支持的非常不好。二、解决方案更改扩展名 .mht 为.eml,用邮件软件打开看是否正常一般邮件软件对该格式兼容性较强,然后点击默认会使用Mac自

2020-07-25 15:08:39 5339

原创 umeng推送客户端没收到

前言这边app组想把推送统一下,聚合推送选择了umeng,一切准备就绪,demo都正常运行,但是真正接入入app时,死活收不到推送,排查了下服务端,没问题。后续用控制台测试模式也无法接收到,基本问题定位在app端了。问题定位这个要从之前的app优化说起,自从功能越来越多后,我们的app也变成了一个多进程的应用,所以做了如下优化 /** * 判断是否是主进程 * * @return */ public boolean isAppMainProcess()

2020-06-15 22:34:59 554 2

原创 okhttp3x java.lang.nosuchmethoderror: no static method create

项目中一直使用的okhttp版本是3.x的版本,这次在某个module中使用了4.x的okhttp后,运行报错。java.lang.nosuchmethoderror: no static method create(ljava/lang/string;lokhttp3/mediatype;)lokhttp3/requestbody; in class lokhttp3/requestbody; or its super classes (declaration of ‘okhttp3.requestbo

2020-06-14 22:49:24 3377 2

原创 firebase上调试上传event

Fabric被彻底关停,好在可以直接迁移到firebase.但是firebase上的enent有点不是特别友好,所以记录下。需要自己手动添加自定义事件eventName,且有个数限制调试自己上传的event是否成功在terminal终端下输入如下指令,在调试过程中,可以看到具体的上传内容文档链接上传过程中注意eventname只不支持特殊字符(Event names can be up to 40 characters long, may only contain alphanumeric

2020-05-23 16:50:13 2000

原创 Linux常用指令

一、常用Linux指令lsof -i:9950 找到某个端口号的pid[root@root bin]# lsof -i:80-bash: lsof: command not found执行下面命令进行安装:yum install lsofkill -9 31664(pid) 结束某个pid应用程序 -9强杀rz 直接打开文件传输文件 选择文件上传sh 文件名 直接运行sh文件里面的脚本cat 文件名 编辑rm 文件名 删除 会弹出对话框 需要输入ycd …/ 返回上一层文件夹

2020-05-23 16:21:44 411

原创 Android Studio中设置代理

一、能科学上网(开启代理)后,as中的设置步骤1.设置对应的端口2.测试二、去除代理(坑)1.设置界面选择No proxy.发现去除的不是很彻底,检查项目中的gradle.properties配置文件是否有自动加入配置ip、port的代码,有则去除。2.别忘了as全局配置代码中的gradle.properties是否被加入ip、port的代码,去除后正常三、今天是3.31号,特...

2020-04-01 10:22:52 14536

原创 迁移AndroidX的坑

1.近期项目做了AndroidX的迁移,发现其中还是有些坑点的。注意,不需要提前添加任何配置这边提前吃了个螃蟹,提前加了开启配置后预编译,然后再去启动第二步的时候,发现AndroidX未被完全覆盖,需要手动修改。。。mmp#表示当前项目启用 androidxandroid.enableJetifier=true#表示迁移依赖包到androidx,如果不启用在使用依赖包中的内容时可能会出现问...

2019-10-29 19:47:35 1104

原创 Android奔溃日志行数不对应

1.项目迁移到androidx后出现了奔溃日志行数不对应的问题,在日常开发中,甚是难受,问题定位比较麻烦。一番google后发现了解决方案https://stackoverflow.com/questions/52525155/crashlitycs-reporting-wrong-line-number-after-kotlin-migration2.原因:迁移androidx必须升级grad...

2019-10-29 19:40:02 1436

原创 入职两个月的一些总结

不知不觉来这个公司要两个月了,总体的感觉就是,来对了,刚刚好。所以总结下一些自己的不足和改进,然后就是打算做的一些事情,给自己立下一些flag。

2018-10-14 21:10:49 3975 1

原创 Android面试总结

以前都是看别人写面试经验,这次我也想写一次面试总结。说起这个很是惭愧,开发android有两年多的经验了,但是总感觉后知后觉,市场不断在变化。给我的感觉就是,15-16的时候出来只要你懂activity生命周期,会绑定数据,懂listview的复用机制,handler消息机制,事件分发机制,那么基本就能找到一份不错的工作,明显有变化的是17年,开始要懂得会用一些第三方的库,懂得基本的原理,然...

2018-08-11 18:04:23 642

原创 GreenDao无法生成xxxDao

我这边遇到一个问题,就是从公司svn拷贝过来的项目,一般情况下是不提交greendao目录中的gen目录的东西的,因为会自动生成。但是运行后发现指定目录下的gen目录不会自动生成。心情down到极点,一片爆红…解决方式(曲线救国): 那么我们换种思路,也就是说我们指定的目录下无法生成这个gen文件夹目录,那么我们去掉这个默认指定的目录,是否会在默认文件夹下生成这个gen目录呢,答案是...

2018-08-03 09:35:15 4871 1

原创 解决SVN Cleanup时遇到错误信息:Cleanup failed to process the following paths的错误

svn在偶尔会遇到Cleanup failed to process the following paths的问题。这里记录下我的解决方式1、遇到的问题如图 2、然后根据提示去clean up操作 3、好吧去解决它。工具文件夹选项,查看选择显示隐藏文件、文件夹、文件驱动。看到这个.svn的文件夹 4、找到wc这个数据库。用SQLiteManager打开 5、打开wc_l...

2018-07-17 16:40:07 3783

原创 ClickableSpan的简单使用

这里记录下ClickableSpan的使用。需要的效果是如下图 废话不多说,直接上代码。1.需要复写一个ClickableSpan的方法,这里可以自己定义效果package com.jmsht.taijixian.ui.message;import android.content.Context;import android.text.TextPaint;import and...

2018-07-04 10:30:56 6632 2

原创 ViewPager设置切换动画PageTransformer

这里记录下viewpager中的切换之间的渐变以及间距的动画 1、设置间距并展示多个页面边缘 主要是这个属性android:clipChildren=”false”表示的意思是: clipChild用来定义他的子控件是否要在他应有的边界内进行绘制。 默认情况下,clipChild被设置为true。 也就是不允许进行扩展绘制。那么我们设置这个ViewPager的父布局的android:cli...

2018-06-29 23:00:47 2439 1

原创 Android全局改变字体大小(坑)

这边分享一个功能需求,全局改变字体大小。当下的情景比较蛋疼…一个祖传的项目,需要在半路添加这个需求,各种字体大小已经写明在xml里面了,dp,sp,甚至xp不等。当时内心是拒绝的,但是由于用户反馈实在要做,而且app面向的用户为老年用户居多,还是决定踩坑了。这里也善意提醒大家,凡事留一线,日后好给自己留活路。所以,我进入了漫长的百度或者是google…正确的姿势勉强将就的姿势(成功...

2018-06-28 17:37:46 17719 12

原创 android post传递数组类型数据给后台php

这里分享一个android端传递数组给后台php的方式。后台要我传递的是一个二维数组,如下图。$data['Car']=array( "2_100" => array( "c1" => '2', "c2" => 0, "i" => '100', "c" => '00', "q&

2018-05-19 22:12:42 4421 1

原创 android开发笔记汇总(二)

有一段时间没有写博客了。一直想写,但是都被自己打败了,这里分享下这段时间遇到的bug之类的东西。adapter中的sort方法。。。 会自动生成两个基本对象,前面的是后一个对象,后面的是前一个对象,进行比较。一般是返回-1 0 1三个参数。。。负整数 0 正整数 0表示等于 1表示大于 -1表示小于吧dialog show之前要判断activity是否已经销毁。因为网络请求是异步请求,...

2018-04-19 22:16:57 1244 1

原创 android开发笔记汇总(一)

1、long类型转换为int类型: 一、强制类型转换long ll = 300000; int ii = (int)ll; 二、调用intValue()方法long ll = 300000; int ii= new Long(ll).intValue(); 三、先把long转换成字符串String,然后在转行成Integerlong ll = 300000; int ii = Integ

2017-10-03 21:19:20 655

调用系统闹钟

android跳转到系统闹钟页面进行闹钟的设定。

2015-12-14

win7图标异常修复

win7图标异常修复软件。解决你的烦恼

2015-12-01

android调用系统功能

手机摇一摇,自动发短信,获取坐标,监听来电,判断手机来电号码,进行自动接通来电或者发短信。

2016-01-25

MyEclipse10.0注册机

MyEclipse10.0注册机,里面有操作文档

2016-02-29

FlowLayout

使用java中的FlowLayout流式布局实现热门标签的实现。

2015-12-07

ListViewForScrollview

解决listview嵌套scrollView无法完全显示的问题。仅仅是重写了OnMeasure的方法。保留了listview的其他方法。

2015-12-07

android闹钟

android调用系统闹钟,基本实现功能

2015-12-14

android报表

android各类图标集合

2015-12-01

短信验证登录

短信验证登录,基于mob后台,短信验证码

2015-12-01

仿360进度条波浪效果

仿360进度条波浪效果,效果不错,一看就懂

2015-12-01

3D卡片翻页

CardView卡片翻页,这个效果我找了好久。满足你的动画效果

2015-12-01

HiJson64位and32位

HiJson64位and32位下载安装包,json数据结构清晰到爆

2015-12-01

android时间轴

实现android中漂亮的时间轴。其实思路就是将时间轴的每一个节点看成listview的一个item

2015-12-07

Genymotion-ARM

Genymotion-ARM-Translation.zip。解决genymotion报错Installation error: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE

2015-12-17

图片轮播广告

android图片轮播模板的调调

2015-12-01

android广告

android图片轮播,增加图片切换对称的效果,自带缓存效果,效果不错。

2015-12-01

ShareSdk第三方登录

shareSdk第三方登录。手机号,qq登录,微信登录,新浪微博登录。

2015-12-15

流式布局热门标签

android通过流失布局frowlayout实现热门标签,子控件用checkbox。

2016-02-26

android树状图显示历史记录

树状图,监听到点击每一个树状图,listview虚线显示,使用fragment分页显示。

2016-06-27

SQLiteManager4Setup

SQLiteManager4Setup下载安装包,主要是查看svn里面的内置sqlite库进行操作

2018-06-29

信鸽推送Android端(Android信鸽推送demo)

信鸽推送集成。注意修改ACCESS ID,ACCESS KEY,应用包名,添加设备的token。这里注意token对应的是手机。每台手机的token是唯一值,不会改变。

2017-03-23

pickerview

pickerview的简单使用,省市区三级联动。

2016-12-21

handler消息机制实现控制进度条

使用hangdler消息机制更新进度条的状态,有开始,暂停,终止,重新开始线程的操作

2016-06-07

使用ViewPager实现帖子功能

使用ViewPager实现帖子列表的功能

2016-07-14

spinner下拉框

使用spinner实现hint,以及自定义背景

2016-10-26

Android实现问卷答题

android使用ViewPager实现问卷答题效果,统计最终分数,并采用仪类似表盘进度条的自定义View效果显示最终分数。

2016-07-13

android绘制饼图

android绘制饼图。详见博客:http://blog.csdn.net/z_zt_t/article/details/58588011

2017-02-28

Zxing二维码

仿微信扫一扫。自定义二维码界面

2016-10-21

SoapUI Pro 5.4.0 X64_破解版

soapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。   该工具既可作为一个单独的测试软件使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。

2018-07-05

轮播设置间距透明度

ViewPager轮播设置间距,透明度渐变,使用android:clipChildren="false"/clipChild用来定义他的子控件是否要在他应有的边界内进行绘制。 默认情况下,clipChild被设置为true。 也就是不允许进行扩展绘制。

2018-06-29

android studio快捷键思维导图

android studio快捷键思维导图

2016-07-23

仿qq左滑删除

仿qq左滑删除,自定义了listview以及layout,重写了adapter,比较容易集成,实现效果好。代码可读性强

2016-06-22

SurfaceView实现抽奖大转盘

在imooc上看鸿洋的视频对着敲出来的。surfaceview实现抽奖大转盘的绘制

2016-07-29

Sublime Text

支持整个项目打开的编辑器,史上最性感的编辑器

2016-07-28

CAB制作工具包

CAB制作工具包

2016-11-29

ListView的全选反选

listview中的全选反选。使用as环境开发,是本人的第一个as程序,不得不传。item使用view+checkBox实现全选反选。

2016-07-25

空空如也

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

TA关注的人

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