מדריך | בחירה מתוך הסייר ושמירה באפליקציה
-
שלום חודש טוב וחנוכה שמח
לאחרונה שמתי לב שהעסק כאן קצת התייבש, אז ב"ה הגיע בין הזמנים והנה יש לי קצת זמן..
במדריך הזה נלמד את האפשרות הבאה:
אם נרצה לבנות אפליקציה שמציגה קבצים או תמונות מסוימות של המשתמש או שומרת אותם בתיקייה מסוימת במקרה שאנחנו יודעים היכן הקבצים האלו נמצאים נוכל לקבע באפליקציה את הנתיב של אותם קבצים
אך אם אנחנו לא יודעים היכן אותם קבצים או שאנחנו רוצים לתת למשתמש שלנו לבחור את הקבצים שלו,
מה שנעשה זה ככה.דרך ראשונה - ללא הרחבה
נגרור את הרכיבים הבאים:
Activity Starter
כפתור (או כל דבר אחר לחיץ.)
נעבור לבלוקים..
שם ניקח את בלוק לחיצה על הכפתור
ונחבר לו את שלושת הבלוקים הבאים שניקח מתוך ה Activity Starter
שימו לב: סדר הבלוקים חשוב ואף נחוץ!
כעת להגדרה:
בהגדרות הבאים נגדיר את סוג האפליקציה שה Activity Starter יפעיל ואת סוג המידע שהוא ישאב מהאפליקציה שהופעלה
נחבר אותם בצורה כזאת:
בבלוק Action (בעברית צחה = פעולה) נגדיר את ה Action של סייר קבצים ( שימו לב: ניתן להגדיר כל סוג פעולה לעוד מידע חפשו בגוגל..)android.intent.action.GET_CONTENT
ובבלוק Data Type (בעברית צחה = סוג מידע) נגדיר את סוג המידע שאנחנו רוצים לקבל מהאפליקציה אחרי פתיחתה
כרגע נכניס שזה אומר ללא הגבלה על הסוג.כאן גם אני הסתבכתי קצת כי כשניסיתי להכניס פילטר ל pdf ככה pdf/plain או טקסט - text/plain כמו שמופיע במדריך כאן, הסייר שלי לא נתן לי לבחור שום קובץ לכן נכניס לו את הערך ללא פילטר כי אין לנו כוח להסתבך..כדי שתצא לנו התוצאה הבאה:
אחרי שהגדרנו את פתיחת הסייר קבצים נשאר לנו להגדיר מה נעשה אחרי שהמשתמש בחר את הקובץ
קודם כל נוסיף את הבלוק After
ומעכשיו הרשות נתונה לבחירתכם מה תעשו עם המידע שהתקבל
בדוגמה הזאת אנחנו לוקחים את הנתיב של הקובץ ומציגים אותו בתווית
בדוגמה הזאת אנחנו מציגים את שם הקובץ הנבחר בתווית
שימו לב: ישנם סיירי קבצים שאם בוחרים דרכם את הקובץ אז הנתיב מתקבל באפליקציה ככתובת URL וכדי להפוך את אותה כתובת לכתובת נתיב נצטרך להשתמש בממיר כתובות URL לנתיב
נוריד את ההרחבה הזאת ומתוכה נגרור את הבלוק ההמרה
ונחבר אותם בצורה כזאת
מכאן ניתן לדמיון שלכם להפתיע
בהצלחהדרך שניה - עם הרחבה
קרדיט ל @יצחק-א שהביא לי את ההרחבה
יש לציין שדרך זו יותר קלה
נוריד את ההרחבה yo.jewel.filepicker
שם יש לנו את הבלוקים הבאים
הבלוקים שבצד ימין הם בלוקים עבור בחירה מרובה של קבצים
והבלוקים בצד שמאל הם עבור בחירה של קובץ בודד
כל שאר הבלוקים הם פילטר לבחירה של המשתמש
מכאן זה פשוט אני מניח שתבינו לבד..
אה אגב באנדרואיד 11 יש להצהיר הרשאות אחסון במניפסט, אז בקשו קודם כל הרשאת קריאה..
בהצלחה