שיתוף | אפליקציה התאמה אישית לבחירת רמת כשרות הגרסה - מתאים לכל מכשיר
-
שלום.
בעריכה!! (בהמשך אספק הדרכות להתאמה האפליקציה לשימוש ספיציפי)
למפתחי גרסאות היקרים ברצוני לבשר לכם בשורה משמחת.לאחר שהשקעתי הרבה מאוד בגרסה שלי (אגב ניתן לצרוב עדיין אצלי m8572998@gmail.com)
עיקר ההשקעה בוצעה על ההתאמה אישית שיהיה מובן ונוח למשתמש וכן מתקדם מבחינת הקוד כך שבקלות אוכל להוסיף מכשירים נוספים. עבדתי רבות על הקוד מקור כדי שיצא קריא ונוח וכמובן העיצוב עצמו של האפליקציה מושקע הן מבחינת עיצוב והן מבחינת נוחות.
לאחרונה יחסית יצאתי קצת מהתחום ואני כבר לא מפתח גרסאות חדשות וכיוון שכך רציתי לשתף אותכם בקוד מקור של האפליקציה כך שתוכלו לשפר לשנות ולהתאים לגרסה שלכם כדי שגם מי שפחות מתמצא בתכנות יוכל ליצור גרסה איכותית ומתקדמת, כמובן נדרש ידע בסיסי כדי לערוך את האפליקציה להתאים לצרכים הספציפיים.
כמובן האפליקציה לא חוסמת בפועל בלי שתשימו את הקבצים במקומות הנכונים, האפליקציה רק מבצעת את הפקודות שרשמתם בקוד, כרגע יש את פקודות שיצרתי בגרסה שלי וצריך לשנות אותם בהתאם לקבצים שלכם ולמיקום ששמרתם אותם.הנה הקישור לקוד מקור https://github.com/Mordechay0000/selectVersion (שימו כוכבב)
לא מומלץ לעשות fork אלא לעבוד על הריפו עצמו כי בהמשך העדכן את הריפו (וכן זה יקל עליכם להוסיף שדרוגים לקוד המיקורי).
תרומות לקוד יתקבלו בברכה.
בהצלחה לכולם אשמח לתגובות.קרדיט לא חובה:
The application was developed as open source by Mordechay Source code: https://github.com/Mordechay0000/selectVersion Contact: m8572998@gmail.com github: https://github.com/Mordechay0000
נ.ב. שימו-לב שה release לא מכיל את הגרסה הכי מעודכנת שנמצאת בקוד, והוא לא עובד בחלק מהמכשירים (מכשירם שיש רווח בשמם כמו f21 pro ו f22 pro) בקוד מקור זה תוקן.
-
(בעריכה)
נצלול לקוד
בעקרון זה מאוד פשוט אבל בכל זאת אני יסביר.
האפליקציה בפתיחה מקבלת את שם המכשיר (שמופיע ב buld.prop) אם האפליקציה קורסת בהפעלה ייתכן שהשם לא כתוב כמו שצריך יש לבדוק ביומן קריסות מה השם שהתקבל, תחתcom/mordechay/mefateach/selectversion/activities/SplashScreenActivity.java
זה הקובץ שמופעל כשהאפליקציה נפתחת זה גם מציג את האנימציה בפתיחה אבל זה גם ובעיקר מיועד כדי לבצע פעולות תוך כדי הצגת האנימציה הפעולה שהוא מבצע זה לבדוק את שם המכשיר (ושם החברה) שעל פי זה בהמשך יקבעו המשתנים שקובעים את התמונות להצגה את רשימת האפליקציות ואת הפקודות בפועל שיבוצעו (שבהרבה מהמקרים שונים בין מכשיר למכשיר)
הפונקציה הזאת מבצעת את בדיקה שם המכשיר וכן מבצעת החלפה של רווח בשם המכשיר ושם החברה לתו_
כיוון שבשמות משתנים לא ניתן לכתוב רווח
שורה 38'private void peעrformTimeConsumingTask() { try { DataTransfer.device = DeviceEnum.valueOf(Build.BRAND.toUpperCase() + "_" + Build.MODEL.toUpperCase().replace(" ", "_")); .... }
המשתנה נשמר ב DataTransfer זוהי מחלקה סטטית שמשמשת לשמירת נתונים שישמרו לאורך כל חיי הפעילות של האפליקציה (כגון שם המכשיר...) המחלקה נמצא כמובן ב
com/mordechay/mefateach/selectversion/data/
שם זו תיקייה שמכילה את כל מה שקושר לנתונים (שמירת משתנים וקבועים) כעט כל אקטיביטי שצריך לפעול בהתאם לשם המכשיר יקבל את הנתון מDataTransfer.device
שימו-לב שהמשתנה device הוא מסוג enum כדי שלא יקרה ששם המכשיר יהיה לא צפוי שם המכשיר חייב להיות אחד מערכי enum שנמצא באיך לאcom/mordechay/mefateach/selectversion/data/DeviceEnum
כמובן שבמידה ותרצו להוסיף מכשיר זה הדבר הראשון שתעשו לשים את שם המכשיר ב enum כמובן שהשם צריך להתאים במדויק לשם החברה של המכשיר + שם המכשיר בפורמט שמודר באפליקציה ניתן לראות את זה על פי שמות המכשירים הקיימים או לפי הקוד הזהDeviceEnum.valueOf(Build.BRAND.toUpperCase() + "_" + Build.MODEL.toUpperCase().replace(" ", "_"))
לאחר מכן המשתנים וכל הנתונים ישלפו מקובץcom/mordechay/mefateach/selectversion/data/Constants
זה מכיל את כל הקובעים של האפליקציה בין השאר תחילתו של הקובץ מכיל את זמן הפעלה המסך פתיחה (חשוב, ייתכן שבמכשירם עם מסכים בגדלים שונים תצטרכו לשנות את הזמן)
מתחת לזה יש את מצבי כל סוויטש שיכול להיות 5 מצבים (למרות שבפועל יש רק שניים פועל וכבוי )
יש מצב פועל, כבוי, מצב מושבת פועל, מושבת כבוי (משובת הכוונה שהוא יוצג באפור ולא יהיה ניתן לשנות את מצבו של הסוויטש) ויש גם מצב חמישי שזה מאוחר יותר זה אומר שהמשתמש יבחר יותר מאוחר האפשרות הזאת כרגע לא פעילה אבל ניתן לראות שבמסכים שהכנתי טיוטות (שגם נמצאים בקוד מקור) זה כן פעיל, המסכים בוטלו כיוון שהם לא כל כך שימישם כיוון שהאפליקציה לא מופעלת בהפעלה המכשיר בפעם הראשונה כך שלמשתמש אין צורך לדעת באפליקציה עד שהוא בוחר לחסום וכן העיצוב שלהם יותר מורכב ומפסיד זמן למי שרוצה לבחור מייד, כמובן ניתן להחזיר את המסכים האלו עם כמה עריכות...
לאחר מכן מספר של כל סוויטש של חסימה זה מספר שמיצג את כל רכיב בבחירות החסימה לא צריך לדעת בזה אלא אם כן אתם משנים את האפשרויות לחסימה ואם כן רצוי מאוד לעבור על כל הערכים להבין איך הם עובדים ואיך הם מסונכרנים עם המערכים (לא הרחיב על זה פה מי שיצטרך עזרה אפשר לפנות אלי בפרטי) -
מצפים בכיליון עיניים
-
@mefateach כתב בשיתוף | אפליקציה התאמה אישית לבחירת רמת כשרות הגרסה - מתאים לכל מכשיר:
The application was developed in open source by Mordechay
יותר מתאים לדעתי as open source.
ישר כוח! -