da23资源文件*

C23/C++26 的 #embed:嵌入式资源管理新范式指南 embedC23:奠定基础,解决核心痛点。C++26:强化整合,赋能元编程。立即行动建议在支持编译器的项目中尝试替换旧方案。关注 C++26 标准进展,规划constexpr资源处理。推动工具链完善支持,加速生态落地。#embed不仅简化开发流程,更通过编译期资源处理为性能优化打开新维度——是时候告别外部工具链,拥抱原生高效资源管理了!资源C23 标准草案 - #embedC++26 #embed 提案 P1967。 阅读详情

Values:

------------------------------------------

*)文本的国际化

I18N

----------------------------------------------

*) Internationalization 

*)不同国家地区用户,可以使用本地的文字


values-rCN

values-zh

values-zh-rCN

values-zh-rHK

values-zh-rUS

values-zh-rUK


地区不支持时显示默认values的内容


res中的文件夹是固定的不能随便创建...values-en-rUS


资源访问工具访问

----------------------------------------------

Resources

获得 Resources 实例

getResources


资源访问方法

-----------------------------------------

getString(资源id)

getString Array(id)

getIntArray(id)

getColor(id)

-----------------------------------------

example
String s = resources.getString(R.string.my_str);
String[] arr1 = resources.getStringArray(R.array.arr1);
int[] arr2 = resources.getIntArray(R.array.arr2);

int color1 = resources.getColor(R.color.color1);
int color2 = resources.getColor(R.color.color2);

raw

---------------------------------

*原始格式文件

*不会被编译(压缩)

打开文件输入流

----------------------------------------

*)Resources 的方法获得输入流

openRawResources(id)


control+shift + space 查看方法参数


assets资产

==============================

*允许存放任意文件,文件夹

*不会生成资源访问id

*有专门的方法,来获得文件输入流或者列出文件列表

*只能读,不能写

获得一个资产访问工具AccetsManager

------------------------------------------------------------

getAssets()    

AccetsManager的方法

================================

list(path)

获得指定子目录中的文件名称列表

返回String[]


open(文件) 或open("abc/def/文件") 获得文件输入流

open(文件,mode)//mode固定选项

private 私有只有当前应用可以访问

/WorldReadable 全局可读

/worldWriteable

/append追加


*)assets目录如果没有自己新建在src/main/assets


*)任意新建文件或文件夹


***)assets中的文件不可修改,可以在第一次启动的时候复制到sdcard上更新sdcard上的文件


Application

=================================================

*应用启动时,系统自动创建application实例调用onCreate()方法,界面还未显示在activity OnCreate()方法之前.


*默认Application的onCreate()方法没有代码

*可以继承Application,重写OnCreate()方法,可以在启动时执行自定义的code



使用步骤

---------------------------------

1编写Application的子类,重写onCreate()

2,在清单中配置自己定义的application 不配配置默认值是android.app.application.Application.



内部存储:

====================================

getDir(String name,int mode)

/data/data/app_目录名

---------------------------------------------------------------

data/data/应用/files/文件名

getFilesDir()

getFileinputStream()

---------------------------------------

getCacheDir() 返回缓存目录的文件

-------------------------------------------

data/data/应用/cache/


外部存储 sdcard 使用getExternalXXXDir如果没有该文件夹会自动创建(记得添加权限!)

==============================================

getExternalCacheDir()

/sdcard/Android/data/应用/cache/


getExternalFilesDir(Environment.DIRECORY_MUSIC)

/sdcard/Android/data/应用/文件类型目录/


Environment.getExteralStorageDirectory()  


/mnt/sdcard/

/sdcard/

/stordge()/sdcard0


不同设备 sdcard 访问路径可能不同

用此方法,总能得到正确的访问路径


/sdcard/虚拟路径指向一个真实路径.


外部存储File 对象

Environment.getExternalStoragePublicDirectory(文件类型目录) 目录不是针对某个应用是公共文件夹

获得某种类型文件夹的标准储存目录,Environment.常量

