自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

csj50的专栏

主要收藏一些文章,以便查阅

  • 博客(758)
  • 资源 (3)
  • 收藏
  • 关注

原创 安卓基础之《(19)—高级控件(1)下拉列表》

1、Spinner用于从一串列表中选择某项,功能类似于单选按钮的组合。2、android:spinnerMode属性,有两个选项。1、适配器负责从数据集合中取出对应的数据显示到条目布局上。3、下拉框要显示数据列表,涉及到适配器。(1)dropdown为下拉菜单。(2)dialog为弹窗显示菜单。一、下拉框Spinner。(3)不写默认下拉菜单。

2026-01-27 15:26:18 224

原创 安卓基础之《(18)—内容提供者(4)在应用之间共享文件》

1、继承于ContentProvider,对第三方应用暴露文件,并授予文件读写操作的权限。布局文件activity_send_mms.xml。1、MediaStore包含了系统所有的多媒体文件。三、FileProvider。一、使用相册图片发送彩信。二、MediaStore。

2026-01-20 14:33:43 159

原创 安卓基础之《(17)—内容提供者(3)使用内容组件获取通讯信息》

1、因为一个联系人可能有多个电话号码,还可能有多个邮箱,所以系统通讯录将其设计为三张表,分别是联系人基本信息表、联系号码表、联系邮箱表,于是每添加一位联系人,就要调用至少三次insert方法。(1)raw_contacts表的_id与data表的raw_contact_id对应。data表的mimetype_id与mimetypes表的_id对应。2、同理,联系人读取代码也分成三个步骤,先查出联系人的基本信息,再依次查询联系人号码和联系人邮箱。raw_contacts表。mimetypes表。

2026-01-15 15:23:39 232

原创 安卓基础之《(16)—内容提供者(2)运行时动态申请权限》

1、Android系统为了防止某些App滥用权限,从6.0开始引入了运行时权限管理机制,允许App在运行过程中动态检查是否拥有某些权限,一旦发现缺少某种必需的权限,则系统会自动弹出小窗提示用户去开启该权限。一、运行时动态申请权限。

2026-01-12 17:36:32 165

原创 安卓基础之《(15)—内容提供者(1)在应用之间共享数据》

Client App将用户的输入内容,通过ContentProvider跨进程通信传递给Server App。ContentProvider为App存取内部数据提供统一的外部接口,让不同的应用之间得以共享数据。一个应用读取另一个应用的数据,比如用户登录时,收到验证码自动读取。ContentProvider相当于一个窗口、一个门卫。一、通过ContentProvider封装数据。2、ContentProvider案例。

2026-01-12 10:57:20 234

原创 安卓基础之《(14)—数据存储(4)应用组件Application》

2、Application是Android的一大组件,在App运行过程中有且仅有一个Application对象贯穿整个生命周期。可以使用Application这个组件。一、Application的生命周期。资源不需要持久化,放到内存里就可以了。希望多个组件都可以访问这个数据。希望它是个可以操作的全局变量。1、如果有这样的需求。

2026-01-07 15:50:17 195

原创 安卓基础之《(13)—数据存储(3)存储卡的文件操作》

1、Android把外部存储分成了两块区域,一块是所有应用均可访问的公共空间,另一块是只有应用自己才可访问的私有空间。2、现在的手机虽然不插SD卡了,但是本质上是一样的,可以理解成内置了SD卡。data/data/包名,是内部存储空间。一、私有存储空间与公共存储空间。

2026-01-05 17:23:55 211

原创 安卓基础之《(12)—数据存储(2)数据库SQLite》

1、SQLiteDatabase是SQLite的数据库管理类,它提供了若干操作数据表的API。(2)setTransactionSuccessful:设置事务的成功标志。(6)rawQuery:执行拼接好的SQL查询语句,返回结果集的游标。(1)openDatabase:打开指定路径的数据库。(5)query:执行查询操作,返回结果集的游标。(4)getVersion:获取数据库的版本号。(5)setVersion:设置数据库的版本号。(1)execSQL:执行拼接好的SQL语句。

2025-12-31 15:33:37 158

原创 安卓基础之《(11)—数据存储(1)共享参数SharedPreferences》

