android应用安装目录在哪,如何在安装Android应用程序时在内部存储上创建目录?...

我想有一个文件夹,我将把我需要的所有资源放在内部存储上。 因为我希望只创建一次这个目录,所以我发现我应该在应用程序的主要活动中创建它:

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); File directory = context.getDir("mydir", Context.MODE_PRIVATE); Log.d("directory", directory.getAbsolutePath().toString()); }

这似乎没关系,因为这是我能够在互联网上find的,但是我收到了大量的错误,我可以到目录路径的日志,应用程序无法启动。 知道为什么吗?

另外,如果我每次从Eclipse运行应用程序到手机时都使用内部存储器,它是否会自动删除前一个应用程序及其资源,或者我是手动执行此操作?

使用getCacheDir() 。 它返回文件系统上特定于应用程序的缓存目录的绝对路径。 然后,您可以创建您的目录

File myDir = new File(getCacheDir(), "folder"); myDir.mkdir();

首先,请务必阅读并了解您可用于应用程序的不同存储选项。 谷歌在这里有一篇非常好的文章:

Andy上面的答案提到了Environment.getExternalStorageDirectory()(API级别7)用于写入SD卡或类似卡,但是您应该记住,当用户卸载应用程序时,写入该位置的文件不会被删除。 文件说:

“应用程序不应直接使用此顶级目录,以避免污染用户的根命名空间”

相反,如果您将API级别8及更高版本作为目标,则应该使用Context.getExternalCacheDir()作为该位置中的文件,这将在卸载应用程序时被删除。 如果您确实希望文件在卸载后仍然存在,则应使用Context.getExternalFilesDir()。 还有getCacheDir()和getFilesDir()用于处理内部存储上的文件。

正如您对问题的评论中所提到的,您真的应该在这里发布错误,以便我们能够帮助您。

PS我是新来回答关于SO的问题所以我没有足够的代表发布我的答案中提到的所有function的链接,我似乎无法评论以前的post。

如果您想要存储在外部存储SD卡上,您需要拥有此function

在您的AndroidManifest.xml文件中

这也适用于存储:

File direct = new File(Environment.getExternalStorageDirectory()+"/folder"); if(!direct.exists()) { if(direct.mkdir()); //directory is created; }

File newfile = new File(Environment.getExternalStorageDirectory()+"/specifyfoldername","nestedfoldername"); direct.mkdir(); // it will create two folder in your internal storage first is specifyfoldername and another one inside the mentioned folder which is nestedfoldername }

我认为Blackbelt的答案很好,但不想将它存储在内部缓存中(它会被删除并写入我经常尝试制作的规格)所以我所做的是:

String path = "";

接着

if (path.isEmpty()) { File file = new File(this.getFilesDir(), "my_dir_identfiying_name/"); path = file.getAbsolutePath(); Log.d("PATH", path); }

Android studio在特定文件夹中下载video:

String path = Environment.getDataDirectory().getAbsolutePath().toString() + "/storage/emulated/0/appFolder"; File mFolder = new File(path); if (!mFolder.exists()) { mFolder.mkdir(); } File Directory = new File("/sdcard/kaizzan/"); Directory.mkdirs();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值