android解析.plist文件 这篇博文就足够了

完整版java读取apk、ipa包名、版本名、版本号等信息 有时候,我们上传apk或者是ipa文件的时候,是需要读取到里面的一些信息的,比如软件的包名,以及其版本信息等。在网上搜索了一下资料 , 找了很多版本,对于apk文件的版本号,一直读取不到,在这里,笔者自己总结了,读取apk、ipa文件的一些代码,大家可以参考下,去其糟粕,取其精华。以便适用于自己的需求。如果大家希望解析到图标的话,可以看我后面写的博文 博文地址请戳 :Java解析apk、ipa图标 阅读详情

刚刚送走2020迎来了2021的第一篇博文

平庸的时候也要不甘平庸
平庸的时候也要不甘平庸
​​​​

我今天第一次遇到交给我一个.plist文件,当场有点懵,但是遇到问题还是不能回避,就研究了一下,然后做一个博文的记录和分享,希望大家遇到的时候少走弯路.

先简单介绍一下.plist文件   .plist文件在iOS开发中经常用到,但是android开发用的比较少.其实跟xml格式的文件很像.下面给一个venues.plist文件示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>场馆列表</key>
    <array>
        <dict>
            <key>name</key>
            <string>龙泉驿区东安湖体育中心主体育场</string>
            <key>prov</key>
            <string>四川</string>
            <key>city</key>
            <string>成都</string>
            <key>county</key>
            <string>龙泉驿区</string>
            <key>street</key>
            <string>成都汽车城大道</string>
        </dict>
        <dict>
            <key>name</key>
            <string>双流体育中心体育场(比赛场,田径热身场)</string>
            <key>lat</key>
            <string>30.5702200000</string>
            <key>lon</key>
            <string>103.8958200000</string>
            <key>prov</key>
            <string>四川</string>
            <key>city</key>
            <string>成都</string>
            <key>county</key>
            <string>双流区</string>
            <key>street</key>
            <string>东升街办白河路延伸段</string>
        </dict>
        <dict>
            <key>name</key>
            <string>棠湖中学体育场(投掷热身场)</string>
            <key>prov</key>
            <string>四川</string>
            <key>city</key>
            <string>成都</string>
            <key>county</key>
            <string>双流区</string>
            <key>street</key>
            <string>双江路二段188号</string>
        </dict>
    </array>
</dict>
</plist>

那么android如何把这个类型的文件进行解析呢?

有一个现成的库可以直接用   可以在主module.gradle里面添加依赖

implementation 'com.googlecode.plist:dd-plist:1.21'

文件可以是后台返给app端也可以是放在asset中的

第一种情形: 如果是放在assets中的文件,解析步骤如下

第一步:建立实体javaBean

public class VenuesBean  {
    private String name;
    private String prov;
    private String city;
    private String county;
    private String street;
// TODO...此处.........getter   setter ......略过
}

第二步:打开assets中的文件并开始解析  并把解析的内容封装成实体类 放到list中

 

List<VenuesBean>venuesList = new ArrayList<>();
NSDictionary dic = (NSDictionary) PropertyListParser.parse(MyApplication.getContext().getAssets().open("venues.plist"));
NSArray venueArr = (NSArray) dic.objectForKey("场馆列表");
NSObject[] array = venueArr.getArray();
for (int i = 0; i < array.length; i++) {
    NSObject nsObject = array[i];
    VenuesBean venuesBean = nsObject.toJavaObject(VenuesBean.class);
    Log.d(TAG, "init: " + venuesBean.toString());
    venuesList.add(venuesBean);
}

第二种情形: 如果文件是网络获取得到的,解析步骤如下

第一步通过接口把.plist文件下载到app中指定的目录,

第二步:在通过File操作打开文件

File file = new File(downloadPath);
FileInputStream downloadFile = new FileInputStream(file);
NSDictionary dic = (NSDictionary) PropertyListParser.parse(downloadFile);

第三步:操作同第一种情形把解析的数据装到list中 

NSArray venueArr = (NSArray) dic.objectForKey("场馆列表");
NSObject[] array = venueArr.getArray();
for (int i = 0; i < array.length; i++) {
    NSObject nsObject = array[i];
    VenuesBean venuesBean = nsObject.toJavaObject(VenuesBean.class);
    Log.d(TAG, "init: " + venuesBean.toString());
    venuesList.add(venuesBean);
}
MATLAB R2025b 合法安装与高校授权快速启用指南 MATLAB 是由 MathWorks 开发的工程计算与仿真平台,其核心价值在于数值计算、算法开发、系统建模与深度学习集成。基于严格的许可证机制,它通过 Campus-Wide License(校级授权)、Student Suite(学生许可)及 MATLAB Online 等合规路径实现广泛覆盖。R2025b 在符号计算引擎、GPU 加速(支持 tensorFloat32)、API 兼容性等方面实现实质性升级,显著提升科研与教学效率。对于高校师生而言,95% 以上‘双一流’院校已部署校级许可,只需验证邮箱 阅读详情

