自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

帅次的博客

三人行必有我师焉;择其善者而从之,其不善者而改之

  • 博客(209)
  • 资源 (8)
  • 收藏
  • 关注

原创 HTML 入门手册(二)

10-表单;11-input标签;12-button标签;13-下拉框:单选下拉框、多选下拉框、下拉框组;14-多行文本textarea标签;15-多媒体:音频(audio)、视频(video)。

2024-01-22 07:00:00 990

原创 HTML 入门手册(一)

1-基础语法;2-标题和水平线;3-段落和换行;4-列表;5-div和span;6-格式化标签;7-超链接(a标签);8-图片;9-表格:高度、宽度和边框、标题、合并单元格、HTML表格头部、主体、页脚

2024-01-22 06:00:00 1143

原创 adb 常用命令汇总

1、显示已连接的设备列表2、进入设备3、安装 APK 文件到设备4、卸载指定包名的应用5、从设备中复制文件到本地6、将本地文件复制到设备7、查看设备日志信息8、重启设备9、截取设备屏幕截图10、屏幕分辨率11、屏幕密度12、显示设备的总内存、空闲内存、已用内存等信息13、应用的内存使用情况14、详细的内存信息15、查看内存信息16、查看电池信息17查看CPU信息18、单独查看属性19、查看安装app的包名21、查看将要启动或退出app的包名22、关闭软件(根据包名)25、查看内存

2024-01-15 06:00:00 1370

原创 Android getApplication()、getApplicationContext的区别

在Android中,和是两种获取应用程序上下文的方法,但它们有一些细微的区别。

2024-01-08 06:00:00 894

原创 TCP、UDP区别

此外,Android还提供了一些库和框架,如Android的网络库(例如OkHttp、Retrofit)可以简化TCP或UDP的网络通信过程,同时提供了更高级的功能和可定制性。若需要更低的延迟和更快的速度,且能够容忍数据丢失,则可以选择UDP。在Android开发中,使用TCP和UDP的基本原理与一般网络通信协议相同,但在Android平台上的实现可能涉及一些特定的操作和库。在Android中使用UDP同样需要创建Socket,但UDP是无连接的,因此在发送数据时不需要建立持久连接。

2024-01-08 05:30:00 777

原创 Java 深入理解 AQS 和 CAS 原理

理解了 AQS 的设计思路,接下来我们就可以通过自定义 AQS 来实现自己的同步实现机制。代码中的 MyLock 就是一个最简单的独占锁,通过使用 MyLock 也能实现同 synchronized 和 ReentrantLock 相同的功能。比如如下代码:最终打印的 count 值为 20000,说明两个线程之间是线程安全的同步操作。

2024-01-04 14:03:26 972

原创 Java Synchronized 和 ReentrantLock

关键字相信每一位 Java 工程师都不会陌生。而 ReentrantLock 作为大神 Doug Lea 编写的 concurrent 包中的重要一员,也在众多项目中发挥重要功能。因为这两者实在是太重要,所以专门使用一课时的内容来对它们做一个详细的比较。后续两课时将会着重介绍它们各自的实现细节与原理。这课时我们主要学习了 Java 中两个实现同步的方式 synchronized 和 ReentrantLock。

2024-01-04 06:00:00 913

原创 Android BroadcastReceiver和EventBus区别

1.广播是四大组件之一,EventBus是开源框架;2. 广播不能直接执行耗时操作,如果超过10秒,会导致 ANR;3.广播非常消耗资源,而EventBus非常轻量;4.EventBus切换线程非常方便,只需要修改下注解就行了;5.广播可以跨进程,而EventBus不可以。

2024-01-03 06:00:00 366

原创 Java 线程池深入理解

线程池是一把双刃剑,使用得当会使代码如虎添翼;但是使用不当将会造成重大性灾难。而剑柄是握在开发者手中,只有理解线程池的运行原理,熟知它的工作机制与使用场景,才会使这把双刃剑发挥更好的作用。

2023-12-21 15:08:19 841

原创 Android BottomSheetBehavior(底部弹窗)

与普通的对话框不同,底部工作表对话框以一种半透明的方式在底部显示,用户可以通过向上滑动的手势将其展开或关闭。底部工作表对话框从屏幕底部弹出,提供一种非常流行的用户界面模式,用于显示与当前操作或内容相关的选项、操作或信息。它提供了一个简便的方法,在底部以对话框的形式展示内容。,你可以在你的 Android 应用中实现一个基本的底部工作表,并控制它的显示、隐藏以及与用户交互时的行为和动画效果。: 底部对话框在不同屏幕尺寸上可能会有不同的显示效果,因此确保内容在不同尺寸和密度的屏幕上均能正常显示和操作。

