דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. קטגוריות בהרצה
  3. תכנות
  4. Python
  5. עזרה הדדית - Python
  6. בקשת מידע | אני בונה אפליקציה לאנדרואיד עם פייתון

בקשת מידע | אני בונה אפליקציה לאנדרואיד עם פייתון

מתוזמן נעוץ נעול הועבר נפתר עזרה הדדית - Python
20 פוסטים 3 כותבים 114 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • R RearmostPant23

    @המלאך אני בונה את האפליקציה משתי סיבות

    1. כדי לתרגל את המיומנויות שלי בפייתון וכן הלוגיקה של תכנות בכללי, פייתון זה רק התחלה
    2. זה אפליקציה בשביל אמא שלי ולא להפצה

    אז הייתי שמח אם מישהו היה מוכן לעשות לי את האפליקציה שאני צריך, רק אני לא רוצה לשגע אף אחד כי היה לי הרבה בקשות תיקונים וניואנסים משלי ולא חשבתי שמישהו היה זמן וכח בשבילי, אם באמת יש לך או למישהו סבלנות בשבילי אני מאוד אשמח 😁 כבר יש לי כמה פונקציות עיקריות שאני כבר כתבתי.

    אז בהתחשב בסיבה הראשונה את מה היה הכי שימושי ללמוד?

    mefateachM מחובר
    mefateachM מחובר
    mefateach
    מדריכים
    כתב נערך לאחרונה על ידי mefateach
    #10

    @RearmostPant23 תלך על kivy לדעתי זה ממשק הכי דומה לאנדרואיד (סוג של חיקוי)

    Life is learning

    תגובה 1 תגובה אחרונה
    2
    • R RearmostPant23

      @המלאך אני בונה את האפליקציה משתי סיבות

      1. כדי לתרגל את המיומנויות שלי בפייתון וכן הלוגיקה של תכנות בכללי, פייתון זה רק התחלה
      2. זה אפליקציה בשביל אמא שלי ולא להפצה

      אז הייתי שמח אם מישהו היה מוכן לעשות לי את האפליקציה שאני צריך, רק אני לא רוצה לשגע אף אחד כי היה לי הרבה בקשות תיקונים וניואנסים משלי ולא חשבתי שמישהו היה זמן וכח בשבילי, אם באמת יש לך או למישהו סבלנות בשבילי אני מאוד אשמח 😁 כבר יש לי כמה פונקציות עיקריות שאני כבר כתבתי.

      אז בהתחשב בסיבה הראשונה את מה היה הכי שימושי ללמוד?

      ה מנותק
      ה מנותק
      המלאך
      כתב נערך לאחרונה על ידי
      #11

      @RearmostPant23 קיוי.
      אתה יכול לפתוח איתי צ'אט פרטי?

      R תגובה 1 תגובה אחרונה
      0
      • ה המלאך

        @RearmostPant23 קיוי.
        אתה יכול לפתוח איתי צ'אט פרטי?

        R מנותק
        R מנותק
        RearmostPant23
        כתב נערך לאחרונה על ידי RearmostPant23
        #12

        @המלאך המייל שלי נמצא בפרופיל, או שאתה רוצה בדרך אחרת, אני יכול דרך הצ׳אט אבל נראה שאין לך מספיק מוניטין

        ה תגובה 1 תגובה אחרונה
        0
        • R RearmostPant23

          @המלאך המייל שלי נמצא בפרופיל, או שאתה רוצה בדרך אחרת, אני יכול דרך הצ׳אט אבל נראה שאין לך מספיק מוניטין

          ה מנותק
          ה מנותק
          המלאך
          כתב נערך לאחרונה על ידי המלאך
          #13

          @RearmostPant23 לא במייל, אלא דרך האתר [העדפה אישית]..
          כמה מוניטין צריך?

          R תגובה 1 תגובה אחרונה
          0
          • ה המלאך

            @RearmostPant23 לא במייל, אלא דרך האתר [העדפה אישית]..
            כמה מוניטין צריך?

            R מנותק
            R מנותק
            RearmostPant23
            כתב נערך לאחרונה על ידי
            #14

            @המלאך עד כמה שזכול לי 50/70 לא זוכר בדיוק

            ה תגובה 1 תגובה אחרונה
            1
            • R RearmostPant23

              @המלאך עד כמה שזכול לי 50/70 לא זוכר בדיוק

              ה מנותק
              ה מנותק
              המלאך
              כתב נערך לאחרונה על ידי המלאך
              #15

              @RearmostPant23 יש לך עניין מיוחד להסתיר את הקוד?
              כי אם לא אולי אוכל לעזור לך כאן.

              R תגובה 1 תגובה אחרונה
              1
              • R RearmostPant23 סימן נושא זה כשאלה
              • R RearmostPant23 סימן נושא זה כנפתר
              • ה המלאך

                @RearmostPant23 יש לך עניין מיוחד להסתיר את הקוד?
                כי אם לא אולי אוכל לעזור לך כאן.

                R מנותק
                R מנותק
                RearmostPant23
                כתב נערך לאחרונה על ידי RearmostPant23
                #16

                @המלאך לא אין עניין.

                האפליקציה הזאת צריכה להיות מחשב הוצאת אוטומטי של סכום חודשי ושנתי, אני יחלק את החישוב של הסה"כ ככה.
                הס"כ של כל קטגוריה לדוגמא: בית | עבודה | וכל תת קטגוריה לדוגמא בתוך בית היה אוכל, בגדים, חינוך וכו'

                כמובן שאני רוצה גם ממשק ספציפי אבל את זה אני אפרט כבר לא עכשיו

                כמובן gpt קצת עזרה לי עם הכתיבה 😜
                סטרוקטורת האפליקציה
                b065023e-c6ca-44e5-817c-6ea20456cbb8-image.png
                זה הקובץ Functions

                import json
                import os
                from logic.dates import current_year, current_month_day
                
                
                class ExpenseLogic:
                    def __init__(self, file_name="expenses.json"):
                        self.data_dir = "data"
                        os.makedirs(self.data_dir, exist_ok=True)
                        self.file_path = os.path.join(self.data_dir, file_name)
                
                        self.expenses = {}
                        self.load_expenses()
                
                    def load_expenses(self):
                        if os.path.exists(self.file_path):
                            with open(self.file_path, "r", encoding="utf-8") as f:
                                self.expenses = json.load(f)
                
                    def save_expenses(self):
                        with open(self.file_path, "w", encoding="utf-8") as f:
                            json.dump(self.expenses, f, ensure_ascii=False, indent=4)
                
                    def ensure_path(self, year, expense_name, day_key, list_name):
                        # שנה
                        self.expenses.setdefault(year, {})
                        # קטגוריה
                        self.expenses[year].setdefault(expense_name, {})
                        # תאריך
                        self.expenses[year][expense_name].setdefault(day_key, {})
                        # list_name
                        self.expenses[year][expense_name][day_key].setdefault(
                            list_name, {"money": {}, "card": {}}
                        )
                
                    def create_expense(self, expense_name, list_name):
                        year = current_year()
                        day_key = current_month_day()
                
                        self.ensure_path(year, expense_name, day_key, list_name)
                        self.save_expenses()
                        return year, expense_name, day_key, list_name
                
                    def add_item(self, expense_name, list_name, item, amount, payment_type="money"):
                        year = current_year()
                        day_key = current_month_day()
                
                        self.ensure_path(year, expense_name, day_key, list_name)
                        self.expenses[year][expense_name][day_key][list_name][payment_type][item] = amount
                        self.save_expenses()
                        return year, day_key
                    
                    def total_for_month(self, year, month):
                        total = 0.0
                        for expense in self.expenses.get(year, {}).values():
                            for day, lists in expense.items():
                                if day.startswith(f"{month:02d}-"):
                                    for lst in lists.values():
                                        for pay in ("money", "card"):
                                            total += sum(map(float, lst[pay].values()))
                        return total
                
                

                זה הקובץ dates

                from datetime import date
                
                def current_year() -> str:
                    return str(date.today().year)
                
                def current_month_day() -> str:
                    today = date.today()
                    return f"{today.month:02d}-{today.day:02d}"
                
                

                אני להיום סיימתי לכתוב, אז אם יש לך משהא להוסיף\לתקן אני לא יעשה את זה עכשיו.
                כמובן אני יכול לעשות רפזטורי ולהעלות לגיטהב, רק אני עדיין לא יודע להשתמש בו כל כך..

                ה תגובה 1 תגובה אחרונה
                2
                • R RearmostPant23

                  @המלאך לא אין עניין.

                  האפליקציה הזאת צריכה להיות מחשב הוצאת אוטומטי של סכום חודשי ושנתי, אני יחלק את החישוב של הסה"כ ככה.
                  הס"כ של כל קטגוריה לדוגמא: בית | עבודה | וכל תת קטגוריה לדוגמא בתוך בית היה אוכל, בגדים, חינוך וכו'

                  כמובן שאני רוצה גם ממשק ספציפי אבל את זה אני אפרט כבר לא עכשיו

                  כמובן gpt קצת עזרה לי עם הכתיבה 😜
                  סטרוקטורת האפליקציה
                  b065023e-c6ca-44e5-817c-6ea20456cbb8-image.png
                  זה הקובץ Functions

                  import json
                  import os
                  from logic.dates import current_year, current_month_day
                  
                  
                  class ExpenseLogic:
                      def __init__(self, file_name="expenses.json"):
                          self.data_dir = "data"
                          os.makedirs(self.data_dir, exist_ok=True)
                          self.file_path = os.path.join(self.data_dir, file_name)
                  
                          self.expenses = {}
                          self.load_expenses()
                  
                      def load_expenses(self):
                          if os.path.exists(self.file_path):
                              with open(self.file_path, "r", encoding="utf-8") as f:
                                  self.expenses = json.load(f)
                  
                      def save_expenses(self):
                          with open(self.file_path, "w", encoding="utf-8") as f:
                              json.dump(self.expenses, f, ensure_ascii=False, indent=4)
                  
                      def ensure_path(self, year, expense_name, day_key, list_name):
                          # שנה
                          self.expenses.setdefault(year, {})
                          # קטגוריה
                          self.expenses[year].setdefault(expense_name, {})
                          # תאריך
                          self.expenses[year][expense_name].setdefault(day_key, {})
                          # list_name
                          self.expenses[year][expense_name][day_key].setdefault(
                              list_name, {"money": {}, "card": {}}
                          )
                  
                      def create_expense(self, expense_name, list_name):
                          year = current_year()
                          day_key = current_month_day()
                  
                          self.ensure_path(year, expense_name, day_key, list_name)
                          self.save_expenses()
                          return year, expense_name, day_key, list_name
                  
                      def add_item(self, expense_name, list_name, item, amount, payment_type="money"):
                          year = current_year()
                          day_key = current_month_day()
                  
                          self.ensure_path(year, expense_name, day_key, list_name)
                          self.expenses[year][expense_name][day_key][list_name][payment_type][item] = amount
                          self.save_expenses()
                          return year, day_key
                      
                      def total_for_month(self, year, month):
                          total = 0.0
                          for expense in self.expenses.get(year, {}).values():
                              for day, lists in expense.items():
                                  if day.startswith(f"{month:02d}-"):
                                      for lst in lists.values():
                                          for pay in ("money", "card"):
                                              total += sum(map(float, lst[pay].values()))
                          return total
                  
                  

                  זה הקובץ dates

                  from datetime import date
                  
                  def current_year() -> str:
                      return str(date.today().year)
                  
                  def current_month_day() -> str:
                      today = date.today()
                      return f"{today.month:02d}-{today.day:02d}"
                  
                  

                  אני להיום סיימתי לכתוב, אז אם יש לך משהא להוסיף\לתקן אני לא יעשה את זה עכשיו.
                  כמובן אני יכול לעשות רפזטורי ולהעלות לגיטהב, רק אני עדיין לא יודע להשתמש בו כל כך..

                  ה מנותק
                  ה מנותק
                  המלאך
                  כתב נערך לאחרונה על ידי
                  #17

                  @RearmostPant23 בעצם האפליקציה עושה חישוב הוצאות חודשי יומי ושנתי פשוט.
                  שלב ראשון בפונקציות זה לחשב את התאריך, שלב שני לייצר או להיכנס לרשימה קיימת של אותו יום ולהכניס לשם נתונים ושלב שלישי מתי שהוא ירצה המשתמש יוכל להשתמש במחשבון הבסיס כדי לחשב את סך כל ההוצאות.
                  אז כך יש לך 3 בעיות בקוד של הפונקציות [הקוד של הדאטה נקי].
                  1 אתה עשית את השנה כint וזה לא נכון - שנה היא str אלא אם אתה רוצה להמיר ולסרבל את הקוד שלך.
                  2 אתה עשית את הפונקציה של קבלת קלט של מזומן או אשראי [payment_type], אבל לא עשית לזה בדיקה. כלומר אם יהיה טעות הקלדה או שהמשתמש יכניס משהו לא נכון - המערכת תקרוס.
                  3 המשתנה amount - אין עליו בדיקה איזה קלט הוכנס לשם. ואם יוכנס ערך שגוי או לא הגיוני? - צריך לעשות שם בדיקת קלט.
                  עכשיו בנוגע לממשק משתמש - בהמשך היום אני אעלה אותו.
                  בהצלחה.

                  R תגובה 1 תגובה אחרונה
                  2
                  • ה המלאך

                    @RearmostPant23 בעצם האפליקציה עושה חישוב הוצאות חודשי יומי ושנתי פשוט.
                    שלב ראשון בפונקציות זה לחשב את התאריך, שלב שני לייצר או להיכנס לרשימה קיימת של אותו יום ולהכניס לשם נתונים ושלב שלישי מתי שהוא ירצה המשתמש יוכל להשתמש במחשבון הבסיס כדי לחשב את סך כל ההוצאות.
                    אז כך יש לך 3 בעיות בקוד של הפונקציות [הקוד של הדאטה נקי].
                    1 אתה עשית את השנה כint וזה לא נכון - שנה היא str אלא אם אתה רוצה להמיר ולסרבל את הקוד שלך.
                    2 אתה עשית את הפונקציה של קבלת קלט של מזומן או אשראי [payment_type], אבל לא עשית לזה בדיקה. כלומר אם יהיה טעות הקלדה או שהמשתמש יכניס משהו לא נכון - המערכת תקרוס.
                    3 המשתנה amount - אין עליו בדיקה איזה קלט הוכנס לשם. ואם יוכנס ערך שגוי או לא הגיוני? - צריך לעשות שם בדיקת קלט.
                    עכשיו בנוגע לממשק משתמש - בהמשך היום אני אעלה אותו.
                    בהצלחה.

                    R מנותק
                    R מנותק
                    RearmostPant23
                    כתב נערך לאחרונה על ידי
                    #18

                    @המלאך תודה רבא לך, הרעיון העיקרי שאני רוצה בממשק זה שאפשר רגע לפתוח את האפליקציה להכניס את ההוצאה ולסגור שזה היה מהר ונוח

                    ה תגובה 1 תגובה אחרונה
                    1
                    • R RearmostPant23

                      @המלאך תודה רבא לך, הרעיון העיקרי שאני רוצה בממשק זה שאפשר רגע לפתוח את האפליקציה להכניס את ההוצאה ולסגור שזה היה מהר ונוח

                      ה מנותק
                      ה מנותק
                      המלאך
                      כתב נערך לאחרונה על ידי
                      #19

                      @RearmostPant23 אז לאחר שעבדתי על זה כמה ימים הנה:
                      1 תוריד את פייתון 3.10 ל64 ביט, בהתקנה תסמן וי על האפשרות Add Python to PATH.
                      2 תוריד קווי. - תפתח פאאור שיל ותכתוב: pip install kivy.
                      3 זה המבנה קבצים שתעשה בו את הממשק - project/
                      │── main.py
                      │── ui.kv
                      .
                      4 הממשק של קיוי - BoxLayout:
                      orientation: "vertical"
                      padding: 20
                      spacing: 15

                      canvas.before:
                          Color:
                              rgb: 0.9, 1, 0.9
                          Rectangle:
                              size: self.size
                              pos: self.pos
                      
                      Label:
                          text: "הוספת הוצאה יומית"
                          font_size: 24
                          color: 0, 0.5, 0, 1
                      
                      TextInput:
                          id: item
                          hint_text: "שם ההוצאה"
                          multiline: False
                      
                      TextInput:
                          id: amount
                          hint_text: "סכום"
                          input_filter: "float"
                          multiline: False
                      
                      Button:
                          text: "שמור הוצאה"
                          background_color: 0, 0.7, 0, 1
                          on_press: app.save_expense()
                      
                      Label:
                          id: total_label
                          text: ""
                          font_size: 18
                          color: 0, 0.4, 0, 1
                      
                      Button:
                          text: "חשב סך חודשי"
                          background_color: 0, 0.6, 0, 1
                          on_press: app.calc_month()
                      

                      עשיתי לך את זה כירוק ברור ויפה.
                      5 הקוד שמחבר בין הממשק לאפליקציה - אותו תכניס לתיקיה של ה מאין -from kivy.app import App
                      from kivy.lang import Builder
                      from datetime import date

                      הלוגיקה שלו

                      from logic.expenses import ExpenseLogic

                      class ExpenseApp(App):
                      def build(self):
                      self.logic = ExpenseLogic()
                      return Builder.load_file("ui.kv")

                      def save_expense(self):
                          item = self.root.ids.item.text
                          amount = self.root.ids.amount.text
                      
                          if not item or not amount:
                              return
                      
                          self.logic.add_item(
                              expense_name="כללי",
                              list_name="יומי",
                              item=item,
                              amount=amount
                          )
                      
                          self.root.ids.item.text = ""
                          self.root.ids.amount.text = ""
                      
                      def calc_month(self):
                          today = date.today()
                          total = self.logic.total_for_month(
                              str(today.year),
                              today.month
                          )
                          self.root.ids.total_label.text = f"סך החודש: ₪ {total}"
                      

                      ExpenseApp().run()
                      .
                      זה אמור לעשות את העבודה,
                      עכשיו לפני שתריץ את זה תתקן את הדברים שאמרתי לך לפני זה לתקן.
                      אם יש בעיות או שאתה רוצה שינויים בממשק - רק תגיד.
                      נ. ב. אשמח שתעלה אחרי זה את האפליקציה לכאן [אני אעדיף לא בקובץ זיפ אבל אם אתה לא יודע איך אז גם קובץ זיפ טוב].
                      בהצלחה....

                      R תגובה 1 תגובה אחרונה
                      2
                      • ה המלאך

                        @RearmostPant23 אז לאחר שעבדתי על זה כמה ימים הנה:
                        1 תוריד את פייתון 3.10 ל64 ביט, בהתקנה תסמן וי על האפשרות Add Python to PATH.
                        2 תוריד קווי. - תפתח פאאור שיל ותכתוב: pip install kivy.
                        3 זה המבנה קבצים שתעשה בו את הממשק - project/
                        │── main.py
                        │── ui.kv
                        .
                        4 הממשק של קיוי - BoxLayout:
                        orientation: "vertical"
                        padding: 20
                        spacing: 15

                        canvas.before:
                            Color:
                                rgb: 0.9, 1, 0.9
                            Rectangle:
                                size: self.size
                                pos: self.pos
                        
                        Label:
                            text: "הוספת הוצאה יומית"
                            font_size: 24
                            color: 0, 0.5, 0, 1
                        
                        TextInput:
                            id: item
                            hint_text: "שם ההוצאה"
                            multiline: False
                        
                        TextInput:
                            id: amount
                            hint_text: "סכום"
                            input_filter: "float"
                            multiline: False
                        
                        Button:
                            text: "שמור הוצאה"
                            background_color: 0, 0.7, 0, 1
                            on_press: app.save_expense()
                        
                        Label:
                            id: total_label
                            text: ""
                            font_size: 18
                            color: 0, 0.4, 0, 1
                        
                        Button:
                            text: "חשב סך חודשי"
                            background_color: 0, 0.6, 0, 1
                            on_press: app.calc_month()
                        

                        עשיתי לך את זה כירוק ברור ויפה.
                        5 הקוד שמחבר בין הממשק לאפליקציה - אותו תכניס לתיקיה של ה מאין -from kivy.app import App
                        from kivy.lang import Builder
                        from datetime import date

                        הלוגיקה שלו

                        from logic.expenses import ExpenseLogic

                        class ExpenseApp(App):
                        def build(self):
                        self.logic = ExpenseLogic()
                        return Builder.load_file("ui.kv")

                        def save_expense(self):
                            item = self.root.ids.item.text
                            amount = self.root.ids.amount.text
                        
                            if not item or not amount:
                                return
                        
                            self.logic.add_item(
                                expense_name="כללי",
                                list_name="יומי",
                                item=item,
                                amount=amount
                            )
                        
                            self.root.ids.item.text = ""
                            self.root.ids.amount.text = ""
                        
                        def calc_month(self):
                            today = date.today()
                            total = self.logic.total_for_month(
                                str(today.year),
                                today.month
                            )
                            self.root.ids.total_label.text = f"סך החודש: ₪ {total}"
                        

                        ExpenseApp().run()
                        .
                        זה אמור לעשות את העבודה,
                        עכשיו לפני שתריץ את זה תתקן את הדברים שאמרתי לך לפני זה לתקן.
                        אם יש בעיות או שאתה רוצה שינויים בממשק - רק תגיד.
                        נ. ב. אשמח שתעלה אחרי זה את האפליקציה לכאן [אני אעדיף לא בקובץ זיפ אבל אם אתה לא יודע איך אז גם קובץ זיפ טוב].
                        בהצלחה....

                        R מנותק
                        R מנותק
                        RearmostPant23
                        כתב נערך לאחרונה על ידי RearmostPant23
                        #20

                        @המלאך מודה לך מאוד, בע"ה היה לי זמן ביום שישי.
                        אני יכול לעשות רפסטורי בגיטהב ונוכל לעבוד על האפליקציה ביחד, רק אתה תצתרך קצת להדריך אותי מדי פעם כי לא האמת יצא לי להשתמש בכיט, אני מכיר אותו רק בתיאוריה

                        תגובה 1 תגובה אחרונה
                        1

                        • התחברות

                        • אין לך חשבון עדיין? הרשמה

                        • התחברו או הירשמו כדי לחפש.
                        • פוסט ראשון
                          פוסט אחרון
                        0
                        • חוקי הפורום
                        • פופולרי
                        • לא נפתר
                        • משתמשים
                        • חיפוש גוגל בפורום
                        • צור קשר