相关推荐

图像资源还原工具使用指南:.***z 和 .plist 文件解包

本文还有配套的精品资源,点击获取 简介:本教程介绍如何将游戏开发中常用的游戏资源文件 .***z 和 .plist 还原成多个原始图像。 .***z 是一种为移动设备设计的高效压缩图像格式,而 .plist 文件则常用于存储配置信息及元数据。教程提供了一个实用工具来辅助解包过程,并说明了如何使用该工具将压缩纹理数据和元...

weixin_32869687的博客 1395

数据储存之plist文件

全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。文件是xml格式的。 plist只能存储NSArray、NSDictionary、NSString、NSData、NSDate、NSNumber类型数据,而且一般我们我会把NSArray、NSDictionary、NSString、NS

xiuaoxiaoqigui的博客 787

全面plist图片资源管理工具使用指南

本文还有配套的精品资源,点击获取 简介:plist图片分解工具是一款专门用于从.plist文件中提取图片资源的软件,常见于iOS游戏开发。该工具允许开发者在Windows系统上进行操作,提供图片查看、分离、编辑和重新打包等功能。它支持文件解析和图像处理,旨在优化iOS应用的资源管理和性能。开发者可以利用此工具方便地管理和优化他们的应用资源,特别是在处理大量图片资源时。 ...

weixin_36444661的博客 1588

iOS plist文件增删改查

plist文件,即属性列表文件,全名是Property List,这种文件的扩展名为.plist,因此,通常被叫做plist文件。它是一种用来存储串行化后的对象的文件,在iOS开发中通常用来存储用户设置,还可以用于存储程序中经常用到而不经常改动的数据。下面就看一下如何创建和读写plist文件。plist 只能存储基本的数据类型 和 array 字典。

sgliquangang的专栏 1556

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 102

Fluent 中多相流模型全面解析

3.颗粒或液滴在连续相中的运动:若关注颗粒或液滴在连续相中的运动轨迹、分布规律以及与连续相的相互作用,如喷雾干燥、气力输送等过程,Eulerian-Lagrangian 模型则是最佳选择。Eulerian-Eulerian 模型可以准确模拟气体在固体颗粒中的流动情况,包括颗粒的流化状态、气体与颗粒之间的传热传质过程,为气固流化床的优化设计和操作提供依据。通过该模型,可以了解混合器内不同位置的混合程度、颗粒的运动轨迹以及液固相间的相互作用,从而改进混合器的结构和操作条件,提高混合效率。

khhdp的博客 3086

​plistlib --- 生成与解析 Apple .plist 文件​

此模块提供了可读写 Apple "property list" 文件的接口,它主要用于 macOS 和 iOS 系统。此模块同时支持二进制和 XML plist 文件。.plist) 文件格式是一种简单的序列化格式,它支持一些基本对象类型,例如字典、列表、数字和字符串等。通常使用一个字典作为最高层级对象。要写入和解析 plist 文件,请使用和函数。要以字节串对象形式操作 plist 数据,请使用和。值可以为字符串、整数、浮点数、布尔值、元组、列表、字典(但只允许用字符串作为键)、或对象。

C'mon的博客 926

HDMI调试避坑指南:从AVI InfoFrame到通用控制包,这些DataIsland Packet细节千万别忽略

本文深入解析HDMI调试中DataIsland数据包的关键细节,包括AVI InfoFrame、通用控制包和音频时钟再生包(ACR)的配置与故障排查。通过实际案例和寄存器配置示例,帮助工程师快速定位显示异常、色彩失真和音频中断等问题,提升HDMI接口调试效率。

weixin_30897233的博客 635

使用Plist编辑器——简单入门指南

可以使用plist编辑器来读取plist文件中的数据,并将其写入到新的plist文件中,也可以将plist文件转换为其他格式,如JSON、XML和CSV等。总之,plist编辑器是一款强大的工具,可以简化plist文件的读写,并将其转换为更容易读取的格式。Xcode:Xcode是苹果公司开发的集成开发环境,其中包含了一个强大的plist编辑器,可以方便地编辑和管理plist文件。Atom:Atom是一款轻量级的文本编辑器,也内置了plist编辑器,可以方便地编辑和管理plist文件。

m0_74760716的博客 1345

智能驾驶感知模块的测试评估方法(上)

