Skip to content

Modular and dynamic screen-based Kivy mobile App template (lazy importing for faster loading), with global widget interface and custom json storage with encryption capabilities.

License

Notifications You must be signed in to change notification settings

erm3nda/Kivy-Dynamic-Screens-Template

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kivy-Dynamic-Screens-Template

Modular and dynamic screen-based Kivy mobile App template (lazy importing for faster loading), with global widget interface and custom json storage with encryption capabilities.

Features

  • Screens are loaded on the fly, with lazy imports - drastically improves startup time on mobile
  • Escape key (Back key on mobile) hook with screens history (every Screen() instance remembers previous screen automatically if there is no default "parent" screen defined; on escape\back ScreenManager will switch to the previous"parent" screen)
  • Global widget interface (WidgetInterface() class inherited by main App() class) provides global access from any point to self-registered widget (SelfRegister() class inherited by any widget class; self-registered widget needs unique 'gid' property, to properly register)
  • Custom modular json storage (AppJsonStorage() class, inherited by main App() class) provides storage with encryption/decryption capabilities; any widget/class can store it's own local settings or access global settings. On mobile storage is a file stored in app's home folder on sdcard.
  • Native android attachable/detachable WebView.

Credits

lazy importing greatly inspired by https://github.com/rafalo1333/KivyLazyloadingExample

About

Modular and dynamic screen-based Kivy mobile App template (lazy importing for faster loading), with global widget interface and custom json storage with encryption capabilities.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 75.8%
  • Ruby 24.2%