2023-12-14 06:00:00 231

原创 Android CoordinatorLayout

作为 Material Design 的一部分,CoordinatorLayout 提供了一些默认的 Behavior,使得实现 Material Design 的交互行为更加容易。用于协调管理其子视图之间的交互行为。: 除了默认提供的行为外,你可以创建自定义的 Behavior,以满足特定的布局需求或实现定制的交互效果。: 它可以管理嵌套滚动操作,允许子视图在滚动时进行联动,比如标题栏的隐藏、视图的展开等。来管理子视图的交互,协调者能够响应子视图的行为并调整其他相关视图的布局和行为。

2023-12-12 06:00:00 78

原创 Android 滑动菜单(DrawerLayout + NavigationView )

1.主内容视图一定要是DrawerLayout的第一个子视图且宽度和高度需要match_parent。2.侧滑菜单必须添加android:layout_gravity属性,推荐使用 start|end,不推荐使用left|right。3.侧滑视图的宽度以dp为单位,官方建议一般小于320(为了总能看到一些主内容视图)。4.设置侧滑事件:mDrawerLayout.setDrawerListener(DrawerLayout.DrawerListener);

2023-12-11 06:00:00 210

原创 Android Chips(标签)

一、流式布局标签发展历程第一阶段:实现这种界面的时候,基本都是自定义一个控件,然后在Java代码中动态的 添加 一个个的TextView,还需要计算布局宽度/高度,进行换行等等处理,蛮复杂的;第二阶段:使用 RecyclerView,我们实现这种界面就比较方便了;第三阶段:谷歌为我们提供了 Chip、ChipGroup、ChipDrawable,有了这三者,我们实现这种界面就更加方便了。二、类型及使用Chip的所有类型都是可点击的,根据选中效果有四种类型。

2023-12-06 06:00:00 107

原创 Android Text fieids

一、Text fieids一、Text fieids允许用户在 UI 中输入文本,。在 Text fieids 没出来(我不知道)前,想实现这个功能就需要自己自定义控件来实现这个功能。几年前做个上面这种样式(filled 填充型)。需要多个控件组合 + 动画才能实现,而且需要处理的逻辑也很多。了解到 Text fieids 那么你仅需即可实现之前的 UI 效果,是不是美滋滋?一起来研究一下,现在用不上指不定啥时候就用上了。

2023-12-05 06:00:00 924

原创 Android CardView基础使用

一、CardView顾名思义,就是卡片布局。现在卡片布局越来越普及了,以前都是各种shape来实现卡片效果,现在可以直接用控件来实现,是不是美滋滋?CardView实用性还是比较强的,一起来试试吧?1.1 导入material库要求SDK大于等于34,如果不打算兼容那么高的,建议降低至1.8.0,不影响CardView的使用。CardView继承自FrameLayout,可以让我们使用类似卡片布局来显示一致性效果的内容。同时卡片还可以包含圆角和阴影效果。1.2 属性。

2023-12-04 06:00:00 361

原创 Android 14模拟器闪退

java.lang.SecurityException: Writable dex file ‘/data/data/xxx/classes3.dex‘ is not allowed.

2023-11-30 06:00:00 359

原创 Android Studio 模拟器设置独立窗口

Android Studio -> Preferences(Settings) -> Tools-> Emulator ->取消勾选 Launch in a tool window -> 点击右下角的 OK 按钮 -> 重启 Android Studio。模拟器在窗口内部运行。

2023-11-29 06:00:00 420

原创 An issue was found when checking AAR metadata

Dependency androidx.activity:activity:1.8.0 必须34,那我不用就完事啦。app/build.gradle中将 compileSdk 和 targetSdk 升至 34 即可。首先找到androidx.activity:activity:1.8.0在哪?从这段信息告诉我们,升级SDK这个是必须的,除非你不用。毕竟项目不大牵扯不是很很大,而且新内容是肯定要兼容的,嘿嘿嘿。具体采取哪种方案具体问题具体分析了,个人采用了。

2023-11-24 06:00:00 2310

原创 No matching variant of com.android.tools.build:gradle:7.4.2 was found.

No matching variant of com.android.tools.build:gradle:7.4.2 was found. The consumer was configured to find a runtime of a library compatible with Java 8, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.a

2023-11-23 06:00:00 1015

原创 Google Play 搜索不到应用

