דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • 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. עזרה הדדית - בניית ופיתוח אפליקציות
  5. בקשת מידע | יצירת אירוע סטטי בהרחבה

בקשת מידע | יצירת אירוע סטטי בהרחבה

מתוזמן נעוץ נעול הועבר עזרה הדדית - בניית ופיתוח אפליקציות
8 פוסטים 2 כותבים 183 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • mefateachM מנותק
    mefateachM מנותק
    mefateach מדריכים
    כתב ב נערך לאחרונה על ידי
    #1

    שלום.
    (מקווה שכאן זה המקום...)
    אני מנסה ליצור אירוע.
    יצרתי מתודה סטטית (אני חייב שהיא תהיה סטטית כי אני קורא לה ממחלקה אחרת)
    וב

    EventDispatcher.dispatchEvent(this, "event name")

    אי-אפשר להכניס this כי זה מתודה סטטית, מה אני כותב שם?

    תודה!
    @אבי_770 @yzahn

    Life is learning

    J תגובה 1 תגובה אחרונה
    0
    • J מנותק
      J מנותק
      jacobel640
      השיב לmefateach ב נערך לאחרונה על ידי
      #2

      @mefateach אם אתה צריך מחלקה מסוימת אז תרשום פשוט את השם שלה (MainActivity activity) ואם אתה צריך קונטקסט פשוט בשביל פעולות מסוימות אז תעביר קונטקסט (Context context) (אם תפרט יותר את הסיטואציה או את הבעיה שאותה אתה מנסה לפתור זה יעזור יותר לאחרים לעזור לך)

      J תגובה 1 תגובה אחרונה
      2
      • J מנותק
        J מנותק
        jacobel640
        השיב לjacobel640 ב נערך לאחרונה על ידי
        #3

        @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

        אם אתה צריך מחלקה מסוימת אז תרשום פשוט את השם שלה (MainActivity activity)

        אני אסביר יותר (כמובן אני לא יודע על רמת הידע שלך בתכנות אבל אני אסביר ברמה הבסיסית) המילה this לא אומרת כלום אם אתה כותב אותה במתודה סטטית כי מתודה סטטית לא קשורה לשום קונטקסט היא פועלת בפני עצמה בלי קשר למחלקה שבה היא נמצאת והמילה this הכוונה לקרוא למחלקה שאתה נמצא בה כלומר: למשל אם אתה כותב this במחלקה MainActivity אז הthis הוא פועל בדיוק במקום המילה MainActivity - הפירוש של המילה הזאת היא קריאה למחלקה עצמה מתוכה ואי אפשר לקרוא למחקה עצמה מתוך מתודה סטטית כי מתודה סטטית היא כאילו לא נמצאת במחלקה

        mefateachM תגובה 1 תגובה אחרונה
        1
        • mefateachM מנותק
          mefateachM מנותק
          mefateach מדריכים
          השיב לjacobel640 ב נערך לאחרונה על ידי
          #4

          @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

          @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

          אם אתה צריך מחלקה מסוימת אז תרשום פשוט את השם שלה (MainActivity activity)

          אני אסביר יותר (כמובן אני לא יודע על רמת הידע שלך בתכנות אבל אני אסביר ברמה הבסיסית) המילה this לא אומרת כלום אם אתה כותב אותה במתודה סטטית כי מתודה סטטית לא קשורה לשום קונטקסט היא פועלת בפני עצמה בלי קשר למחלקה שבה היא נמצאת והמילה this הכוונה לקרוא למחלקה שאתה נמצא בה כלומר: למשל אם אתה כותב this במחלקה MainActivity אז הthis הוא פועל בדיוק במקום המילה MainActivity - הפירוש של המילה הזאת היא קריאה למחלקה עצמה מתוכה ואי אפשר לקרוא למחקה עצמה מתוך מתודה סטטית כי מתודה סטטית היא כאילו לא נמצאת במחלקה

          את זה ידעתי. הבעיה שאני לא מבין מה אני יכול לשים במקום.
          הנה הקוד המלא:

          package com.mordechay.mefateach.addtileinsystemui.addtilesystemui;
          
          import android.content.BroadcastReceiver;
          import android.content.Context;
          
          import android.content.Intent;
          import android.content.IntentFilter;
          import android.os.Build;
          import android.os.Bundle;
          import android.service.quicksettings.Tile;
          import android.service.quicksettings.TileService;
          
          import com.google.appinventor.components.annotations.*;
          import com.google.appinventor.components.runtime.AndroidNonvisibleComponent;
          import com.google.appinventor.components.runtime.Button;
          import com.google.appinventor.components.runtime.Component;
          import com.google.appinventor.components.runtime.ComponentContainer;
          
          import android.app.Activity;
          import android.widget.Toast;
          
          import androidx.core.view.KeyEventDispatcher;
          
          import com.google.appinventor.components.runtime.EventDispatcher;
          import com.google.appinventor.components.runtime.Form;
          import com.google.appinventor.components.runtime.HandlesEventDispatching;
          import com.google.appinventor.components.runtime.OnDestroyListener;
          
          public class AddTileSystemUI extends AndroidNonvisibleComponent {
            //Activity and Context
            private final Context context;
            private final Activity activity;
            private final Form form;
          
            public AddTileSystemUI(ComponentContainer container) {
              super(container.$form());
              this.form = container.$form();
              this.activity = form.$context();
              this.context = activity.getApplicationContext();
            }
          //
            @SimpleEvent(description = "")
            public static void onClicked() {
              EventDispatcher.dispatchEvent(this, "onClicked");
            }
          }
          

          Life is learning

          J תגובה 1 תגובה אחרונה
          1
          • J מנותק
            J מנותק
            jacobel640
            השיב לmefateach ב נערך לאחרונה על ידי
            #5

            @mefateach אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

            מה התכנון? (מה אתה מנסה לעשות)

            mefateachM תגובה 1 תגובה אחרונה
            1
            • mefateachM מנותק
              mefateachM מנותק
              mefateach מדריכים
              השיב לjacobel640 ב נערך לאחרונה על ידי mefateach
              #6

              @jacobel640 אני יסביר
              אני מנסה ליצור הרחבה לקודולר שמוסיפה לחצן לסאאוס בר, מצאתי קוד ב kotlin שעושה את זה, (ניסיתי לעשות את זה ב java ולא עבד)
              כדי ליצור את זה המחלקה חייבת extend (ירושה, לא ידעתי איך לנסח את זה 😊 ) ממחלקה TileService יצרתי את המחלקה עם כל מה שצריך, הבעיה היא שהתוסף של קודולר כדי ליצור אירוע חייב להיות extens ממחלקה AndroidNonvisibleComponent
              וחייב בתוך האירוע את זה:

                  EventDispatcher.dispatchEvent(this, "event name");
              

              אז יצרתי קריאה מהאירוע שבמחלקה kotlin שיקרא לפונקציה onClicked הבעיה שהמותודה חייבת להיות סטטית...

              נ.ב. מישהו הציע לי להשתמש ב BroadcastReceiver הבעיה שלא הבנתי איך עושים את זה

              (מקווה שהובנתי 😉 )

              Life is learning

              J תגובה 1 תגובה אחרונה
              0
              • J מנותק
                J מנותק
                jacobel640
                השיב לmefateach ב נערך לאחרונה על ידי jacobel640
                #7

                @mefateach וואו וואו א' אתה מנסה לעשות כמה דברים שסותרים אחד את השני אני לא יודע למה ומי אמר לך שהמתודה צריכה להיות סטטית וב' אין לי כ"כ מה להסביר כי אתה משתמש ב"קודולר" (אני מניח שזה איזושהי תוכנה בעלת ממשק גרפי לבניית אפליקציות) שזה ללא שימוש בקוד) ואין שום קשר בין הonClick לAddTileSystemUI ובפרט עכשיו שהיא מרחיבה בכלל AndroidNonvisibleComponent ולא TileService שזה שינה את תפקיד המחלקה לגמרי
                (סורי חשבתי שהשאלה שלך היא שאלה בתכנות אבל אתה בעצם מדבר על תוכנה לבניית אפליקציות שאני לא מכיר ואין לי איך להדריך אותך)

                mefateachM תגובה 1 תגובה אחרונה
                0
                • mefateachM מנותק
                  mefateachM מנותק
                  mefateach מדריכים
                  השיב לjacobel640 ב נערך לאחרונה על ידי
                  #8

                  @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

                  (סורי חשבתי שהשאלה שלך היא שאלה בתכנות אבל אתה בעצם מדבר על תוכנה לבניית אפליקציות שאני לא מכיר ואין לי איך להדריך אותך)

                  זה שאלה בתיכנות רק יש כמה דברים שבתיכנות רגיל לא חייבים ובזה כן (חייבים לירוש את המחלקה AndroidNonvisibleComponent ובשביל ליצור אירוע חייבים לכתוב @simpleEvents ו dispathEvent

                  @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

                  וואו וואו א' אתה מנסה לעשות כמה דברים שסותרים אחד את השני

                  מה🤔(אשמח שתחכים אותי, כנראה זה בגלל שכבר שנים לא התעסקתי עם java 😉 😄 )

                  @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

                  ני לא יודע למה ומי אמר לך שהמתודה צריכה להיות סטטית

                  תאמת שהחלטתי לבד, מה האפשרות האחרת?

                  @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

                  וב' אין לי כ"כ מה להסביר כי אתה משתמש ב"קודולר" (אני מניח שזה איזושהי תוכנה בעלת ממשק גרפי לבניית אפליקציות) שזה ללא שימוש בקוד) ו

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

                  @jacobel640 אמר בבקשת מידע | יצירת אירוע סטטי בהרחבה:

                  ואין שום קשר בין הonClick לAddTileSystemUI ובפרט עכשיו שהיא מרחיבה בכלל AndroidNonvisibleComponent ולא TileService שזה שינה את תפקיד המחלקה לגמרי

                  כמובן, אבל כפי שהסברתי אני מנסה להעביר את האירוע למחלקה AddSystemUI מהמחלקה השנייה שכתובה ב kotlin (שכמובן מרחיבה את tileService אני מנסה לקרוא לפונקציה onClicked מהפונקציה onClick וכך בעצם נוצר לי אירוע (יש אפשרות אחרת?)

                  Life is learning

                  תגובה 1 תגובה אחרונה
                  1
                  • mefateachM mefateach התייחס לנושא זה ב
                  • M Moshe2070 התייחס לנושא זה ב

                  • התחברות

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

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