android java 层如何读取设备的internal memory 空间!

米尤人 2011-03-10 09:20:44
直接读取设备内部空间,而不用再扩展SD卡!
...全文
462 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
米尤人 2011-03-14
  • 打赏
  • 举报
回复
问题解决,设备自带内存持载在flash目录下面。谢谢各位
freshui 2011-03-14
  • 打赏
  • 举报
回复
你这都是系统的,没有多余的分区。
估计它的4G都给/data了。 你到设置里面看,是否internel memory有4G
/data目录你的用户程序用不了。

还是用SD卡巴。
米尤人 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 freshui 的回复:]

在adb shell里面敲一下mount,得到什么?
[/Quote]

$ mount
mount
rootfs / rootfs rw 0 0
/dev/root / cramfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
none /proc/bus/usb usbfs rw 0 0
/dev/block/mtdblock4 /system cramfs ro 0 0
/dev/block/mtdblock7 /data ext3 rw,nosuid,nodev,errors=continue,data=ordered 0 0

/dev/block/mtdblock6 /cache ext3 rw,nosuid,nodev,errors=continue,data=ordered 0

freshui 2011-03-14
  • 打赏
  • 举报
回复
在adb shell里面敲一下mount,得到什么?
米尤人 2011-03-14
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 freshui 的回复:]

去问一下你们公司做系统开发的,他把这个4G空间挂载到哪个目录了,然后用那个目录读写就是了。

我给你的是目前我们挂的,三星galaxy手机也是这样挂载的。
[/Quote]设备是买的别公司的,如何在程序里面查看它挂载的目录?我刚接触android开发。
freshui 2011-03-14
  • 打赏
  • 举报
回复
去问一下你们公司做系统开发的,他把这个4G空间挂载到哪个目录了,然后用那个目录读写就是了。

我给你的是目前我们挂的,三星galaxy手机也是这样挂载的。
米尤人 2011-03-14
  • 打赏
  • 举报
回复
请有经验的朋友给予帮助。不胜感激!
freshui 2011-03-11
  • 打赏
  • 举报
回复
问下做这个的同事,给mount到哪去了。

我们做的时候,就mount成/sdcard
而真正的sdcard,则是/sdcard/sd0
米尤人 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 freshui 的回复:]

引用 8 楼 myyuren 的回复:
引用 7 楼 freshui 的回复:

internel Memory不能直接访问,这是系统用的。存放你应用程序信息的,这块的大小可以决定你能使用和安装多少应用程序

要访问存储空间就访问/sdcard,这个没有限制


internal Memory 是设备自带的4G的空间,而且是fat32格式的,公司为了节约成本不使用SD卡,希望把必……
[/Quote]
那读取它上面信息的路径应该是什么呢?

//fliePath = "/sdcard/IPR/";
private void getFileDir(String filePath) {
/* 设置目前所在路径 */
items = new ArrayList<String>();
paths = new ArrayList<String>();
sizes = new ArrayList<String>();
File f = new File(filePath);
File[] files = f.listFiles();
if (files != null) {
/* 将所有文件添加ArrayList中 */
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
if (files[i].getName().equalsIgnoreCase(("IPR_DOC"))) {
items.add("WORD文件夹");
} else if (files[i].getName().equalsIgnoreCase("IPR_TXT")) {
items.add("TXT文件夹");
} else if (files[i].getName().equalsIgnoreCase("IPR_PDF")) {
items.add("PDF文件夹");
} else {
items.add(files[i].getName());
}
paths.add(files[i].getPath());
sizes.add("");
} else if (files[i].isFile()) {
items.add(files[i].getName());
paths.add(files[i].getPath());
sizes.add(MyUtil.fileSizeMsg(files[i]));
}
}
if (!f.getName().equalsIgnoreCase("ipr")) {
items.add("返回");
paths.add(f.getParent());
sizes.add("");
}

}
/* 使用自定义的MyAdapter来将数据传入ListActivity */
setListAdapter(new FileListAdapter(this, items, paths, sizes, isZoom));
}
freshui 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 myyuren 的回复:]
引用 7 楼 freshui 的回复:

internel Memory不能直接访问,这是系统用的。存放你应用程序信息的,这块的大小可以决定你能使用和安装多少应用程序

要访问存储空间就访问/sdcard,这个没有限制


internal Memory 是设备自带的4G的空间,而且是fat32格式的,公司为了节约成本不使用SD卡,希望把必要信息放到设备自带的内存空间上。然后读取,还……
[/Quote]

这种情况,我们通常叫internal SD card或其他磁盘。 一般默认的internal memory指的是 /data分区大小
米尤人 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 freshui 的回复:]

internel Memory不能直接访问,这是系统用的。存放你应用程序信息的,这块的大小可以决定你能使用和安装多少应用程序

要访问存储空间就访问/sdcard,这个没有限制
[/Quote]

internal Memory 是设备自带的4G的空间,而且是fat32格式的,公司为了节约成本不使用SD卡,希望把必要信息放到设备自带的内存空间上。然后读取,还请帮忙。
freshui 2011-03-11
  • 打赏
  • 举报
回复
internel Memory不能直接访问,这是系统用的。存放你应用程序信息的,这块的大小可以决定你能使用和安装多少应用程序

要访问存储空间就访问/sdcard,这个没有限制
米尤人 2011-03-11
  • 打赏
  • 举报
回复
如何访问设备空间?
米尤人 2011-03-11
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 freshui 的回复:]

问下做这个的同事,给mount到哪去了。

我们做的时候,就mount成/sdcard
而真正的sdcard,则是/sdcard/sd0
[/Quote]
不太懂你说的。
米尤人 2011-03-10
  • 打赏
  • 举报
回复
疯了。怎么android 论坛的人这么少,这几天提的好几个问题,尽无一人回答。可该如何是好!
米尤人 2011-03-10
  • 打赏
  • 举报
回复
why do not answer my question ? there is anybody can help me /
West_Link 2011-03-10
  • 打赏
  • 举报
回复
可能是你提的问题不好回答吧,呵呵,这里还是初学者多啊

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