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

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו אתר
מחנה ידידיםמ

מחנה ידידים

@מחנה ידידים
הפסקת מעקב מעקב
אודות
פוסטים
17
נושאים
16
שיתופים
0
קבוצות
0
עוקבים
0
עוקב אחרי
0

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • רוצים שאני יתרגם לכם אפליקציה? כנסו!
    מחנה ידידיםמ מחנה ידידים
    אפליקציות ותוכנות

    @מטען-נייד כת"ר כותב משמאל לימין


  • שיתוף | Sketchwere pro מתורגם לעברית
    מחנה ידידיםמ מחנה ידידים
    קוד פתוח

    תורגם על ידי 🙂

    https://drive.google.com/file/d/1NNCkm2d2H7_kckn4zkumlnrrCN★★★★MKHzrk/view?usp=drivesdk

    תיאור:

    מה הוא יכול לעשות:

    ◦ ליצור, לערוך ולבנות אפליקציות אנדרואיד אמיתיות ישירות מהטלפון או הטאבלט

    ◦ לעצב את ממשק המשתמש (UI) בצורה חזותית באמצעות גרירה והשלכה (Drag and Drop) של רכיבים (כפתורים, תמונות, תפריטים)

    ◦ לתכנת את לוגיקת האפליקציה באמצעות חיבור "בלוקים" צבעוניים (Visual Programming) ללא צורך בכתיבת קוד ידנית

    ◦ לתרגם באופן אוטומטי את הבלוקים לקוד Java ו-XML תקני לחלוטין

    ◦ לקמפל ולייצר קובץ התקנה (APK) מוכן להרצה על המכשיר או לשיתוף

    ◦ להשתמש ברכיבי המכשיר כמו מצלמה, GPS, חיישנים ואחסון מקומי

    ◦ לייצא את קוד המקור (Source Code) להמשך עבודה ב-Android Studio במחשב

    ◦ לשתף ולקרוא פרויקטים מוכנים של משתמשים אחרים מתוך הקהילה

    דורש אנדרואיד: 8 ומעלה


  • מדריך | הפעלת המחווה לפתיחת מגירת האפליקציות במסך הבית!
    מחנה ידידיםמ מחנה ידידים
    מדריכים

    אחרי הרבה עבודה...

    המדריך באדיבות קלוד סונט 5

    צילומי מסך:

    3385ecd8-6500-4267-b4f1-3d00e4a00ab9-image.jpeg

    מדריך: הוספת מחווה לפתיחת מגירת האפליקציות ב-Launcher3QuickStep

    מדריך זה מתעד את השלבים המדויקים שביצעתי כדי לפתור בעיה נפוצה בבניות מבוססות
    Launcher3QuickStep (AOSP) על מכשירים עם מסך ביחס ממדים חריג (כמו Qin F21 Pro)
    כאשר החלקה למעלה במסך הבית לא פותחת את מגירת האפליקציות.


    שורש הבעיה

    ב-Launcher3QuickStep הסטנדרטי, המחווה של החלקה למעלה כדי לפתוח את המגירה
    מיושמת דרך מחלקה בשם PortraitStatesTouchController, שנרשמת בתוך
    QuickstepLauncher.createTouchControllers().

    הבעיה: הרישום הזה מותנה בבדיקה DeviceProfile.isVerticalBarLayout().
    במכשירים עם יחס ממדים חריג (מסכים קטנים/כמעט-מרובעים), הפונקציה הזו מחזירה
    true בטעות — מה שגורם לקוד לעבור לענף אחר (המיועד למכשירים עם hotseat
    אנכי, כמו טאבלטים/מכשירים מתקפלים), שבו PortraitStatesTouchController
    לא נרשם בכלל. התוצאה: אין שום דרך במגע לפתוח את המגירה.

    איך לזהות את זה בעצמכם ב-APK אחר

    # אחרי פירוק עם apktool:
    grep -n "createTouchControllers" smali_classes2/com/android/launcher3/uioverrides/QuickstepLauncher.smali
    

    חפשו בגוף המתודה הזו קריאה ל-DeviceProfile;->isVerticalBarLayout()Z — אם
    הענף שמוסיף PortraitStatesTouchController תלוי בבדיקה הזו, זו אותה בעיה.


    הפתרון שבחרתי

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

    כלים נדרשים

    • MT Manager

    מידע חשוב: המדריך דורש רוט עם הרשאות כתיבה

    שלב 1 — פתיחת ה-APK לעריכה

    1. במסך הקבצים של MT Manager, אתרו את ה-APK ולחצו עליו (לא לחיצה ארוכה) —
      ייפתח תפריט "פתח באמצעות".
    2. בחרו הצג.
    3. תיפתח תצוגת עץ שמראה את מבנה ה-APK כולל classes.dex,
      classes2.dex וכו', כל אחד ניתן לניווט עד רמת חבילות ה-Smali.
    4. נווטו לתוך classes2.dex (שם נמצא כל קוד ה-launcher עצמו ברוב הבניות) →
      com/android/launcher3/uioverrides/touchcontrollers/.

    שלב 2 — יצירת המחלקה החדשה

    בתוך התיקייה touchcontrollers/ שמצאתם, צרו קובץ Smali חדש (לחצו על הקובץ הראשון לחיצה ארוכה ובחרו "הוסף") בשם בדיוק:

    SimpleAppDrawerSwipeController.smali
    
    .class public Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;
    .super Ljava/lang/Object;
    .source "SimpleAppDrawerSwipeController.java"
    
    # interfaces
    .implements Lcom/android/launcher3/util/TouchController;
    
    
    # instance fields
    .field private mCanIntercept:Z
    
    .field private mDownX:F
    
    .field private mDownY:F
    
    .field private final mLauncher:Lcom/android/launcher3/Launcher;
    
    .field private final mSwipeSlop:F
    
    
    # direct methods
    .method public constructor <init>(Lcom/android/launcher3/Launcher;)V
        .locals 2
        .param p1, "launcher"    # Lcom/android/launcher3/Launcher;
    
        invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
        iput-object p1, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mLauncher:Lcom/android/launcher3/Launcher;
    
        invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
    
        move-result-object v0
    
        invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
    
        move-result v0
    
        mul-int/lit8 v0, v0, 0x4
    
        int-to-float v0, v0
    
        iput v0, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mSwipeSlop:F
    
        return-void
    .end method
    
    
    # virtual methods
    .method public onControllerInterceptTouchEvent(Landroid/view/MotionEvent;)Z
        .locals 6
        .param p1, "ev"    # Landroid/view/MotionEvent;
    
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionMasked()I
    
        move-result v0
    
        const/4 v1, 0x0
    
        if-nez v0, :cond_1
    
        iget-object v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mLauncher:Lcom/android/launcher3/Launcher;
    
        sget-object v3, Lcom/android/launcher3/LauncherState;->NORMAL:Lcom/android/launcher3/LauncherState;
    
        invoke-virtual {v2, v3}, Lcom/android/launcher3/Launcher;->isInState(Lcom/android/launcher3/statemanager/BaseState;)Z
    
        move-result v2
    
        iput-boolean v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mCanIntercept:Z
    
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
    
        move-result v2
    
        iput v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mDownX:F
    
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
    
        move-result v2
    
        iput v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mDownY:F
    
        return v1
    
        :cond_1
        iget-boolean v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mCanIntercept:Z
    
        if-nez v2, :cond_2
    
        return v1
    
        :cond_2
        const/4 v2, 0x2
    
        if-eq v0, v2, :cond_3
    
        return v1
    
        :cond_3
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getPointerCount()I
    
        move-result v2
    
        const/4 v3, 0x1
    
        if-eq v2, v3, :cond_4
    
        return v1
    
        :cond_4
        iget v2, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mDownY:F
    
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
    
        move-result v4
    
        sub-float/2addr v2, v4
    
        invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
    
        move-result v4
    
        iget v5, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mDownX:F
    
        sub-float/2addr v4, v5
    
        invoke-static {v4}, Ljava/lang/Math;->abs(F)F
    
        move-result v4
    
        iget v5, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mSwipeSlop:F
    
        cmpl-float v5, v2, v5
    
        if-lez v5, :cond_5
    
        cmpl-float v5, v2, v4
    
        if-lez v5, :cond_5
    
        iget-object v5, p0, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;->mLauncher:Lcom/android/launcher3/Launcher;
    
        invoke-virtual {v5}, Lcom/android/launcher3/Launcher;->getStateManager()Lcom/android/launcher3/statemanager/StateManager;
    
        move-result-object v5
    
        sget-object v0, Lcom/android/launcher3/LauncherState;->ALL_APPS:Lcom/android/launcher3/LauncherState;
    
        invoke-virtual {v5, v0}, Lcom/android/launcher3/statemanager/StateManager;->goToState(Lcom/android/launcher3/statemanager/BaseState;)V
    
        const/4 v0, 0x1
    
        return v0
    
        :cond_5
        return v1
    .end method
    
    .method public onControllerTouchEvent(Landroid/view/MotionEvent;)Z
        .locals 1
        .param p1, "ev"    # Landroid/view/MotionEvent;
    
        const/4 v0, 0x1
    
        return v0
    .end method
    

    איך זה עובד, בקצרה:

    • onControllerInterceptTouchEvent עוקב אחרי כל מגע: ב-ACTION_DOWN הוא בודק
      שהמסך במצב NORMAL (מסך הבית, לא במגירה/overview כבר) ושומר את נקודת
      ההתחלה.
    • ב-ACTION_MOVE, אם התזוזה האנכית כלפי מעלה עוברת סף (4 × touch-slop של המערכת) והיא דומיננטית יותר מהתזוזה האופקית (כלומר מחווה אנכית ולא גרירה
      בין מסכים) — הוא קורא ל-goToState(ALL_APPS) ומחזיר true, מה שגורם
      ל-DragLayer "לגנוב" את המגע משאר הרכיבים.
    • onControllerTouchEvent פשוט בולע את המשך המחווה כדי שלא יקרו תופעות לוואי
      בזמן שהמעבר למגירה כבר קורה.

    שלב 3 — רישום ה-controller

    חזרו תיקייה אחת אחורה (uioverrides/) ופתחו לעריכה את
    QuickstepLauncher.smali. חפשו בתוך הקובץ (יש חיפוש טקסט בעורך) את המתודה:

    .method public createTouchControllers()[Lcom/android/launcher3/util/TouchController;
    

    בתוך המתודה הזו, מיד אחרי השורה הראשונה שמוסיפה פריט ל-ArrayList (זו
    שמוסיפה את ה-DragController — תזהו אותה לפי getDragController() ממש
    מעליה), הוסיפו את שלוש השורות הבאות:

        invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    
        new-instance v3, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;
    
        invoke-direct {v3, p0}, Lcom/android/launcher3/uioverrides/touchcontrollers/SimpleAppDrawerSwipeController;-><init>(Lcom/android/launcher3/Launcher;)V
    
        invoke-virtual {v2, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    

    חשוב לפני שאתם מדביקים: v2 בקוד הזה הוא ה-register שמחזיק את
    ה-ArrayList<TouchController>, ו-v3 הוא register שחייב להיות פנוי
    לשימוש חוזר באותה נקודה — בדקו בעצמכם בקובץ שלכם (חפשו למעלה איפה v3
    משמש לאחרונה, ולמטה איפה הוא משמש הבא). אם v3 לא פנוי שם, או אם .locals
    בתחילת המתודה נמוך מדי בשביל ה-register שבחרתם — MT Manager יזרוק שגיאת קימפול Smali ברגע השמירה/יציאה מהעורך, ותצטרכו לבחור register אחר ואולי
    להעלות את מספר ה-.locals.

    שלב 4 — שמירה וקימפול

    צאו מעורך ה-Smali (בדרך כלל כפתור "שמור" או חץ אחורה) (לא לסמן את "חתימה אוטומטית"!)
    — MT Manager יקמפל
    אוטומטית את השינויים בחזרה ל-dex ברגע הזה. אם יש שגיאת תחביר Smali היא
    תופיע כאן; אם לא, ה-APK בתיקייה שערכתם כבר מעודכן.


    בהצלחה!

    לתגובות


  • שיתוף | סקריפט לטמפרמונקי להסתרת אפשרויות הפוסט כך שיוצגו רק בריחוף
    מחנה ידידיםמ מחנה ידידים
    תוספים לכרום

    תהנו

    // ==UserScript==
    // @name         NodeBB - Hide Post Options Until Hover
    // @namespace    http://tampermonkey.net/
    // @version      1.0
    // @description  מסתיר את אפשרויות הפוסט בפורומי NodeBB ומציג אותן רק בריחוף עכבר
    // @author       You
    // @match        https://mitmachim.top/*
    // @grant        GM_addStyle
    // @run-at       document-start
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        // קוד ה-CSS שמוזרק לדף
        const css = `
            @media (min-width: 992px) {
                /* הסתרת כפתורי הפעולה כברירת מחדל */
                .posts-list .post-row .actions,
                .topic .posts [component="post/actions"],
                .topic .posts .moderator-tools {
                    opacity: 0 !important;
                    visibility: hidden !important;
                    transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out !important;
                }
    
                /* הצגת הכפתורים בעת ריחוף מעל הפוסט */
                .posts-list .post-row:hover .actions,
                .topic .posts [component="post/content"]:hover [component="post/actions"],
                .topic .posts [component="post"]:hover [component="post/actions"],
                .topic .posts [component="post"]:hover .moderator-tools {
                    opacity: 1 !important;
                    visibility: visible !important;
                }
            }
        `;
    
        // הזרקת ה-CSS
        if (typeof GM_addStyle !== 'undefined') {
            GM_addStyle(css);
        } else {
            const style = document.createElement('style');
            style.type = 'text/css';
            style.innerHTML = css;
            document.head.appendChild(style);
        }
    })();
    

    התקנה מהירה


  • שיתוף | מסך הבית של qin f21 pro עם תאריך עברי ומגירת אפליקציות!
    מחנה ידידיםמ מחנה ידידים
    עזרה הדדית

    אין לקחת תשלום
    אין לשלב בגרסאות ללא אישור ממני

    תהנו

    Launcher3QuickStep.apk

    אזהרה:

    כמובן לשמור גיבוי של האפליקציה המקורית מהגרסה
    עדיפות לגבות גם את מחיצת הsuper.

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


  • שיתוף | סייר קבצים נחמד שפיתחתי עם קלוד
    מחנה ידידיםמ מחנה ידידים
    אפליקציות ותוכנות

    האפליקציה:

    FileExplorer.zip

    FileExplorer.apk

    תמונות:

    Screenshot_20260614-210837.png

    שתפו אם עובד אצלכם!


  • המלצה | אפליקציה לאריח סיבוב מסך!
    מחנה ידידיםמ מחנה ידידים
    עזרה הדדית

    בס"ד
    יצרתי אפליקציה שמוסיפה אריח סיבוב מסך להגדרות המהירות
    עובדת גם ללא רוט

    תמונות:

    Screenshot_20260930-133823.png

    תיאור קצר:

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

    הרשאות

    • שינוי הגדרות מערכת (WRITE_SETTINGS) : נדרשת כדי לכתוב את accelerometer_rotation ו-user_rotation. היא ניתנת ידנית דרך מסך מיוחד בהגדרות.
    • הצגה מעל אפליקציות אחרות (SYSTEM_ALERT_WINDOW) : נדרשת רק לגיבוי, כדי להציג חלון שקוף בגודל פיקסל אחד.
    • שירות מקדמה (FOREGROUND_SERVICE) : מחזיק את החלון השקוף חי, ומציג התראה שקטה עם כפתור "עצור".
    • הפעלה מחדש (RECEIVE_BOOT_COMPLETED) : משחזרת את חלון הגיבוי אחרי הפעלת המכשיר, אם הוא היה פעיל.

    האפליקציה לא משתמשת באינטרנט, במיקום, בקבצים או בנתונים אישיים.

    איך היא פועלת

    1. בחירה: בבחירת כיוון היא כותבת את הגדרות הסיבוב של המערכת (נועלת את הסיבוב ומגדירה כיוון).
    2. בדיקה: אחרי שנייה היא בודקת אם המסך באמת הסתובב.
    3. גיבוי: אם לא, היא מציגה חלון שקוף שמבקש מהמערכת את הכיוון, וזה עובד גם כשאפליקציה בחזית נועלת כיוון.
    4. מצב האריח: האריח דולק כשהכיוון נכפה, והכיוון הנוכחי מוצג מתחת לשם שלו.

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

    להורדת האפליקציה לחצו כאן

    RotateTile.apk


  • שיתוף | קלוד כבר יודע מה אני מתכנן...
    מחנה ידידיםמ מחנה ידידים
    בינה מלאכותית

    תגובה: בעיה | הצילו! קלוד עוקב אחרי!

    ביקשתי ממנו

    צור פרומפט ליצירת אפליקציה.
    האפליקציה היא מסך בית (launcher) מבוסס מקשים תואם גם למגע.
    תואמת לרזולוציית מסך 480x640.
    תואמת מאנדרואיד 4.4 עד אנדרואיד 14.
    האפליקציה צריכה להיות כתובה בקוטלין.
    # מסך הבית
    ימין המסך מעט מעל המרכז (שעון ותאריך):
    
    שעון דיגיטלי גדול: מציג את השעה המדויקת
    תחתיו קו מפריד.
    תאריך לועזי ויום: יום  x dd-mm-yyyy
    מתחתיו
    תאריך עברי: אני צריך פונקציה ב-Kotlin שמקבלת LocalDate ומחזירה תאריך עברי בפורמט טקסט מלא עם אותיות גימטריה (למשל: "ט"ו אלול תשפ"ו")
    
    מתחתיהם מרווח ואז: אם יש סים, סימון של כרטיס סים (png, לא אימוג'י)
    וכיתוב שם חברת התקשורת של הסים.
    אם אין, סמל דומה של כרטיס סים אבל עם עיגול קטן בצידו ובתוכו קו באלכסון
    וכיתוב "הכנס כרטיס סים"
    
    בתחתית המסך בצד ימין
    מעל כפתור החזרה 
    כיתוב "אנשי קשר". כפתור החזרה צריך להוביל לאנשי הקשר.
    בתחתית המסך בצד שמאל
    מעל כפתור Left Soft Key
    שהוא KeyEvent.KEYCODE_SOFT_LEFT -
    כיתוב "קיצורים".
    כפתור הבחירה השמאלי מוביל לאקטיביטי נוסף של:
    # דף קיצורים
    6 אייקונים במסך כמו בתמונה מס' 1
    בתחתית המסך בצד ימין כיתוב "אחורה" וכפתור החזרה חוזר אחורה.
    בתחתית המסך בצד שמאל כיתוב "אפשרויות" שפותח תפריט קטן כמו בתמונה מס' 2
    "נהל" בו אפשר לבחור אילו אפליקציות יופיעו בדף הקיצורים, כמו בתמונה מס' 3, וכפתור "סדר" בו ניתן לשלוט על מיקום האפליקציות בדף הקיצורים (איזו אפליקציה תופיע בכל מקום בדף הקיצורים) כמו בתמונה מס' 4.
    (התמונות יצורפו עם הפרומפט)
    
    בכפתור הבית, האמצעי, יהיה:
    # דף התפריט:
    
    כל האפליקציות המותקנות במכשיר בצורה של 9 במסך כולל גלילה אינסופית וירידת שורה על ידי מעבר מהאחרון בשורה ימינה או שמאלה בהתאמה.
    בתחתית המסך בצד ימין כיתוב "אחורה" וכפתור החזרה חוזר אחורה.
    בתחתית המסך בצד שמאל "אפשרויות" שפותח "נהל" ו "סדר" כמו בדף הקיצורים. בהצלחה!
    

    והוא אומר לעצמו:

    "המשתמש מעוניין ב-prompt (הנחיה) לבניית אפליקציה – ולא באפליקציה עצמה – בהתבסס על המפרט המפורט שסיפק בעברית; הדבר קשור לפרויקט המוכר שלו ב-qushcha.net העוסק בשינוי (modding) של משגר (launcher) בסגנון נוקיה. סביר להניח שה-prompt נועד לשימוש בכלי בינה מלאכותית אחר.

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

    אכתוב את התוכן בעברית, בצורה מובנית ומפורטת, ואכלול בו את הנושאים הבאים: תמיכה במקשים ובמסך מגע, רזולוציה, תאימות לגרסאות אנדרואיד, מימוש ב-Kotlin, רכיבי מסך הבית (שעון, תאריך, תאריך עברי, מצב SIM), קיצור דרך לאנשי קשר, מיפוי מקשים לקיצורי דרך ולדפי תפריט, ופריסת רשת (grid) לדף קיצורי הדרך הכוללת תפריט אפשרויות. מכיוון שלא צורפו תמונות להודעה למרות שהוזכרו, אציין הנחה זו בתוך ה-prompt.

    אצור את הקובץ ישירות בפורמט Markdown ולא באמצעות כלי ה-docx, שכן לא התבקש פורמט מסמך ספציפי ו-Markdown אינו נכלל ברשימת כלי היצירה הזמינים – וקל מספיק לבצע זאת ישירות באמצעות הפקודה create_file.

    למעשה, נראה כי הדבר עשוי להיות קשור לפרויקט מתמשך המערב את מכשיר ה-Qin F21 Pro ושינוי של משגר בסגנון נוקיה..."


  • שיתוף | לאונצ'ר תומך מקשים שיצרתי!
    מחנה ידידיםמ מחנה ידידים
    אפליקציות ותוכנות

    Screenshot_20260603-183552.png

    הגרסה הראשונית:

    nokia-launcher.apk

    גרסה עם הפונט של נוקיה:

    nokia-hebrew.apk

    לשיאומי מקשים:

    nokia-hebrew.apk


  • מדריך | בניית אפליקציה בקלוד (באתר ובאפליקציה)
    מחנה ידידיםמ מחנה ידידים
    קוד פתוח

    אז למי שלא ידע, קלוד יודע ליצור אפליקציות...

    ㅤ

    • שלב ראשון - נכנסים לכאן ופותחים חשבון חדש.

    לאחר מכן יפתח לכם המסך הראשי:
    ef2338bb-81ed-48d4-b5d9-537b2d3fb33f-image.jpeg

    אנחנו נבנה את האפליקציה בקוטלין.

    • ניצור פרומפט באמצעות כלי Ai כלשהו.
      חשוב: צריך שבפרומפט תהיה התייחסות לקבצים שנצרף, שמיועדים לבנייה. כדאי גם לבקש שיתן גם APK וגם קוד מקור.

    אלו הקבצים שצריך לצרף:

    • aapt2-8.2.0-10154469-linux.jar

    • r8lib.jar

    • trove4j.jar

    • android.jar

    • kotlin-stdlib-1.9.22.jar

    • קומפיילר קוטלין - בדרייב

    נצרף את הקבצים בלחיצה על כפתור ההוספה e8bd3522-0e32-47d9-9429-630793f0fbe1-image.jpeg

    • נדביק את הפרומפט ונשלח.

    עכשיו קלוד יעבוד, יתכן ויגמר הטוקנים באמצע - המתינו כמה שעות שיתמלא שוב ושלחו לו "Go on".
    בסוף הוא ייצא לכם קובץ APK חתום + קוד המקור בזיפ.

    ㅤ

    בהצלחה!


  • שיתוף | אפליקציית נגן מוזיקה שבניתי - מותאמת למקשים
    מחנה ידידיםמ מחנה ידידים
    אפליקציות ותוכנות

    האפליקציה:

    APK: MusicPlayer.apk
    ZIP: MusicPlayer.zip

    נ.ב. יתכן שלא מתאים לשיאומי מקשים כי הוא אנדרואיד נמוך

    תמונות:

    Screenshot_20260612-130250.png


  • המלצה | קלוד יודע ליצור אפליקציות!
    מחנה ידידיםמ מחנה ידידים
    בינה מלאכותית

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

    עובד גם בחינמי! נסו והיווכחו


  • שיתוף | תגובות ל מדריך | הפעלת המחווה לפתיחת מגירת האפליקציות במסך הבית!
    מחנה ידידיםמ מחנה ידידים
    עזרה הדדית

    תגובה: מדריך | הפעלת המחווה לפתיחת מגירת האפליקציות במסך הבית!

    כאן תוכלו להגיב.


  • שיתוף | אפליקציה להחלפת פרופילים בלחיצה על *!
    מחנה ידידיםמ מחנה ידידים
    אנדרואיד

    בס"ד
    יצרתי אפליקציה להחלפת פרופילים בלחיצה על *

    דורשת הרשאת נגישות והרשאת גישה למצב "נא לא להפריע".

    תמונות:

    Screenshot_20261001-002712.png

    תיאור:

    מחליף פרופילים: אפליקציה למכשירי כפתורים. לחיצה ארוכה על * מחליפה בין פרופילי צליל (שקט, רטט, רגיל, עם עוצמות צלצול ומדיה לכל פרופיל), ולחיצה ארוכה על # מציגה הודעה עם הפרופיל הנוכחי. אפשר להגדיר פרופילים, זמן לחיצה והודעה מותאמת.

    הרשאות (שתיים, ששתיהן נדרשות לאישור ידני בהגדרות):

    שירות נגישות: נדרש כדי לזהות לחיצה על * ו-# בכל מסך. הוא לא אוסף ולא שולח מידע, והאפליקציה לא מבקשת הרשאת אינטרנט בכלל. כברירת מחדל הוא לא מתערב בזמן הקלדת טקסט.
    נא לא להפריע: נדרש כדי לשנות מצב צלצול (שקט/רטט/רגיל). בלעדיו המעבר לפרופיל שקט לא יעבוד.

    הערה: שירות הנגישות רואה את הלחיצות על * ו-# בלבד לצורך הפעולה הזו. אם מפעילים "העבר * למערכת", רצפים כמו 7409c3cc-b7df-43f5-a4cb-a631069f6f42-image.jpeg ממשיכים לעבוד כרגיל.

    להורדה לחצו כאן:

    ProfileKeys_v1.3.apk

    ProfileKeys_v1.3.ap


  • שיתוף | לאונצ'ר פשוט דמוי מכשירי mocor os
    מחנה ידידיםמ מחנה ידידים
    אפליקציות ותוכנות

    לאונצ'ר עם מערכת דמוית מכשירי קיוליקס, פותח עבור לקוח שעבר מQ8 ל f21 pro.

    Screenshot_20260831-100907.png Screenshot_20260831-095751.png

    סקירה מאת קלוד:

    # Key Launcher — לאנצ'ר לניווט במקשים (עם תמיכה מלאה במגע)

    מה זה?

    Key Launcher הוא לאנצ'ר (מסך בית) לאנדרואיד שנבנה מהיסוד לשימוש נוח במקשים פיזיים — D-Pad, מקשי בחירה (Soft Left/Right), Back, מקש מרכזי — בדיוק כמו בפיצ'ר-פונים הישנים והטובים, אבל עם כל מה שאנדרואיד מודרני יודע לעשות. מגע נתמך באופן מלא כאפשרות משנית, אז זה עובד מצוין גם על מסך רגיל ללא מקשים.

    נכתב כולו ב-Kotlin, בלי שום תלות בספריות AndroidX/Jetpack — רק framework אנדרואיד טהור. תומך מ-Android 4.4 (KitKat) ועד Android 14.

    המסכים

    מסך הבית

    • שעון דיגיטלי גדול (עם הקו המפריד המלא), תאריך לועזי ותאריך עברי מלא (כולל גימטריה — "ט"ו אלול תשפ"ו" וכו')
    • סטטוס כרטיס סים (כולל תמיכה ב-Dual SIM)
    • מציג את הטפט האמיתי של המכשיר ברקע, כמו בכל לאנצ'ר
    • כל הטקסטים לבנים עם מסגרת שחורה — קריאים על כל טפט, בהיר או כהה

    דף קיצורים — רשת 3x2 של עד 6 אפליקציות נבחרות, עם כותרת פוקוס דינמית שמראה איזה אייקון ממוקד כרגע

    דף התפריט (App Drawer) — כל האפליקציות המותקנות, ברשת 3x3, עם גלילה מעגלית בין "עמודים"

    מסך "נהל" — בחירת אילו אפליקציות מופיעות בדף הקיצורים (עד 6), עם רשימה גוללת וצ'קבוקסים

    מסך "סדר" — סידור מחדש של האייקונים במנגנון "הרם-הזז-הנח" (Pick-up / Move / Drop), נשלט לגמרי דרך המקלדת

    עיצוב

    פלטת צבעים עקבית בכל האפליקציה — רקע שמנת חם (#F5EFE3), אייקונים בגרדיאנט כחול, הדגשות פוקוס כחולות ברורות, וטיפוגרפיה מותאמת עברית עם תמיכת RTL מלאה בכל מסך ומסך.

    תאימות טכנית

    • Kotlin, ללא AndroidX — framework אנדרואיד טהור בלבד
    • minSdk 19 (KitKat) עד targetSdk 34
    • טעינת אייקונים עם caching לביצועים טובים גם על מכשירים חלשים
    • תאריך עברי: android.icu.util.HebrewCalendar ב-API 24+, עם אלגוריתם ידני (Dershowitz-Reingold) לגרסאות ישנות יותר

    מצב נוכחי

    עדיין בפיתוח פעיל ובבדיקות על מכשיר אמיתי (כולל מכשיר היברידי מקשים+מגע) — יש עוד כמה דברים לחדד. שמח לקבל פידבק, דיווחי באגים, והצעות!

    האפליקציה להורדה:

    KeyLauncher-sign.apk

    אמור לתמוך בשיאומי מקשים
    @חייא-שיאומי


  • מדריך | הוספת שורה בהגדרות> אפ' והתראות של התראות חירום
    מחנה ידידיםמ מחנה ידידים
    מדריכים

    הכנסו באפליקציית ההגדרות דרך מנהל MT לres/xml/app_and_notification.xml

    והוסיפו את השורה הזו:

        <Preference
            android:title="התרעות חירום אלחוטיות"
            android:key="my_custom_emergency_alerts_key"
            android:summary="ניהול התראות במצבי חירום, איומים ובדיקות מערכת"
            android:order="15">
            <intent
                android:targetPackage="****"
                android:action="****"
                android:targetClass="****" />
        </Preference>
    

    החליפו את הכוכביות הראשונות בשם החבילה ואת השניות והשלישיות באקטיביטי של התפריט

    בדרך כלל שם החבילה הוא:

    com.mediatek.cellbroadcastreceiver.module
    

    והאקטיביטי:

     com.mediatek.cellbroadcastreceiver.module.CellBroadcastSettings
    

    ㅤ

    ㅤ

    אם תרצו שבאנגלית השורה תהיה באנגלית תצטרכו להוסיף סטרינג.

    הכנסו בMT לקובץ resources.arsc בעורך arsc. לחצו על השורה התחתונה, הכנסו לstring ושוב לstring. לחצו בתפריט הצדדי על "הוסף" והדביקו שם:

    emergency_alerts_title
    

    זכרו את מזהה הכניסה.
    לחצו על הסטרינג, בשורה "תוכן" הכניסו Wireless emergency Alerts.

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

    אותו הדבר לסטרינג הsummary. רק שלו קוראים

    emergency_alerts_summary
    

    והתוכן הוא ניהול התראות במצבי חירום, איומים ובדיקות מערכת
    ובאנגלית Emergency alerts management

    עכשיו שימו במקום הטקסט הקודם את זה:

        <Preference
            android:title="@string/emergency_alerts_title"
            android:key="my_custom_emergency_alerts_key"
            android:summary="@string/emergency_alerts_summary"
            android:order="15">
            <intent
                android:targetPackage="****"
                android:action="****"
                android:targetClass="****" />
        </Preference>
    
  • התחברות

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

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