2、共享参数的存储介质是符合XML规范的配置文件。保存路径是:/data/data/应用包名/shared_prefs/文件名.xml。1、SharedPreferences是Android的一个轻量级存储工具,采用的存储结构是Key-Value的键值对方式。4、实际开发中,共享参数经常存储的数据有App的个性化配置信息、用户使用App的行为信息、临时需要保存的片段信息等。(3)需要持久化存储的数据。在App退出后再次启动时,之前保存的数据仍然有效。若是复杂且相互间有关的数据,则要保存在数据库中。

2025-12-30 15:10:26 266

原创 安卓基础之《(10)—中级控件(4)对话框》

1、AlertDialog可以完成常见的交互操作,例如提示、确认、选择等功能。AlertDialog借助建造器AlertDialog.Builder才能完成参数设置。2、调用建造器的create方法生成对话框实例,再调用对话框实例的show方法,在页面上弹出提醒对话框。一、提醒对话框AlertDialog。3、提醒对话框效果图。

2025-12-29 15:44:52 170

原创 安卓基础之《(9)—中级控件(3)文本输入》

1、编辑框EditText用于接收软键盘输入的文字,例如用户名、密码、评价内容等,它由文本视图派生而来,除了TextView已有的各种属性和方法,EditText还支持下列XML属性。(1)inputType:指定输入的文本类型。若同时使用多种文本类型,则可使用竖线“|”把多种文本类型拼接起来。(2)maxLength:指定文本允许输入的最大长度。(4)textColorHint:指定提示文本的颜色。(3)hint:指定提示文本的内容。一、编辑框EditText。

2025-12-26 15:27:43 161

原创 安卓基础之《(8)—中级控件(2)选择按钮》

实际开发中用的是CompoundButton的几个派生类,主要有复选框CheckBox、单选按钮RadioButton以及开关按钮Switch,这些派生类均可使用CompoundButton的属性和方法。1、CompoundButton类是抽象的复合按钮,由它派生而来的子类包括:复选框CheckBox、单选按钮RadioButton以及开关按钮Switch。(1)checked:指定按钮的勾选状态,true表示勾选,false则表示未勾选。(1)setChecked:设置按钮的勾选状态。

2025-12-25 16:44:26 141

原创 安卓基础之《(7)—中级控件(1)图形定制》

2、包含图片在内的图形文件放在res目录的各个drawable目录下,其中drawable目录一般保存描述性的XML文件,而图片文件一般放在具体分辨率的drawable目录下。(5)drawable-xxhdpi:里面存放超高分辨率的图片(如1080x1920),一般对应6英寸~6.5英寸的手机。(3)drawable-hdpi:里面存放高分辨率的图片(如480x800),一般对应4英寸~4.5英寸的手机。==========图形定制==========一、图形Drawable。

2025-12-19 13:35:04 140

原创 安卓基础之《(6)—Activity组件(3)》

上下文Context类里有getString方法,就是从strings.xml中获取字符串的值。而Activity就是继承自Context。1、Activity从strings.xml获取字符串,显示到TextView中。strings.xml是不需要编译的,而Java代码需要编译。==========为活动补充附加信息==========2、为什么把字符串放到strings.xml中。所以可以直接getString(id)八、利用资源文件配置字符串。

2025-12-18 16:03:46 156

原创 安卓基础之《(5)—Activity组件(2)》

通常App不希望向外部暴露Activity名称,只给出一个事先定义好的标记串,这样大家约定俗成、按图索骥就好,隐式Intent便起到了标记过滤作用。在打电话的Activity里配置了android.intent.action.DIAL,所以你调用ACTION_DIAL就会跳转的打电话页面。隐式Intent,没有明确指定要跳转的目标Activity,只给出一个动作字符串让系统自动匹配,属于模糊匹配。(2)发起方携带本次通信需要的数据内容,接收方从收到的Intent中解析数据。2、Intent的组成部分。

2025-12-17 16:08:07 472

原创 安卓基础之《(4)—Activity组件(1)》

startActivity(new Intent(源页面.this, 目标页面.this));2、从当前页面回到上一个页面,相当于关闭当前页面,返回代码。==========启停活动页面==========// 结束当前的活动页面。从A跳到B,A就是源页面,B是目标页面。3、注意A、B页面都要在清单文件中注册。1、从当前页面跳到新页面,跳转代码。一、Activity的启动和结束。

2025-12-12 13:42:38 168