请注意,为确保提供最佳的用户体验,我们会限制 Google Play 显示的搜索结果数量。如果你的应用在特定字词的搜索结果中排名过低,则不会显示在搜索结果中。例如,如果用户搜索“颜色游戏”,则系统难以分辨用户是在搜索名为“颜色游戏”的应用,还是关于颜色的游戏。这些应用宣传广告可以在许多 Google 广告网络(包括 Google 搜索、YouTube 以及 Google 展示广告网络中的网站和应用)中展示。首先,请确保你的应用在 Google Play 商店上已经成功上架,并且通过了审核。

2023-11-22 07:30:00 1397

原创 Android 电量优化概览

一、三大耗电模块一、三大耗电模块1.显示2.网络3.CPU二、显示避免时常唤醒屏幕不要阻止手机休眠过度绘制2.1 Overdraw简介。

2023-11-21 06:00:00 533

原创 Android 屏幕适配

由于Android系统的开放性,OEM厂商、运营商都可以对Android进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度。尽管系统可通过基本的缩放和调整大小功能使界面适应不同屏幕,但你应做出进一步优化,以确保界面能够在各类屏幕上美观地呈现。

2023-11-18 06:00:00 434

原创 Android 透明度设置

Android中的颜色值通常遵循RGB/ARGB标准,使用时通常以“#”字符开头,以16进制表示。Android中的颜色值一般格式是:#AARRGGBB。透明度分为256个等级,即 0~255,00表示完全透明,FF开始表示完全不透明注:透明度 0(透明) –> 255(不透明)16进制 00 (透明)–> FF(不透明)比如:50%透明度, 50%也就是256的一半即128,因为是从0开始算的,所以是 127,转换成16进制就是 7F。

2023-11-15 02:30:00 1335

原创 Android 实现资源国际化(多语言)

Android国际化(多语言)是一种开发技术,旨在使Android应用程序能够在不同语言和文化环境下运行,并为用户提供本地化的体验。这是为了确保应用程序在全球范围内都能够被理解和使用,而不仅仅局限于特定地区或语言的用户。通过遵循一下命名规则,Android系统能够在用户更改语言和地区设置时**自动选择正确的资源文件**,以提供本地化的用户体验。

2023-10-24 02:30:00 1899 1

原创 Android ChatCPT集成

这只是个简单的Demo,接入起来十分简单。但是具体商用还是要结合自己的业务场景来做,这个仅供参考。按照上面返回的JSOn生成即可,提取choices.message.content即可。集成好网络框架(默认使用Retrofit)2.3 上行参数(ChatGPTUPBodyBean)创建API Keys。1.以Body的形式传递数据。

2023-09-05 08:00:00 280

原创 Google Cloud 服务账号 + 服务密钥

The current user has insufficient permissions to perform the requested operation

2023-08-21 08:00:00 320

原创 Facebook 应用未启用:这款应用目前无法使用,应用开发者已得知这个问题。

Facebook 应用未启用:这款应用目前无法使用,应用开发者已得知这个问题。com.facebook.GraphResponse:{HttpStatus:400,errorCode:190,subErrorCode:-1,errorType:OAuthException,errorMessage:Errorvalidatingapplication.Applicationhasbeendeleted.}

2023-08-18 08:00:00 4694 5

原创 Android 控件截图保存本地并分享

截图当前页面某个控件的内容,并且保存在本地,可分享。

2023-08-15 08:00:00 658

原创 Android 渐变背景色

单纯的颜色背景已经不能够满足UI大佬们的发挥,渐变色背景无疑成了一个炫技的方向。现在越来越多的地方用到了渐变色,如Logo/背景色/按钮等。

2023-06-28 07:00:00 3753

原创 Flutter Dart类

Dart是一种面向对象的语言,具有类和基于mixin的继承。每个对象都是一个类的实例,所有的类都是Object的子类。基于mixin的继承意味着,尽管每个类(除了Object)都只有一个超类,但类主体可以在多个类层次结构中重用。

2023-06-26 07:00:00 606

原创 Flutter Dart函数(方法)异常

Dart 是一个真正的面向对象语言,方法也是对象并且具有一种 类型 Function。 这意味着,方法可以赋值给变量,也可以当做其他方法的参数。

2023-06-24 07:00:00 716

原创 Flutter Dart操作符

Dart操作符: 算术运算符 关系运算符 类型判定运算符 赋值运算符 逻辑运算符 条件运算符 级联符号运算符 安全操作符

2023-06-23 07:00:00 727

原创 Flutter Dart 变量和内置类型