对于智能驾驶系统而言,感知模块是开发难度最大、投入资源最多的核心部分。在智能驾驶开发团队内部,感知模块需要独立进行评测才能及早发现潜在缺陷或判断性能是否有改进。随着近几年BEV、OCC、E2E等新技术方案被越来越多企业应用,感知的评测变得越来越艰难,效率也变得越来越低下。本文作者基于在智驾测试行业多年经验,试图总结感知评测的基本规律和效率提升方法,以供读者一些启发。

vincent_321的博客 2559

iOS开发者必备:从越狱设备里提取IPA的三种方法(含Filza、iTools实战)

本文详细介绍了iOS开发者从越狱设备提取IPA文件的三种实用方法,包括使用Filza文件管理器、AFC2配合桌面工具以及命令行高级技术。内容涵盖环境准备、操作步骤和技术原理,帮助开发者高效获取应用包文件,适用于逆向工程、测试分析等场景。

weixin_28717969的博客 812

Vue项目打包成Android/iOS应用:从npm run build到Capacitor上架全攻略

前端项目中,打包产物本质上仍是HTML、CSS和JavaScript,移动端需要借助WebView这类“壳”来运行。将Vue项目打包成Android/iOS应用,核心思路就是为网页套上一个原生容器,并补充相机、定位等原生能力。Capacitor作为现代混合应用方案,让Vue开发者无需重写代码,即可把dist目录同步为Android和iOS工程,再通过Android Studio或Xcode完成签名、打包与上架。这套流程适合已有Web项目、需要快速输出手机应用的团队,也避免了跨端框架重写的成本。不过路由模式、

weixin_34337381的博客 205

工业异常检测评价指标(I-AUROC、PRO等)

模型评价指标:TPR、FPR、Recall、ROC、AUC、AUROC、IoU、PRO、AUPRO等

qq_1532145264的博客 7432

从串口到手机App:BLE数传全链路实战指南与避坑记录

在嵌入式开发中,串口通信是最基础的数据交互方式,但线缆束缚常常限制设备监测与现场调试的灵活性。低功耗蓝牙(BLE)作为一种短距无线通信技术,能够将串口数据透明传输到手机App,实现真正的无线化数据监控。本文从链路拆解出发,讲解外挂透传模块与集成SoC两种硬件方案的选型逻辑,剖析UART、GATT特征值、MTU等关键概念如何对齐,并完整演示从STM32串口采集、环形缓冲区处理、数据帧协议设计,到Android/iOS端BLE开发的最小可跑流程。同时针对串口乱码、收不到数据、丢包延迟等高频问题给出排查思路,帮助

weixin_34075268的博客 325

PLC模糊控制模糊PID(梯形图实现+算法分析)

博途PLC的模糊PID控制详细内容请查看下面的博客文章:Matlab仿真+博途PLC模糊PID控制完整SCL源代码参考(带模糊和普通PID切换功能)_博途怎么实现模糊pid_RXXW_Dor的博客-优快云博客模糊PID的其它相关数学基础,理论知识大家可以参看专栏的其它文章,这里不再赘述,本文就双容水箱的模糊PID问题做详细讲解(包括所有源代码和模糊规则设置参数)。

RXXW_Dor的博客 5884

华为OD机试真题 新系统【优化充电桩调度算法】

华为OD机试 新系统真题【优化充电桩调度算法】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题【优化充电桩调度算法】

qq_45776114的博客 753

livp转jpg:从原理到实操,一文讲透在线转换与免费替代方案

在数字办公与内容创作中,图片格式转换是高频刚需。苹果Live Photo封装格式livp因内嵌HEVC视频流与主图,导致在Windows、安卓及网页端无法直接预览。解决思路在于“解码再编码”——提取静态图像并重新压缩为JPG,这一过程可由在线转换网站或本地FFmpeg工具完成。在线工具凭借微信登录、拖拽上传等简洁交互适合零星应急,但通常仅提供一次免费转换,且涉及隐私风险;本地开源工具则支持批量处理、质量可控,兼顾效率与安全。无论是收集iPhone实况照片、修复微信dat缓存,还是ArcGIS地图出图,掌握通

weixin_33951761的博客 335

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

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

十年iOS开发复盘:从Objective-C到SwiftUI的实战指南

移动应用开发领域,技术迭代与工程实践始终是开发者关注的核心。从Objective-C到SwiftUI,iOS开发不仅涉及语言演进,更包含内存管理、异步编程、UI布局等底层原理的迁移。与此同时,跨平台方案如uniapp、Flutter的兴起,让开发者在原生与跨端之间需要做出权衡;而iOS Safari中Canvas导出白图、textarea输入遮挡等高频问题,则折射出WebView与原生渲染之间的差异。掌握iOS开发的调试工具链、签名机制与上架流程,不仅能提升交付效率,更能为智能体开发、跨端混合应用等延伸方向