原创 安卓基础之《(3)—简单控件》

2670 * 1200分辨率,6.36寸的手机,dpi约为460,460 / 160 ≈ 2.875,也就是说在这个手机上1dp约等于2.875px。XML文件每个标签比如TextView,gradle在编译的时候会按照一定规则将标签转为java代码的类,这些转为代码的类统一都在R的java包内。所有显示到屏幕上的图像都是以px为单位,dp是我们开发中使用的长度单位,最后它也需要转换成px,计算这个设备上1dp等于多少px。(1)相同分辨率的手机,屏幕越大,同DP的组件占用屏幕比例越小。

2025-11-20 16:39:12 327

原创 安卓基础之《(2)—App开发基础》

每个XML标签都是独立的控件对象,标签内部的属性以“android”打头,表示这是标准的安卓属性,各属性分别代表控件的某种规格。(5)local.properties:项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等。(1)manifests目录:下面只有一个XML文件,AndroidManifest.xml,它是app的运行配置文件。3、一般所言的“编译运行App”,指的是运行某个模块,而非运行某个项目,因为模块才对应实际的App。

2025-11-12 11:14:31 527

原创 安卓基础之《(1)—简介》

工程创建完毕后,Android Studio自动打开activity_main.xml与MainActivity.java,并默认展示MainActivity.java的源码。1、安卓(Android)是一种基于Linux内核的自由及开源的操作系统。(2)运行在模拟器,是指在电脑上构造一个演示窗口,模拟手机屏幕上的App运行效果。4、Android可以用Java、Kotlin开发,作为入门先用Java来开发。2、Android几乎每年都要发布一个大版本,技术的更新迭代非常之快。2、安卓项目的发布运行。

2025-11-06 16:23:57 244

原创 前端基础之《React(7)—webpack简介-ESLint集成》

本文介绍了如何在webpack开发环境中集成ESLint进行代码检测。主要步骤包括:安装eslint-webpack-plugin和eslint依赖;配置webpack的serve.js文件,设置ESLint检测规则;使用eslint向导生成配置文件eslint.config.mjs;解决React全局变量未定义问题;配置node环境变量以消除require等语法警告。最终通过修改eslint.config.mjs文件,整合了ESLint、TypeScript和React的推荐配置,实现了完整的代码检测功能

2025-11-03 15:09:21 184

原创 前端基础之《React(6)—webpack简介-图片模块处理》

摘要:本文介绍了在Webpack中处理图片模块的两种方法。在Webpack 5.0之前版本,需要使用file-loader和url-loader来转换图片为链接或base64编码。而在Webpack 5.0中,推荐使用asset/resource类型处理图片资源,相当于file-loader的功能。详细演示了如何在webpack配置文件中配置图片处理规则,包括修改module.rules部分,指定图片文件的处理方式和输出路径。两种方法都能实现图片的打包处理,但Webpack 5.0的内置asset模块方案更

2025-10-31 11:31:57 206

原创 android studio设置

【Android Stadio】->【Build】->【Build Bundle(s) / APK(s)】->【Build APK(s)】,输出目录在 项目名称\build\outputs\apk\debug\xxx.apk。【Android Stadio】->【File】->【Settings】->【Build, Execution, Deployment】->【Build Tools】->【Gradle】,修改Gradle JDK。2、设置encoding统一UTF-8。1、导入项目的目录不能有中文。

2025-10-31 10:13:00 278

原创 前端基础之《React(5)—webpack简介-集成CSS和SASS支持》

本文介绍了如何为webpack项目集成CSS和SASS支持。首先创建app.css文件定义基础样式,然后安装style-loader和css-loader。重点说明了webpack配置中module.rules部分如何添加CSS处理规则:当遇到.css文件时,先由css-loader解析CSS代码,再由style-loader将样式插入HTML的head标签。规则排除了node_modules目录,同时展示了完整的webpack配置文件结构,包括入口、出口、插件等基本配置。通过这种方式,webpack可以正

2025-10-29 14:11:09 259

原创 前端基础之《React(4)—webpack简介-编译打包优化》

