
strings.xml שבתיקייה values, ולא כתובה ישירות ב-Layout. כך אפשר לרכז אותן ובהמשך לתרגם את האפליקציה.app_name, והיא משמשת בתגית label של האפליקציה בקובץ ה-Manifest. שינוי הערך שלה מעדכן את השם בכל מקום.string בשם welcome. ב-Layout במקום לכתוב טקסט ישיר כותבים הפניה אל @string/welcome.Show ישירות בלחצן, עומדים עליו ולוחצים Alt+Enter, בוחרים Extract String Resource ונותנים שם. המערכת מוסיפה אותו לקובץ ומחליפה את הטקסט בהפניה.setText את R.string.welcome. ה-TextView מוצא את המחרוזת בעצמו.getString(R.string.welcome) ומקבלים String שאפשר לעשות בו שימוש.strings נוספים, ובהתאם לשפת המכשיר ייכנסו לתוקף המחרוזות המתאימות. על כך יהיה שיעור נפרד. המרצה מדגיש שאין אפליקציה בלי מחרוזות, ולכן כדאי להחזיק אותן במקום אחד.הטקסט המלא של הדקות הראשונות בהרצאה «String Resource» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
סוג הריסורס הבא שאנחנו הולכים לראות זה הקובץ Strings שנמצא בתוך תיקיית values. המטרה של Strings זה להכיל את כל המחרוזות שאנחנו משתמשים איתם באפליקציית אנדרואיד. כל מחרוזת שהיא שמוגדרת ב-UI אנחנו רוצים להגדיר בקובץ ה-Strings.
המחרוזות היחידות שאנחנו לא נגדיר בקובץ ה-Strings הן כמובן מחרוזות שהמשתמש מכניס לנו, כי זה מחרוזת שהמשתמש בעצם יוזם אותה. לכל מחוזת אחרת שאני רוצה להציג על ה-UI, לייבלים, הודעות סטטיות וקבועות, כל מיני הינטים על תיבות טקסט, מה שכתוב בתוך התיבה שאומר למשתמש מה
אנחנו רוצים שהוא יכניס, הודעות קופצות, כל הדברים האלה אנחנו מגדירים רק בתוך קובץ סטרינגס והסיבות זה כל הסיבות שראינו לפני זה וגם שאם אנחנו רוצים לתרגם את כל האפליקציה בצורה פשוטה אז המכרוזות חייבות להיות מוגדרות בקובץ הסטרינגס כי אז ניתן ממש בצורה פשוטה
לבצע תרגום שלהם כך שכל האפליקציה תתמוך באילו שפות שאנחנו רוצים ובהמשך באמת נראה בסרטון נפרד איך אנחנו יכולים לבנות אפליקציה ולתרגם אותה לשפה אחרת כך שכתלות בשפה שמוגדרת במכשיר אנדרואיד אוטומטית המכרוזות האלה נכנסות לתוקף ומוצגות
אצל המשתמש. לצורך כך המכרוזות חייבות להיות בתוך קובץ ה-strings. אז בואו נראה איך עושים את זה. כבר כאן אנחנו רואים שיש לנו איזושהי מכרוזת אחת שנקראת up name, זה המפתח שלה והיא פשוט נקראת strings כי זה השם של הפרויקט שפתחתי.
כאשר אנחנו רוצים להשתמש איתה אנחנו משתמשים דרך המפתח הזה. אני משתמש במחרוזת הזאת אם אנחנו מסתכלים על ה-UI הזה אנחנו רואים שהמחרוזת מופיעה כאן וזה בעצם מוגדר בקובץ המניפסט בקובץ המניפסט יש לנו את הלייבל של האפליקציה שוב אנחנו רואים פה באפור את ההגדרה הזאת שאם אנחנו מקליקים עליה אנחנו רואים
שההגדרה נלקחת מה-resources מקובץ ה-strings וזה נקרא app name אנחנו יכולים כמובן לגשת ולתת איזה שם שאנחנו רוצים. לדוגמה, בואו ניתן לזה Strings Resource Example.
ניגש ונראה שהמחרוזת מתעדכנת כאן. בואו ניצור מחרוזת אחרת בעצמנו. בואו ניגש ונגדיר שיש לנו סטרינג שנקרא Welcome עבור איזושהי כותרת Welcome. כעת אנחנו יכולים לגשת לקובץ של ה-Layout שלנו, ובמקום לרשום את הטקסט as is, בצורה כזאת מה שאף פעם לא עושים אנחנו ניגשים לקובץ הסטרינג למפתח welcome ואוטומטית זה
מה שמוצע כאן. בואו נגדיר שזה נמצא כ-gravity ב-center horizontal כך שזה יהיה במרכז המסך ואנחנו יכולים לראות את זה פה מופיע. אנחנו יכולים לבצע בדיוק את אותו הדבר אבל בשיטה ההפוכה.
בואו נגדיר פה button match parent wrap content עם איזשהו טקסט שנקרא פשוט show וכעת אנחנו עומדים עליו אלט אנטר אקסטרקט סטרינג ריסורס והוא שואל אותנו איך אתם רוצים לקרוא לריסורס הזה בואו נקרא לו show ואוטומטית הוא מכניס לנו את זה לקובץ הסטרינג ואנחנו יכולים לגשת ולראות את זה כאן אם אנחנו רוצים להשתמש עם זה בעוד מקומות כמובן
שניתן בלי שום בעיה עם המזהה הזה עכשיו כיצד דרך הקוד אנחנו נכנסים לקובץ הסטרינגס ושואבים משם את המכרוזות. אז לצורך כך בואו נגדיר לעצמנו כאן איזשהו טקסט view, ראפ קונטנט, בואו נגדיר אפילו כאן, יש לנו גרוויטי סנטר אוריזונטל בכדי שהוא יהיה באמצע וניתן לו איזשהו ID,
טקסט view value. בואו ניגש לקוד של הג'אווה, נגדיר פה את המשתנה, נאתר אותו על ידי find view by ID. נחזור בחזרה ללחצן ונירשם לאירוע onclick ויש לנו פה את האירוע ואנחנו רוצים בקוד הג'אווה לאתר את ה-resource של ה-string שנמצא בקובץ strings.xml.
אז למעשה יש לנו שתי שיטות לעשות את זה. שיטה ראשונה אנחנו ניגשים ל-text view ו-value.set text ואנחנו רואים שset text מקבלת או שניתן איזה שהיא סטרינג, char sequence זה איזה שהוא סטרינג, או שניתן אינטג'ר וזה ה-resource ID. זאת אומרת, אם אנחנו פשוט נותנים r נקודה ופונים לקובץ
הסטרינג ואז מחפשים שם את המחרוזת הדרושה, לדוגמה בואו ניקח את המחרוזת welcome, אז אוטומטית הדבר הזה יוצג לנו בתיבת טקסט הזאת בטקסט view כאשר אנחנו נריץ את השורה הזאת.
בואו נריץ את האפליקציה ואנחנו רואים שהיא