DIRECTORY_DOWNLOADS 下载

DIRECTORY_ALAMS 闹铃

DIRECTORY_DCIM 数码相机储存

DIRECTORY_MOVIES 电影

DIRECTORY_MUSIC 音乐

DIRECTORY_NOTIFICATIONS 通知音

DIRECORY_PICTURES 图片

DIRECTORY_PODCASTS 播客

DIRECTORY_RINGTONES 铃声


Environment.getExternalStorageState();

获得储存卡状态代码,  Environment.常量


MEDIA_BAD_REMOVAL

MEDIA_CHECKING 钢工插入时

MEDIA_MOUNTED 准备好读写

MEDIA_MONTED_READ_ONLY

MEDIA_NOFS //正确装载,但不支持文件系统no file system

MEDIA_REMOVED

MEDIA_SHARED //已经装载作为u盘连接电脑

MEDIA_UNMOUNTABLE 无法装载

MEDIA_UNMOUNTED 存在sd卡,但未装载


Environment.getRootDirectory() /system


StatFs

==============================================

*获得空间使用情况

*创建实例

-------------------------------------

StatFs sf=new StatF(path)


sf.BlockCount() 多少个存储块

sf.BlockSize() 4k 32k 64k 存储块大小

sf.AvaiableBlocks() 有权限访问的剩余块

sf.getFreeBlocks剩余快

总大小=BlockCount*BlockSize


===================================

/data/data/应用/shared_prefs/文件名.xml


p1=getSharedPreferences(文件名,MODE_PRIVATE)

自定义文件名


p2=gePreferences(MODE_PRIVATE) 在哪里调用生成以哪个activity命名

      Activity类名当做文件名

在一个Activity中,读写自己的偏好设置文件

data/data/应用/shared_prefs/AActivity.xml


p3=PreferenceManager.getDefaultSharedPreferences(this)

包名当做文件名

data/data/应用/shared_prefs/com.huqiao.day23.xml

在整个应用当中都可以使用跟这个偏好设置文件.


方法

----------------------------------------------

edit()//获得编辑对象Editor.

contains(String key)

getAll()

getBoolean(String key boolean defValue)

getFloat(Stringkey float defValue)

getInt(String key,int defValue)

getLong(String key,long defValue)

getString(String key,String defValue)

getStringSet(String key,Set<String > defvalues);

registerOnSaredPreferenceChangeListener(OnSharedPreferenceChangelistener listener)

unregisterOnsharedPreferenceChangeListener(OnsharedPreferenceChangelister listener)


sharedPreference.Editor

---------------------------------

putBoolean(String key,boolean value)

putFloat(String key,float value)

putInt(String key,int value)

putLong(String key ,long value)

put String (String key,String value)

putStringSet(String key ,Set<String>values)


remove(String key)

clear()

apply()

commit()


 p1 = getSharedPreferences("pref", MODE_PRIVATE);
 //MainActivity.xml
 p2 = getPreferences(MODE_PRIVATE);
 //huqiao.com.day2304.xml
 p3 = PreferenceManager.getDefaultSharedPreferences(this);











13.爬虫训练场集成文件采集案例,来学习一下怎么实现的 本篇博客,我们在 爬虫训练场 项目中集成文件下载案例,便于大家学习文件采集。文章分为三部分,分别是普通文件,MP4 文件,M3U8格式视频文件。 阅读详情

相关推荐

wechatdatx64.zip:Windows微信数据库本地解密与解析指南

微信PC版本地数据库(如MM.sqlite)采用AES加密存储聊天记录等敏感数据,其解密依赖特定密钥推导机制与VC++运行环境。理解SQLite数据库结构、Windows加密API(BCrypt)、Visual C++运行库依赖及密钥来源(config.ini/注册表/HardwareInfo.xml)是实现可靠解析的基础技术前提。该工具链具备离线、免编译、单文件运行特性,适用于电子取证、IT审计与开发调试等需快速还原可读消息的工程场景,核心价值在于绕过微信客户端访问限制,直接解析已授权的本地加密副本。