【Webpack编译优化配置】 通过配置webpack.config.js将第三方库与业务代码分离: 在entry中定义vendors入口,包含react等第三方库 业务代码入口app通过dependOn声明依赖vendors 输出配置使用[name].[chunkhash:8].js生成带哈希的文件名 配合HtmlWebpackPlugin实现自动注入 使用ProvidePlugin全局提供React变量 优化效果: 第三方库独立打包,便于CDN部署 业务代码与依赖分离,提升缓存利用率 每次构建自动清理旧

2025-10-28 16:51:07 377

原创 前端基础之《React(3)—webpack简介-集成JSX语法支持》

本文介绍了在项目中集成JSX语法的步骤:1)安装React相关依赖(react, react-dom);2)创建React根组件App.jsx;3)配置main.js作为入口文件并挂载组件;4)安装babel预设(@babel/preset-react)处理JSX语法;5)修改webpack配置,通过babel-loader处理.jsx文件扩展名。重点说明了react用于组件封装,react-dom负责DOM挂载,以及babel预设和webpack loader的配合使用来实现JSX语法支持。

2025-10-27 14:25:38 315

原创 前端基础之《React(2)—webpack简介-使用Babel》

本文介绍了webpack中使用loader处理ES6+语法的步骤:1.安装babel相关包(babel-loader、@babel/core、@babel/preset-env);2.配置webpack.config.js,设置js文件使用babel-loader处理;3.创建babel.config.js定义编译规则,使用@babel/preset-env预设将ES6+代码转换为ES5。通过配置loader实现webpack对不同模块文件的预处理,解决浏览器不识别最新语法的问题。

2025-10-23 13:20:27 250

原创 前端基础之《React(1)—webpack简介》

Webpack是一个模块化打包工具,能够将各种前端资源打包成浏览器兼容的静态文件。它采用从入口文件开始的依赖分析机制,将每个文件视为模块。搭建Webpack环境需要先安装Node.js和npm/yarn,创建项目目录并初始化package.json文件。然后通过npm或cnpm全局和本地安装webpack核心包及webpack-cli工具,为后续的模块化开发和打包构建做好准备。整个配置过程体现了现代前端架构的技术选型能力。

2025-10-14 14:23:03 1993

原创 区块链技术之《(1)—概述》

区块链是由区块组成的去中心化链式结构,每个区块包含区块头和区块体。区块头存储元数据(版本号、前区块哈希、默克尔根等),区块体记录交易信息。通过哈希算法(SHA256)确保数据不可篡改,并利用默克尔树快速验证交易。挖矿过程通过调整难度目标和随机数(Nonce)来寻找符合条件的哈希值,维护区块链安全。比特币是区块链技术的典型应用,展现了该技术的去中心化特性。

2025-09-22 16:03:56 661

原创 Java基础之《activiti(1)—工作流介绍》

摘要 工作流是通过计算机对业务流程进行自动化管理的技术,广泛应用于订单处理、行政管理、人事财务等场景。工作流系统基于业务流程,通过状态字段或专业引擎实现流程控制。Activiti作为基于BPMN2.0标准的工作流引擎,能将复杂业务流程可视化建模,实现业务与流程的分离,降低系统维护成本。BPMN建模符号包括事件(圆圈)和活动(圆角矩形)等元素,用于构建流程模型。工作流技术提高了系统的可扩展性和适应性,特别适合大型企业和集团公司的业务管理需求。

2025-08-13 13:49:45 734

原创 前端基础之《Vue(30)—Vue3 Pinia状态管理》

本文介绍了Pinia在Vue3中的安装与使用。首先通过npm安装Pinia并在main.ts中引入。然后详细说明了如何创建store:定义state、getters和actions,并强调store命名需以"use"开头。在组件中使用时,可以通过$patch直接修改state或调用actions方法更新数据。文章特别指出,解构store变量会导致响应式丢失,需使用storeToRefs保持响应性。最后展示了模板中调用store数据和方法的示例代码。

2025-08-12 10:15:27 199

原创 前端基础之《Vue(29)—Vue3 路由V4》

本文介绍了Vue3项目中集成Vue Router(v4)的全过程。首先通过npm安装依赖,配置@路径别名指向src目录,包括vite.config.ts和tsconfig.app.json的修改。然后详细说明了在main.ts中如何初始化路由,创建路由实例并定义路由规则。接着指导建立router/index.ts文件,配置hash模式路由和全局守卫。最后演示了在App.vue中使用<router-view>展示路由组件,并验证了路由访问效果。文章还简要提及了集成步骤的三个关键环节,为后续使用El

