رفتن به مطلب

ارسال‌های توصیه شده

دریافت کتابخانه PersianFileManager


سلام خدمت دوستان. تو اندروید 11 دیگه کلاس فایل کلا منسوخ شده. و به علاوه این بعضی از پوشه ها(مثلا Android/data) هم دسترسی بهش محدود شده. با این کتابخونه میتونید به راحتی با استفاده از اینتنت و بدون هیچ دسترسی با فایلها تو اندروید 11 کار کنید. البته فعلا موارد مهم قرار گرفته در آینده انشالا کاملتر میشه.

سورس.(از کتابخونه Recycler هم استفاده شده جهت لیست کردن فایلها)

sample.zip


 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام،

اول از همه یک تشکر ویژه می کنم از آقای شاهپیری:53:

ببخشید من این کتابخونه رو دریافت کردم و به صورت زیر برای گرفتن دسترسی به پوشه Android/data از اون استفاده کردم:

Sub Globals
Dim pf As PersianFileManager
End sub

Sub Activity_Create(FirstTime As Boolean)
pf.Initialize("pf","Android/data")
pf.openDocument
End sub

sub Button1_click
	If pf.isPermissionGet Then
	File.WriteString(File.DirRootExternal&"/Android/data","test.txt","")
    Else
    ToastMessageShow("It is not permission",False)
	End If
End sub

هنگام کلیک روی Button1 و نوشتن فایل در پوشه Android/data ارور زیر میاد:

main$ResumableSub_Button1_Clickresume (java line: 584)
java.io.FileNotFoundException: /storage/emulated/0/Android/data/test.txt: open failed: EACCES (Permission denied)
	at libcore.io.IoBridge.open(IoBridge.java:492)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:236)
	at anywheresoftware.b4a.objects.streams.File.OpenOutput(File.java:449)
	at anywheresoftware.b4a.objects.streams.File.WriteString(File.java:264)
	at com.firsttouchgames.dls3.main$ResumableSub_Button1_Click.resume(main.java:584)
	at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:267)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:207)
	at anywheresoftware.b4a.BA.raiseEvent2(BA.java:197)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:193)
	at anywheresoftware.b4a.agraham.dialogs.InputDialog$FileDialog$2.onClick(InputDialog.java:2079)
	at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:188)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:246)
	at android.app.ActivityThread.main(ActivityThread.java:8512)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
	at libcore.io.Linux.open(Native Method)
	at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
	at libcore.io.BlockGuardOs.open(BlockGuardOs.java:254)
	at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
	at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8373)
	at libcore.io.IoBridge.open(IoBridge.java:478)
	... 16 more
--------- beginning of crash

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست غزیز تو اندروید 11 کلا دیگه با File نمیتونید کاری بکنید.باید از treeUri استفاده کنید. حتما داکیومنت گوگل رو بخونید که متوجه بشید چه تغییری صورت گرفته

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۵/۲۱ در ۱۵:۵۳، محمدرضا شاهپیری گفته است:

دوست غزیز تو اندروید 11 کلا دیگه با File نمیتونید کاری بکنید.باید از treeUri استفاده کنید. حتما داکیومنت گوگل رو بخونید که متوجه بشید چه تغییری صورت گرفته

خیلی ممنونم بابت پاسختون و ببخشید من اینقدر سوال می کنم:DD: چون باید به یکی از برنامه ها آپدیت بدم کارایی خودشو توی اندروید ۱۱ به خاطر همین محدودیت دسترسی به Android/Data از دست داده و کل اندروید یازدهیا اعتراض می کنن.

الان کپی یک فایل توی پوشه Android/Data در اندروید یازده امکان داره یا نه؟؟

و اگه امکان داره چطور با treeuri فایل رو کپی کنیم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 1 ماه بعد...

سلام و علیکم کتابخانه اندروید استودیو و جاوا ام قرار بدهید. 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 3 ماه بعد...

سلام.

آیا این کتابخونه جایگزین کتابخونه file شده؟