weixin_34406086的博客 314

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

开发机磁盘告急?用开源工具智能清理 npm、pip 等包管理器缓存

在本地开发与 CI 流水线中,依赖缓存目录如 ~/.npm、~/.cache/pip 会不断膨胀,导致磁盘空间耗尽,影响构建效率。理解包管理器缓存机制是安全清理的前提。基于扫描、判定、回收的三层架构,可区分活跃依赖与过期缓存,制定保留策略,实现精准清理。这类工具在开发环境优化、自动化运维和 DevOps 实践中具有重要价值,尤其适合多语言项目与持续集成场景。本文围绕一个开源的仓库包缓存清理工具,分享其设计思路、核心机制与实操流程,帮助开发者建立长期可持续的磁盘空间管理方案。

weixin_34401479的博客 349

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Flutter × HarmonyOS 6.0实战:打造跨端游戏控制面板

跨端开发已成为移动应用降本增效的关键路径,尤其在游戏辅助工具与控制面板场景中,开发者既要保证UI一致性与交互流畅度,又要应对底层通信和系统适配的复杂性。Flutter凭借自绘引擎、统一渲染和成熟的平台通道,成为这类强交互、强视觉、强通信项目的优选方案。结合HarmonyOS 6.0的分布式能力,通过MethodChannel与EventChannel桥接原生层,配合自定义二进制协议、心跳重连和Isolate数据处理,可构建低延迟、高可靠的控制面板。本文从架构设计、环境搭建、CustomPaint自绘仪表盘、

weixin_33881140的博客 147

十年iOS开发实战:从Objective-C到跨端,踩坑、抓包与面试全复盘

移动应用开发技术栈纷繁复杂,原生iOS开发始终以Objective-C与Swift为基石。从Xcode环境配置到Swift语法演进,从ARC内存管理到UIScene生命周期,开发者需理解语言、框架与系统原理的联动。面对跨端浪潮,uniapp与微信小程序虽能复用业务逻辑,但iOS的WebKit层级、证书信任、静音策略等差异仍需原生功底兜底。抓包、签名、设备管理则是绕不开的工程实践,理解Charles证书信任与免费签名七天限制,能避免大量低级问题。掌握系统镜像、模拟器与自动化调试手段,可显著提升效率。这些技术价

weixin_34384557的博客 261

Plist 文件详解 (一)

http://blog.csdn.net/wanliaixie/article/details/13614069 plist 文件实质上是一个xml文件,通常在iphone上看到后缀名为plist的都是这种文件,这种文件有两种形式,一种是明文的xml形式,还有一种是二进制形式的文件。plist 形式可以说无处不在,通过itunes 发送各种命令要用到,存储数据库要用到。先贴两个图大致看一下文

u012839224的专栏 3万+

plist解密_免费解密工具针对ThiefQuest Mac勒索软件

端点安全公司SentinelOne的研究人员创建了一个工具,使用户能够恢复由名为ThiefQuest的Mac恶意软件加密的文件,该恶意软件为勒索软件。ThiefQuest最初名为EvilQuest,旨在对受感染系统上的文件进行加密,但也允许其操作员记录键盘记录,窃取文件并完全控制受感染的设备。ThiefQuest最初被归类为勒索软件,但仔细分析后发现,攻击者无法知道哪个受害者支付了赎金,...

weixin_39625008的博客 1158

【玩转cocos2d-x之十二】plist解析工具:Anti_TexturePacker

原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12867863 之前拿了一些别人的图片素材,是用TexturePacker打包合成的,结果写程序的时候不知道每个合成前小png图的名字是什么,只能一个一个从plist文件中找,然后猜测对应的名字,再进行显示,如果不对,还要继续猜。。。坑爹啊,效率大大降低了,时间都耗在找...

偶尔e网事 3万+

plist

在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件。文件是xml格式的。 Plist文件通常用于储存用户设置,也可以用于存储捆绑的信息 我们创建一个项目来学习plist文件的读写。

C语言编程,IOS软件开发,张明生 2373

plist文件详细说明

引文        最近在做H5页面开发的过程中,碰到了一个IOS提示下载的页面,下载的链接是一个之前没有接触过的plist文件,所以就查了一下,结合自己掌握的东西说一下我了解的。首先我们要明白2个概念。     plist文件 百度百科:Plist是一种文件形式,通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS中是由资源分支提供的。由于Plist中存储的数据是抽象...

qq_42089654的博客 1万+
上一篇: android webview加载HTML中的神坑
下一篇: Git入门-配置公钥到Git代码仓
huihui_android
博客等级 码龄10年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值