一、变量 1.1 var、 1.2Object 、1.3dynamic、1.4 final与const。二、内置类型 2.1 num(数值) 2.2 Strings(字符串) 2.3 bool(布尔值) 2.4 List(列表) 2.5 Map(映射集合) 2.6 runes(Unicode字符)2.7 Symbols(操作符标识符)。

2023-06-21 07:00:00 1171

原创 Flutter 项目创建、运行及结构分析

项目结构:1 android 目录,2 ios目录,3 lib目录,4test 目录(可先不管)配置文件:1pubspec.yaml文件,2pubspec.lock,3.packages,4.metadata,5.gitignore

2023-06-20 07:00:00 2232

原创 Flutter 介绍及环境安装

Flutter 是一种由 Google 开发的开源用户界面(UI)框架,用于创建跨平台移动应用程序。它可以让开发人员使用单一代码库构建高性能、美观且流畅的应用程序。 同时在多个平台上运行,包括 iOS、Android、Web、桌面(Windows、macOS 和 Linux)和嵌入式设备(智能设备、可穿戴及车载设备等)。

2023-06-19 00:00:00 997

原创 Android 2024面试总结

Android 2024年面试总结;Android 2024年面试总结;Android 2024年面试总结。

2023-06-15 15:37:44 1802

原创 Android Framework 启动流程必知必会

系统启动流程解析

2023-03-06 07:00:00 1395 2

原创 BigDecimal 简单使用

float和double类型的主要设计目标是为了科学计算和工程计算。他们执行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而精心设计的。然而,它们没有提供完全精确的结果。

2022-05-26 14:32:54 2332 8

原创 Android 单例模式必知必会

单例模式是运用最广泛的设计模式之一,在应用这个模式时,单例模式的类必须保证只有一个实例存在。多用于整个程序只需要有一个实例,通常很消耗资源的类,比如线程池,缓存,网络请求,IO操作,访问数据库等。

2022-02-16 07:00:00 1522 2

原创 Android 抛弃IMEI改用ANDROID_ID

用户首次设置设备时随机生成的字符串,对于应用签名密钥、用户和设备的每个组合都是唯一的。 ANDROID_ID 的值由签名密钥和用户限定。

2022-02-10 13:08:03 7336

HTML 入门资料Demo

HTML 入门手册(一):https://shuaici.blog.csdn.net/article/details/135680716 HTML 入门手册(二):https://shuaici.blog.csdn.net/article/details/135698613 HTML 英文全称 " HyperText Mark-up Language " , 中文名称是 " 超文本标记语言 " 。是一种用于创建网页的标准标记语言。它使用一系列标签来描述网页内容的结构和样式,包括段落、标题、链接、图片、列表等。HTML文档是由HTML元素组成的,这些元素可以嵌套在其他元素中,从而构建出复杂的网页结构。 HTML5是HTML的最新版本,相比之前的版本,它引入了许多新的元素和API,使得网页可以更好地支持多媒体内容、图形和动画等。此外,HTML5还提供了更多的表单控件和数据绑定功能,使得用户可以更方便地与网页进行交互。

2024-01-23

Android MVC-MVP-MVVM-Demo.zip

MVC-MVP-MVVM实例

2021-08-17

Android面试题汇总.zip

Android面试题汇总,总有一款适合你。

2021-08-05

登录注册+标准体重计算器

大学生结业作业、简单小项目练习。 涉及控件:TextView、EditText、Button、ListView,SP数据存储。内部备注详细。

2021-07-03

Android-标准体重计算器

适合人群:初学者 里面涉及控件:TextView、EditText、RadioGroup、RadioButton、Button;代码涉及Activity跳转

2021-07-01

BroadcastReceiverDemo.zip

使用人群:BroadcastReceiver初学者。 里面涉及BroadcastReceiver的静态注册(无序广播)、动态注册(无序广播)、有序广播。 项目对应:https://shuaici.blog.csdn.net/article/details/118337894

2021-06-29

ContentProviderDemo.zip

适合人群:ContentProvider初学者。 ContentProvider的简单使用,和其他应用调用ContentProvider的实例。 项目对应:https://shuaici.blog.csdn.net/article/details/118222691

2021-06-25

SQLite用户信息的增删改查

Android的数据库存储方式—SQLite的使用方法,包括:SQLite用到了哪些SQL语法,如何使用数据库管理器操纵SQLite,如何使用数据库帮助器简化数据库操作等,以及如何利用SQLite改进登录页面的记住密码功能。 适用人群:初学者

2021-06-22

TimePickerDemo.zip

学习是劳动,是充满思想的劳动。

2016-01-14

空空如也

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

TA关注的人

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