مثلا اگه من بخوام دیتابیسم رو توی حافظه گوشی کاربر کپی کنم باید از این کتابخونه استفاده کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۱/۱۰ در ۱۰:۵۴، batman۱۲۳ گفته است:

ممنون میشم جواب منو بدید

سلام ودرود. خیر جایگزین نشده. تو اندروید 11 به بالا کلاس file دیگه کارایی نداره. باید از scopestorage استفاده کنید. تو این کتابخونه متدهای اصلی مثل copy, delete هست و همچنین گرفتن treeUri

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۱/۱۰ در 16:02، محمدرضا شاهپیری گفته است:

سلام ودرود. خیر جایگزین نشده. تو اندروید 11 به بالا کلاس file دیگه کارایی نداره. باید از scopestorage استفاده کنید. تو این کتابخونه متدهای اصلی مثل copy, delete هست و همچنین گرفتن treeUri

سلام استاد

ای کاش درمورد متدهای این کتابخونه یه توضیحی میدادید

مثلا الان پارامتر ورودی fileModel توی متد copyFile چه طوری باید تعریف بشه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۱/۱۰ در 16:14، batman123 گفته است:

سلام استاد

ای کاش درمورد متدهای این کتابخونه یه توضیحی میدادید

مثلا الان پارامتر ورودی fileModel توی متد copyFile چه طوری باید تعریف بشه؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۱/۱۱ در 14:27، محمدرضا شاهپیری گفته است:

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

استاد استفاده شده این متد، من تازه دیدم

منتها الان مسیرش رو چه طوری باید تعیین کرد مثلا من میخوام از پوشه files بیسیک فایل کپی کنم توی حافظه داخلی.

این کارو چه طوری باید انجام بدم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱۴۰۰/۱۱/۱۱ در ۱۵:۲۶، batman۱۲۳ گفته است:

استاد استفاده شده این متد، من تازه دیدم

منتها الان مسیرش رو چه طوری باید تعیین کرد مثلا من میخوام از پوشه files بیسیک فایل کپی کنم توی حافظه داخلی.

این کارو چه طوری باید انجام بدم؟

شما در صورتی میتونید توی یه مسیر فایل ایجاد کنید که دسترسی نوشتن تو اون مسیر رو گرفته باشید. تو کتابخونه امکان گرفتن دسترسی هست. اول دسترسی رو بگیرید و بعد کپی کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خب استاد چه طوری  باید انجام بدم؟

یعنی پارامترهای ورودی copyfile چه طوری باید تعیین بشن؟

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

در ۱۴۰۰/۱۱/۱۲ در 00:17، محمدرضا شاهپیری گفته است:

شما در صورتی میتونید توی یه مسیر فایل ایجاد کنید که دسترسی نوشتن تو اون مسیر رو گرفته باشید. تو کتابخونه امکان گرفتن دسترسی هست. اول دسترسی رو بگیرید و بعد کپی کنید.

خب استاد چه طوری  باید انجام بدم؟

یعنی پارامترهای ورودی copyfile چه طوری باید تعیین بشن؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شما زمانی که دسترسی رو میگیرید یه لیست بهتون برگردونده میشه که از نوع fileModel هست. و نکته دیگه اینکه متد کپی فقط فایل رو توی پوشه Documents کپی میکنه و امکان کپی به سایر پوشه ها نیست تو کتابخونه. به هر حال برای کپی فایل از محل دلخواه به پوشه داکیومنت به صورت زیر عمل کنید.

filemgr.copyFile(fileModel,"folder","filename.mp4")

دو تا ورودی دوم رو دیگه با توجه به نیاز خودتون جایگزین کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 هفته بعد...
  • 8 ماه بعد...

با این فایل هارو میشه به داخل یکی از پوشه های موجود در data کپی کرد؟ بدون ریسایکلر ویو و اتوماتیک؟

به طور پیش‌فرض‌ داخل پوشه داکیومنت کپی میشه! این محدودیت خود اندرویده یا کتابخونه اینطوری پیاده شده؟!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 ماه بعد...

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
  • اضافه کردن...