2025-08-08 14:12:55 415

原创 前端基础之《Vue(28)—Vue3 组合API》

组合API介绍

2025-07-31 15:39:09 550

原创 前端基础之《Vue(27)—Vue3最重要的特性》

本文主要介绍了Vue3组合API对开发思想的改变。相比Vue2将逻辑分散在选项中的方式,组合API能够集中管理逻辑关注点,使代码更易维护。实现方法包括:1)用组合API替代传统选项写法;2)梳理代码逻辑并封装为自定义hooks。这种变化提升了代码组织性和复用性,使开发者能更好地分离和抽象组件逻辑。

2025-07-30 16:12:46 245

原创 前端基础之《Vue(26)—Vue3两种语法范式》

选项写法和组合写法

2025-07-29 13:31:57 431

原创 前端基础之《Vue(25)—Vue3简介》

Vue3已于2022年春节正式发布,推荐使用Vite搭建项目。创建命令为yarn create vite vue3-admin --template vue-ts,项目结构包含TS配置文件和单文件组件。Vue3单文件组件支持多template节点、多个script块,样式可使用v-bind指令。在<script setup>语法中,使用ref定义响应式变量,通过.value访问值,方法直接定义,watch实现监听。相比Vue2,不再需要data和methods选项,简化了组件开发流程。推荐配套使

2025-07-28 16:18:25 584

原创 前端基础之《Vue(24)—vue-element-admin》

vue-element-admin

2025-07-21 15:37:11 505

原创 前端基础之《Vue(23)—跨域问题》

摘要:跨域问题由协议、IP或端口不同引起,浏览器基于同源策略会阻塞跨域Ajax请求。解决方案包括:1)JSONP(仅GET请求);2)后端配置CORS头;3)代理转发(开发用webpack,生产用nginx)。Vue中可通过devServer配置代理,将含"/api"的请求转发到目标服务器,保持请求同域从而规避跨域限制。(149字)

2025-07-18 14:55:32 281

原创 前端基础之《Vue(22)—安装MongoDB》

1、官网:https://www.mongodb.com/,点击“Products”-“community edition”-“下载community版本”不用安装最新版,最新版会有各种兼容性问题,所以下载了6.0版本。注意区分操作系统版本,这里下载的是CentOS9的。注意:要用第三方驱动,官网下载的驱动包不支持社区版。6、下载mongodb JDBC驱动。9、使用dbeaver连接。10、创建admin用户。一、安装MongoDB。5、验证有没有安装成功。建立一个新的驱动配置。

2025-07-14 11:22:21 367

原创 前端基础之《Vue(20)—移动端REM布局》

摘要:WebApp是一种交互类似App但无需安装的H5页面。移动端布局方案包括rem、vw/vh等相对单位布局,不使用绝对单位px。通过rem.js动态设置根字体大小(屏幕宽度的1/10),实现适配不同屏幕。CSS中rem单位基于根字体尺寸,em基于父元素字体。UI稿尺寸转换示例(如750px→10rem),推荐使用pxtorem插件简化计算。文中还介绍了布局类型比较和常用CSS单位。

2025-06-18 15:18:34 466

原创 前端基础之《Vue(19)—状态管理》

Vue状态管理核心要点:1、版本匹配(Vue2+Vuex3/Vue3+Vuex4或Pinia);2、状态管理本质是数据共享与缓存;3、安装使用三步骤:注册插件、创建Store实例、导出;4、主要解决组件间数据共享和响应式更新问题;5、Store配置包含state等核心概念。通过建立store目录并在main.js导入实现全局状态管理。

2025-06-06 17:15:18 531

git分支开发规范指南.pdf

Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作

2020-03-26

gitflow工作流程.pdf

gitflow工作流程 在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一 些git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉

2020-03-25

预测facebook签到位置

预测facebook签到位置

2023-08-24

探究用户对物品类别的喜好细分

探究用户对物品类别的喜好细分

2023-08-11

数据预处理-归一化-数据文件dating.txt

数据预处理-归一化-数据文件

2023-08-07

条码支付互联互通工作介绍.pdf

银联条码支付互联互通 业务流程-被扫支付 业务流程-主扫后台支付 业务流程-主扫JS支付

2020-03-25

空空如也

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

TA关注的人

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