Mobile App for PyDelhi Conf 2017
- Make sure you have
pillow
installed.pip install pillow --user
- Paste/change the image in PyDelhiConf/tools/theming
- Change your directory to PyDelhiConf
- Run command
make theming
$ python pydelhiconf/main.py -m screen:droid2,portrait -m inspector
This command will aggregate all the png images in your file to one atlas from which the images are loaded.
- Install buildozer: pip install buildozer
- Edit the buildozer.spec to specify if you have android ndk and sdk, if not they will be automatically be downloaded by the next step.
- Connect your mobile, enable usb debugging, Then goto pydelhiconf
folder and type
make apk
Link to a existing vm that can be re-used will be added for convenience.
- Install XCode with latest updates & latest command line tools
- pip install buildozer
- goto the app folder and do
buildozer init
- edit the buildoze.spec and add details for ios
- run
buildozer ios debug
How to add a screen
Step 1: Create a new file, add the following Template for a clean Screen
'''Module XYZ:
This is the documentation for the Module that explains the
main usecase of this Module and details it's usage.
'''
from kivy.uix.screenmanager import Screen
from kivy.lang import Builder
class ScreenSponsor(Screen):
'''This is the documentation for the Screen that explains
the main usecase of this Screen and details it's usage.
'''
# Here we define the UI of this screen.
Builder.load_string('''
Take special note of the names::
The `name: ScreenSponsor`, in this same as the class name `class ScreenSponsor(...)`.
Step 2: Save the file as screensponsor.py
in the folder <PyDelhiConf/pydelhiconf/uix/screens>
. Take note to name the file same as the class name, in our case ScreenSponsor
in lowercase with .py appended at end.
That's it. Now to load this screen::
Button:
on_release:
app.load_screen('ScreenSponsor', manager=app.navigation_manager)
manager=
is a optional parameter, which specifies which ScreenManager
to load this screen in.
If it is omitted this screen will be loaded into the main Screen Manager Which is responsobile for loading StartupScreen
and NavigationScreen
.
*** Enjoy ***