שיתוף | הצעה לאפליקציה/תוכנה חמודה להצגת אחוזי הסוללה
-
@לאצי לווינדוס.
נכתב באמצעות AI
לא לוקח אחריות על מה שיקרה למחשב
בהצלחה.
צריך להמתין כמה שניות עד שהוא עולה.
BBB.exe
קודfrom pystray import Icon from PIL import Image, ImageDraw, ImageFont import psutil import threading import time import os def create_image(emoji: str): img = Image.new('RGB', (64, 64), color=(255, 255, 255)) draw = ImageDraw.Draw(img) # מיקום וגודל האימוג'י try: font = ImageFont.truetype("seguiemj.ttf", 48) # Segoe UI Emoji except: font = ImageFont.load_default() draw.text((8, 5), emoji, font=font, fill="black") return img def get_emoji(): battery = psutil.sensors_battery() percent = battery.percent plugged = battery.power_plugged if plugged: return "⚡" elif percent > 80: return "🔋" elif percent > 50: return "🙂" elif percent > 20: return "😬" else: return "🪫" def update_icon(icon): while True: emoji = get_emoji() icon.icon = create_image(emoji) icon.title = f"{emoji} {psutil.sensors_battery().percent}%" time.sleep(30) def on_quit(icon, item): icon.stop() # יצירת תפריט ימין-קליק from pystray import Menu, MenuItem menu = Menu(MenuItem("Exit", on_quit)) # יצירת האייקון icon = Icon("Battery Emoji", icon=create_image(get_emoji()), title="טוען...", menu=menu) # עדכון ברקע thread = threading.Thread(target=update_icon, args=(icon,), daemon=True) thread.start() # הפעלת האייקון (נשאר פעיל) icon.run()
-
@מים-אחרונים האם אתה מתכנת? (כך שעברת על הקוד של הAI)
-
@חנוך-הכהן לא, כתבתי את זה.
ואם אתה מבין, אשמח לשמוע את חוות דעתך. -
@מים-אחרונים כתב בשיתוף | הצעה לאפליקציה/תוכנה חמודה להצגת אחוזי הסוללה:
@לאצי לווינדוס.
נכתב באמצעות AI
לא לוקח אחריות על מה שיקרה למחשב
בהצלחה.
צריך להמתין כמה שניות עד שהוא עולה.
BBB.exeמתחיל להיות משהו, אבל עדיין טעון שיפור.
האימוג'י שרואים בשורת המשימות הינו שחור לבן ואינו ברור דיו, ורק בריחוף עליו מופיע האחוזים כולל אימוג'י רגיל, יש לעשות שיופיע מיד בשורת המשימות ללא צורך בריחוף.
כמו"כ יש להשתמש עם אימוג'י יותר ברור/גדול. (ואם אפשר שיהיה אימוג'ים קצת יותר יפים כמו בתמונה... מלאי חן כאלה...) -
@מים-אחרונים אינני מבין בתכנות, אבל זה עושה לי את השגיאה הבאה:
-
אין לי מושג, אצלי זה עובד וגם אצל אחרים.
פשוט לנסות, אפשר גם לשחק עם הקוד.
@חנוך-הכהן -
פוסט זה נמחק!
-
@לאצי כתב בשיתוף | הצעה לאפליקציה/תוכנה חמודה להצגת אחוזי הסוללה:
אחרי שראיתי את התמונה הזאת:
חשבתי כזה לעצמי - למה באמת לא לעשות מזה משהו אמיתי שעל יד אחוזי הסוללה יראו כזה אימוג'י חמוד...
נשמע לכם? מי לוקח על עצמו את הפרויקט לאנדרואיד/ווינדוס? (ניתן לקחת גם רק אחד מהם... אני מרשה...)
לאנדרואיד זה מסובך יותר
אתה רוצה שזה יופיע בשורה למעלה או סתם ווידג׳ט? -
@מתושלח-הבבלי בשורה למעלה אפשרי?
-
@מתושלח-הבבלי כמובן שעדיף בשורה למעלה. אם זה לא אפשרי אז ניתן אולי לשים את זה בווילון ובנוסף לשים אפשרות לווידגט.
ובכל אופן מה שיש יהיה טוב.. -
@מתושלח-הבבלי אם אתה או מישהו אחר יודע לבנות אפליקציות לאנדרואיד - אז הנה משהו שAI נתן לי, אולי אפשר לעבוד עם זה
הנה קוד לאנדרואיד (Kotlin) שמציג את האימוג'י המתאים לאחוז הסוללה:import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.TextView class MainActivity : AppCompatActivity() { private lateinit var batteryStatus: TextView private val batteryReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { val level = intent?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) ?: -1 val scale = intent?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) ?: -1 val batteryPct = (level * 100 / scale.toFloat()).toInt() val emoji = getBatteryEmoji(batteryPct) batteryStatus.text = "$batteryPct% $emoji" } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) batteryStatus = findViewById(R.id.batteryStatus) } override fun onResume() { super.onResume() registerReceiver(batteryReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED)) } override fun onPause() { super.onPause() unregisterReceiver(batteryReceiver) } private fun getBatteryEmoji(percentage: Int): String { return when { percentage >= 90 -> "🤗" percentage >= 80 -> "😄" percentage >= 70 -> "😊" percentage >= 60 -> "😌" percentage >= 50 -> "🙂" percentage >= 40 -> "😑" percentage >= 30 -> "😐" percentage >= 20 -> "😞" percentage >= 10 -> "😒" else -> "😖" } } }
כדי להשתמש בקוד, צריך:
- להוסיף ל-layout (בקובץ
activity_main.xml
) TextView עם idbatteryStatus
:
<TextView android:id="@+id/batteryStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" android:layout_centerInParent="true"/>
- להוסיף הרשאות ב-AndroidManifest.xml:
<uses-permission android:name="android.permission.BATTERY_STATS"/>
הקוד עושה:
- שימוש ב-BroadcastReceiver כדי לעקוב אחר שינויים במצב הסוללה
- מחשב את אחוז הסוללה הנוכחי
- מציג את האחוז יחד עם האימוג'י המתאים לפי הטווחים שקבעת
- מעדכן אוטומטית את התצוגה בכל שינוי במצב הסוללה
האימוג'ים יוצגו עם עדכון מיידי בכל שינוי של אחוז הסוללה, והתצוגה תתחזק אוטומטית גם כשמטעינים את המכשיר או מנתקים מטען.
אם יש כאן מישהו שיודע לבנות אפליקציות לאנדרואיד - אשמח שיעשה את זה
- להוסיף ל-layout (בקובץ
-
@לאצי כתב בשיתוף | הצעה לאפליקציה/תוכנה חמודה להצגת אחוזי הסוללה:
@חנוך-הכהן אלו הם המובילים בקטגוריית מדריכים - בניית ופיתוח אפליקציות
@זונדל @איש-אמת אולי אתם תוכלו לסייע כאן בעניין (או שתפנו לאיש הנכון..)נו, באמת...
לפחות @צדיק-תמים @מישהו12 -
@חנוך-הכהן כתב בשיתוף | הצעה לאפליקציה/תוכנה חמודה להצגת אחוזי הסוללה:
@מתושלח-הבבלי אם אתה או מישהו אחר יודע לבנות אפליקציות לאנדרואיד - אז הנה משהו שAI נתן לי, אולי אפשר לעבוד עם זה
הנה קוד לאנדרואיד (Kotlin) שמציג את האימוג'י המתאים לאחוז הסוללה:import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter import android.os.BatteryManager import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.TextView class MainActivity : AppCompatActivity() { private lateinit var batteryStatus: TextView private val batteryReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { val level = intent?.getIntExtra(BatteryManager.EXTRA_LEVEL, -1) ?: -1 val scale = intent?.getIntExtra(BatteryManager.EXTRA_SCALE, -1) ?: -1 val batteryPct = (level * 100 / scale.toFloat()).toInt() val emoji = getBatteryEmoji(batteryPct) batteryStatus.text = "$batteryPct% $emoji" } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) batteryStatus = findViewById(R.id.batteryStatus) } override fun onResume() { super.onResume() registerReceiver(batteryReceiver, IntentFilter(Intent.ACTION_BATTERY_CHANGED)) } override fun onPause() { super.onPause() unregisterReceiver(batteryReceiver) } private fun getBatteryEmoji(percentage: Int): String { return when { percentage >= 90 -> "🤗" percentage >= 80 -> "😄" percentage >= 70 -> "😊" percentage >= 60 -> "😌" percentage >= 50 -> "🙂" percentage >= 40 -> "😑" percentage >= 30 -> "😐" percentage >= 20 -> "😞" percentage >= 10 -> "😒" else -> "😖" } } }
כדי להשתמש בקוד, צריך:
- להוסיף ל-layout (בקובץ
activity_main.xml
) TextView עם idbatteryStatus
:
<TextView android:id="@+id/batteryStatus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="24sp" android:layout_centerInParent="true"/>
- להוסיף הרשאות ב-AndroidManifest.xml:
<uses-permission android:name="android.permission.BATTERY_STATS"/>
הקוד עושה:
- שימוש ב-BroadcastReceiver כדי לעקוב אחר שינויים במצב הסוללה
- מחשב את אחוז הסוללה הנוכחי
- מציג את האחוז יחד עם האימוג'י המתאים לפי הטווחים שקבעת
- מעדכן אוטומטית את התצוגה בכל שינוי במצב הסוללה
האימוג'ים יוצגו עם עדכון מיידי בכל שינוי של אחוז הסוללה, והתצוגה תתחזק אוטומטית גם כשמטעינים את המכשיר או מנתקים מטען.
אם יש כאן מישהו שיודע לבנות אפליקציות לאנדרואיד - אשמח שיעשה את זה
הקוד הזה, בהנחה שהוא בכלל יעבוד, לא רלוונטי באמת. רק אם תכנס לאפליקציה זה יוצג לך במסך שלה. לא בסטטוס בר.
לעניינו;
אני עסוק מידי, וזה חתיכת פרוייקט, כרגע אין לי זמן לזה (בטח שאני לא מבין למה זה יעיל, ולא סתם גימיק חמוד). אבל בהצלחה למי שיעשה את זה - להוסיף ל-layout (בקובץ