文件存放在哪里
不同存储路径(如 assets 或外部存储)的具体实现,方法会有所不同
文件存储位置
外部 SD 卡 / 共享存储 (External / Shared Storage)
外部 SD 卡/共享存储的文件
内部存储 (Internal Storage)
内部存储的文件,而是 res/raw 资源文件、assets 文件夹,方法会有所不同
读取 assets 文件夹下的文件
phone.dat 格式可以用于 Android App 的离线手机号归属地查询。建议采用 Java + 二进制数据库 + 本地风险号码库 的方案:手机号归属地判断和诈骗号码识别分开处理。
需要注意:这个 phone.dat 是你描述的 JPHN 格式
整个实现分为四步:
把 phone.dat 放入 Android 项目的 assets 目录。
编写 PhoneLocationUtils.java,读取文件头、校验格式。
建立手机号前 7 位索引,查询省份、城市和运营商。
在 Android 页面或来电识别服务中调用查询方法。
assets 目录下的文件保留了原始的文件目录结构
必须通过 AssetManager 来访问。
通过 Context.getAssets() 获取该对象
将数据库放在 app/src/main/assets/phone.dat。由于 assets 文件不能直接进行普通文件随机访问,首次启动时复制到应用内部目录。
assets 中的文件会被打包进 APK,应用可以通过 AssetManager 直接读取,不需要申请存储权限,也不需要联网。
注意:assets 内的文件是只读资源