weixin_28607671的博客 285

Android多媒体开发 android mediaplayer

<br />最近在看Android多媒体相关的资料,发现在1.0-r2版本支持的音频格式amr、mp3、wav、mid,不支持aac格式,Android提供的MediaPlayer不支持类似J2me那样的流直接创建模式,而流创建显然是我们开发中最常用的模式,如我们到远程服务器下载音频、视频数据一般都是流的形式,如何使用流创建MediaPlayer呢?下面的代码是关于创建MediaPlayer的几种使用形式。<br />/** * MedaiaPlayer的使用<br> * <b>注意:</b>在实际

abby_dcy的专栏 1324

VC6.0股票行情引擎:Socket轮询+内存映射解析L2快照

股票实时行情系统底层依赖于稳定、低延迟的数据获取机制,其核心原理是通过TCP Socket主动轮询交易所服务器,接收二进制格式的Level-1或Level-2快照数据,并基于严格内存对齐的结构体进行字段解析。该技术不依赖现代Websocket或第三方API,强调协议逆向、字节级偏移控制与跨进程共享内存同步,具备轻量、可复现、易嵌入等工程优势。典型应用场景包括老旧工控环境监控、量化策略底层数据桥接、以及历史交易系统维护。本文聚焦VC6.0环境下深交所快照协议的完整实现链路,涵盖#pragma pack(1)对

weixin_34194829的博客 153

Flutter与鸿蒙混合开发:Barreler工具深度适配指南

在跨平台开发领域,Flutter与鸿蒙(HarmonyOS)的混合开发正成为技术热点。Barrel文件作为代码组织的重要工具,通过自动化导出管理能显著提升工程效率。本文从模块化设计原理出发,解析如何改造传统barreler工具以适应鸿蒙生态。关键技术点包括:基于ohpm依赖树的拓扑排序算法、ETS文件规范转换、以及资源路径优化策略。这些方法不仅能解决跨平台导出混乱问题,还能减少23%的包体积(实测数据)。特别适用于金融、电商等对性能敏感的移动应用场景,为Flutter模块无缝接入鸿蒙项目提供标准化解决方案。

weixin_28840143的博客 320

STM32 ST-LINK Utility固件烧录全流程详解与实战技巧

本文详细解析了使用STM32 ST-LINK Utility进行固件烧录的全流程与实战技巧。从硬件连接、软件安装、核心三步操作(连接、擦除、烧录)到进阶的选项字节配置与批量脚本烧录,提供了完整的避坑指南和问题排查方案,帮助开发者高效完成STM32程序下载。

lambda的博客 768

SRAM compiler选项中 Soft Error Repair (SER)

引起的瞬时故障,可能会影响 SRAM 中存储的数据。SER 功能通过某种机制检测并修复这些错误,从而提高存储器的可靠性。在 SRAM 编译器中,

hzmscut的博客 1157

批处理 批量删除当前目录及子目录下多个指定的扩展名文件

批量删除当前目录及子目录下任意指定的扩展名文件 今编译DEV的语言文件,各种语言文件不需要,只保留中文的语言文件,写个批处理也方便以后使用 1 @echo off 2 set Path=%CD% 3 cd /d Path 4 del /f/s/q/a *.tlog 5 del /f/s/q/a *.cache 6 del /f/s/q/a *.txt 7 del ...

weixin_33881041的博客 1165

【网络】PFC背景和原理 、文档(DCB=PFC + ETS,DCBX=DCB扩展)

目录 零、背景 一、PFC 1.概述 2.报文格式 3.工作机制 二、ETS 产生原因 基本原理 优先级组的调度 优先级的调度 三、DCBX 产生原因 基本原理 DCBX TLV介绍 五、PFC 拥塞研究(文档收集) 六、DC-QCN算法 (网络工程师必会) 7.1 α更新 7.2 降速 7.3 提速 8.总结 ...

小鱼菜鸟的博客 2166

Android客户端单线程下载

具体效果如上图所示,具体操作步骤如: 1、先新建一个工程名为getDataInternet的应用; 2、修改res/values中的string.xml文件,具体代码如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <resources> 3 4 <string name="app_na...

weixin_34334744的博客 127

MySQL操作之用户管理权限管理:(DC)(五)

一、简介 二、用户管理 2.1 User表 2.2 创建普通用户 2.3 删除普通用户 2.4 修改用户密码 2.5 解决root用户密码丢失 三、权限管理 3.1 MySQL的权限 3.2 授予权限 3.3 查看权限 3.4 收回权限

lydms的博客 4507

37、基于视觉的轻量级面部呼吸和心率测量技术

本文提出了一种基于视觉的轻量级面部呼吸和心率测量技术,通过远程光电容积脉搏波描记法(RPPG)和面部振动信息实现非接触式生理信号采集。创新性地结合框选和特征点选择多个感兴趣区域(ROI),并采用光流跟踪、主成分分析(PCA)和集成经验模态分解(EEMD)等方法优化信号处理流程。实验结果表明,该方法在测量精度和稳定性方面优于传统方法,并可在树莓派4等低功耗平台上实现实时运行,具有广泛的应用前景。

r7s8t的博客 307

Android多媒体应用开发之MP3音乐播放器

一,MediaPlayer类概述 MediaPlayer是ANdroid自带的多媒体库,可用于实现音频操作,若结合SurfaceView和VideoView等控件可是实现视频的播放。 1,创建MediaPlayer对象,并装载音频文件 ①可以直接使用new的方式 MediaPlayer mp=new MediaPlayer(); 此时,需要调用setDataSource()方法指定要播放的资源文件,调用prepare(),调用start()进行播放。 ②使用create的方式 MediaPlayer mp

qq_45043381的博客 1236

Isaac Sim/Lab & ROS2 入门教程 —— 宇树人形机器人 H1 强化学习策略部署

本文介绍了如何通过ROS2和IsaacSim运行H1人形机器人的强化学习运动策略。主要内容包括:1)设置机器人关节配置和初始位置;2)添加IMU传感器;3)配置ROS2节点以发布观测数据和接收动作指令;4)创建模拟环境并发布ROS时钟;5)最终运行ROS2策略实现对机器人的键盘控制。文中详细说明了关节参数设置、传感器配置、ROS2节点创建等关键步骤,并提供了注意事项和验证方法。完成配置后,用户可通过键盘指令控制机器人在平坦地形上的运动。

2506_90492529的博客 2170

用 ABAP ADK 写一个可控的自建表归档程序:从选择屏幕到 ARCHIVE_SAVE_OBJECT 的完整链路

文章摘要: 本文介绍了SAP系统中数据归档的核心概念与实践方法。归档旨在将不常访问但需保留的数据从在线数据库移出,以减轻系统负载,同时满足合规要求。文章重点阐述了: 归档与备份、重组的本质区别 SAP归档框架的核心组件:归档对象(AOBJ)、归档管理界面(SARA)和ADK开发工具包 通过YAPTMAIN表示例,展示了完整的归档流程: 使用选择屏幕控制归档范围 管理归档会话 写入归档记录 生成统计报表 强调了归档程序设计中需要考虑的运维、审计和性能因素 该方案可有效解决自建日志表"悄悄长胖&quo

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 230

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

玩网心云 部署一些轻NAS应用

拿到货是我哥已经帮我刷好机了,系统是:Armbian 23.05.0-trunk Bullseye with Linux 5.15.106-ophub我将在此环境基础上部署一些应用。

jiong0818的博客 1429

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

iOS应用安全加固:IPA混淆技术详解与实践

代码混淆是移动应用安全防护的核心技术之一,通过改变程序结构和语义来对抗逆向工程。其原理主要包括符号重命名、控制流平坦化和字符串加密等手段,能有效防止核心算法泄露和业务逻辑破解。在iOS开发中,LLVM编译器工具链为代码混淆提供了基础支持,结合资源文件加密可构建多层次防护体系。企业级应用特别是金融、游戏等高价值App,通常采用自动化混淆工具链集成到CI/CD流程,在保证兼容性的同时实现安全与性能的平衡。随着OLLVM等开源方案和商业SDK的发展,控制流混淆与反调试等热词技术已成为移动安全领域的标配方案。

weixin_28622215的博客 258

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Flutter项目依赖清理:原理、工具与实践

在软件开发中,依赖管理是保证项目健康度的关键技术。通过静态代码分析(AST解析)和依赖关系图谱构建,开发者可以识别未使用的第三方库。这种技术能显著优化构建性能,实测可减少23%的构建时间和8.3MB的APK体积。在Flutter生态中,由于tree shaking机制的限制,手动清理僵尸依赖尤为重要。主流方案包括官方工具dart_code_metrics和社区方案depcheck,但各有适用场景。工程实践中,建议结合CI/CD流程实现自动化扫描,同时注意处理动态加载和代码生成等特殊场景。本文以Flutter

weixin_26805597的博客 66

解决应用启动白屏:FUSE请求阻塞分析与优化

文件系统性能优化是移动应用开发中的关键挑战,特别是在应用启动阶段。FUSE(用户空间文件系统)作为Linux内核与用户空间的桥梁,其I/O操作机制直接影响应用响应速度。当主线程同步执行文件读写时,__fuse_request_send等底层调用可能引发阻塞,导致白屏现象。通过异步加载、内存映射等技术可有效提升性能,尤其在React Native、Flutter等跨平台框架中更为重要。本文结合电商APP等实际案例,详解如何通过预加载策略、FUSE参数调优等手段,将启动耗时降低40%以上,并建立完整的性能监控体

weixin_42558257的博客 215

android 动画_牛逼!用Android矢量图动画实现一辆掘金牌小黄车!

点击上方“技术最TOP”,星标公众号重磅干货,第一时间送达作者:新小梦,链接:https://juejin.im/post/5f0417e5f265da22fd637d32看完本文,每人送一台小黄车,掘金牌的~不得不说,矢量图在项目中用得少之又少,却很香!可缩放矢量图形(SVG)是一套语法规范,常在前端中使用,而VectorDrawable(Android中的矢量图)只实现了SVG的部分...

weixin_39853590的博客 488

星火应用商店完整指南:Linux软件生态终极解决方案

星火应用商店作为中国Linux桌面生态的重要支柱,为deepin、Ubuntu、Debian等主流系统用户提供了前所未有的软件获取体验。这个完全开源的项目致力于简化Linux应用安装流程,让每个用户都能轻松找到所需软件。 ## 🎯 核心理念:重新定义Linux软件分发 ### 生态聚合的使命 Linux桌面生态长期面临软件分散、获取困难的挑战。星火应用商店的核心理念是通过社区协作,将分散在各

gitblog_00056的博客 477

android dtb文件位置_牛逼!用Android矢量图动画实现一辆掘金牌小黄车!

点击上方“技术最TOP”,星标公众号重磅干货,第一时间送达作者:新小梦,链接:https://juejin.im/post/5f0417e5f265da22fd637d32看完本文,每人送一台小黄车,掘金牌的~不得不说,矢量图在项目中用得少之又少,却很香!可缩放矢量图形(SVG)是一套语法规范,常在前端中使用,而VectorDrawable(Android中的矢量图)只实现了SVG的部分...

weixin_34755543的博客 219

用于生成自测测试用例

你是具备丰富经验的测试工程师,可以精确的输出功能测试点。

jimlinxy的博客 904

NavigationView+DrawerLayout实现侧拉抽屉效果

先上效果图: NavigationView是android-support-design包下的一个控件,在使用NavigationView时需要引入design的包依赖: dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12'

Zuo_0625的博客 1621
上一篇: day20 Io
下一篇: day21 XML
AverageJoe24
博客等级 码龄13年 0粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值