Sample Sidebar Module

This is a sample module published to the sidebar_top position, using the -sidebar module class suffix. There is also a sidebar_bottom position below the menu.

Sample Sidebar Module

This is a sample module published to the sidebar_bottom position, using the -sidebar module class suffix. There is also a sidebar_top position below the search.
برنامه نویسی

به پرونده های خاص برنامه دسترسی پیدا کنید

در بسیاری موارد ، برنامه شما پرونده هایی را ایجاد می کند که دیگر برنامه ها نیازی به دسترسی ندارند یا نباید به آنها دسترسی پیدا کنید. این سیستم مکانهای زیر را برای ذخیره چنین فایلهای اختصاصی برنامه فراهم می کند:

دایرکتوری های ذخیره سازی داخلی: این دایرکتوری ها شامل یک مکان اختصاصی برای ذخیره سازی فایل های مداوم و مکان دیگری برای ذخیره داده های حافظه پنهان است. سیستم از دسترسی سایر برنامه ها به این مکان ها جلوگیری می کند و در اندروید 10 (سطح API 29) و بالاتر این مکان ها رمزگذاری می شوند. این خصوصیات باعث می شود این مکان ها مکان مناسبی برای ذخیره داده های حساس باشند که فقط خود برنامه شما می تواند به آن دسترسی داشته باشد.

دایرکتوری های ذخیره سازی خارجی: این دایرکتوری ها شامل یک مکان اختصاصی برای ذخیره سازی فایل های مداوم و مکان دیگری برای ذخیره داده های حافظه پنهان است. اگرچه دسترسی به این فهرست ها در صورت داشتن مجوزهای مناسب برای برنامه های دیگر امکان پذیر است ، فایل های ذخیره شده در این فهرست ها فقط برای برنامه شما استفاده شده اند. اگر به طور خاص قصد ایجاد پرونده هایی را دارید که سایر برنامه ها باید به آنها دسترسی پیدا کنند ، برنامه شما باید به جای آن ، این پرونده ها را در قسمت مشترک ذخیره سازی خارجی ذخیره کند.

هنگامی که کاربر برنامه شما را حذف کرد ، پرونده های ذخیره شده در حافظه اختصاصی برنامه حذف می شوند. به دلیل این رفتار ، شما نباید از این حافظه استفاده کنید تا هر چیزی را که کاربر انتظار دارد به طور مستقل از برنامه شما بماند ، ذخیره کنید. به عنوان مثال ، اگر برنامه شما به کاربران امکان ضبط عکس می دهد ، کاربر انتظار دارد حتی پس از حذف برنامه شما به آن عکس ها دسترسی پیدا کند. بنابراین باید در عوض از حافظه مشترک استفاده کنید تا آن نوع فایلها را در مجموعه رسانه مناسب ذخیره کنید.

توجه: برای محافظت بیشتر از پرونده های خاص برنامه ، از کتابخانه امنیتی بخشی از Android Jetpack استفاده کنید تا این پرونده ها در حالت استراحت رمزگذاری شوند. کلید رمزگذاری مخصوص برنامه شما است.

دسترسی از حافظه داخلی

برای هر برنامه ، سیستم، دایرکتوری هایی را در حافظه داخلی ذخیره می کند که یک برنامه می تواند پرونده های خود را سازماندهی کند. یک فهرست برای پرونده های ماندگار برنامه شما طراحی شده است و دیگری حاوی پرونده های ذخیره شده برنامه شما است. برنامه شما به خواندن و نوشتن فایل های این دایرکتوری ها به مجوز سیستم احتیاج ندارد.

برنامه های دیگر نمی توانند به پرونده های ذخیره شده داخلی دسترسی داشته باشند. این باعث می شود حافظه داخلی مکان مناسبی برای داده های برنامه باشد که سایر برنامه ها نباید به آنها دسترسی داشته باشند.

البته به خاطر داشته باشید که این فهرستها کوچک هستند. قبل از نوشتن پرونده های خاص برنامه در حافظه داخلی ، برنامه شما باید فضای خالی دستگاه را پرس و جو کند.

به پرونده های مداوم دسترسی پیدا کنید

می توانید برای دسترسی و ذخیره فایل ها از API File استفاده کنید:

در زبان جاوا:

File file = new File(context.getFilesDir(), filename);

و در زبان کاتلین:

val file = File(context.filesDir, filename)

توجه: برای کمک به حفظ عملکرد برنامه ، چندین بار همان پرونده را باز و بسته نکنید.

یک فایل را با استفاده از یک جریان ذخیره کنید

به عنوان یک گزینه جایگزین برای استفاده از API File ، می توانید برای دریافت یک FileOutputStream که به پرونده ای در فهرست پرونده های Dir ارسال می شود ، با OpenFileOutput تماس بگیرید.

قطعه کد زیر نحوه نوشتن متن در یک پرونده را نشان می دهد:

در جاوا:

String filename = "myfile";
String fileContents = "Hello world!";
try (FileOutputStream fos = context.openFileOutput(filename, Context.MODE_PRIVATE)) {
    fos.write(fileContents.toByteArray());
}

در زبان کاتلین:

val filename = "myfile"
val fileContents = "Hello world!"
context.openFileOutput(filename, Context.MODE_PRIVATE).use {
        it.write(fileContents.toByteArray())
}

توجه: در دستگاههایی که Android 7.0 (سطح API 24) یا بالاتر را اجرا می کنند ، بدون اینکه حالت فایل Context.MODE_PRIVATE را وارد کنید ، یک SecurityException رخ می دهد.

برای اینکه سایر برنامه ها بتوانند به فایلهای ذخیره شده در این فهرست در حافظه داخلی دسترسی پیدا کنند ، از یک FileProvider با ویژگی FLAG_GRANT_READ_URI_PERMISSION استفاده کنید.

برنامه نویسی اندروید پرواز پاراگلایدر کوهنوردی

فرم ورود

فرم ثبت نام