kivy.require('2.0.0')
, а в конфиге kivy==2.1.0
. Вас это не смущает?buildozer init
и ничего не меняя запустите сборку. Потом попробуйте запустить.buildozer -v android debug deploy run logcat
Гугль и доки вам в помощьif platform == 'android':
storage_path = '/sdcard/fittrackpro'
else:
storage_path = os.path.dirname(os.path.abspath(__file__))
storage_path = App.get_running_app().user_data_dir
Window.size = (360, 640)
if not os.path.exists(storage_path):
os.makedirs(storage_path)
if not os.path.exists(storage_path):
os.makedirs(storage_path, exist_ok=True)
(или вообще уберите, и так должно работать)try:
from android.permissions import request_permissions, Permission
if platform == 'android':
request_permissions([
Permission.WRITE_EXTERNAL_STORAGE,
Permission.READ_EXTERNAL_STORAGE,
Permission.INTERNET
])
except: pass
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import ObjectProperty, StringProperty
from kivy.lang.builder import Builder
Builder.load_file("Poput_ex.kv")
TXT = """Мы весёлые ребята,
наше имя — октябрята.
Мы не любим лишних слов.
— Будь готов! — Всегда готов.
Друг за другом станем рядом
и одним большим отрядом
скажем сотней голосов:
— Будь готов! — Всегда готов."""
class Controller(FloatLayout):
def __init__(self, **kwargs):
super(Controller, self).__init__(**kwargs)
class ControllerApp(App):
def build(self):
self.txt = 'some text'
return Controller()
if __name__ == '__main__':
ControllerApp().run()
#: import Factory kivy.factory.Factory
MyPopup@Popup:
auto_dismiss: False
title: "Мой Попуп"
BoxLayout:
orientation: 'vertical'
padding: 20
Button:
text: 'My status is: ' + self.state
#on_press:
Label:
id: my_custom_label
text: app.text
Button:
text: 'Close me!'
on_press: root.dismiss()
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.scrollview import ScrollView
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout
class MyButton(Button):
color=(0, 0, 0, 1)
valign='bottom'
padding_y=10
background_color=(.93, .91, .67, 1)
background_normal=''
class Box(BoxLayout):
orientation = "vertical"
padding = [5]
spacing = 10
def on_kv_post(self, widget):
self.add_widget(MyButton(text='И. С. Тургенев. «Отцы и дети»', on_press=self.btn_press))
def btn_press(self,instance):
self.clear_widgets()
sc = ScrollView(size_hint=(1, None))
x = 1
data = ''
while True:
if x == 1:
url = "http://loveread.ec/read_book.php?id=12021&p=1"
elif x < 57:
url = "http://loveread.ec/read_book.php?id=12021&p=" + f'{x}'
else:
break
request = requests.get(url)
soup = BeautifulSoup(request.text, "html.parser")
teme = soup.find_all("p", class_="MsoNormal")
for temes in teme:
data += temes.text
x = x + 1
sc.add_widget(Label(text=f'{data}'))
self.add_widget(sc)
class MyApp(App):
def build(self):
return Box()
<MyButton@Button>:
color: (0, 0, 0, 1),
halign: 'left',
valign: 'bottom',
padding_y: 10,
background_color: (.93, .91, .67, 1),
background_normal: ''
Screen:
MyButton:
text: 'Гончаров'
MyButton:
text: 'Достоевский'
from kivy.uix.button import Button
class MyButton(Button):
color=(0, 0, 0, 1)
valign='bottom'
padding_y=10
background_color=(.93, .91, .67, 1)
background_normal=''
bl.add_widget(MyButton(text='И. А. Гончаров. Обломов.'))
bl.add_widget(MyButton(text='Ф. М. Достоевский. Преступление и наказание.'))