Это мой код Kivymd, чтобы открыть файловый диспетчер Android, если я выберу файл, который он не отображается в выбранном файле, пожалуйста, помогите мне ...
Я хочу заменить mdfilemanager вместо этого, я хотел использовать файловый диспетчер Android < /p>
< /li>
Я есть Возможность открыть файловый диспетчер, когда я выбираю в файле, он не выбран < /p>
< /li>
< /ol>
, а также дает разрешение в Buldozer.spec Файл < /p>
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.app import App
KV = '''
BoxLayout:
orientation: 'vertical'
Button:
text: "Open File Manager"
on_release: app.open_file_manager()
Label:
id: file_label
text: "Selected File: None"
halign: 'center'
ScrollView:
Label:
id: file_content_label
text: ""
'''
class FileManagerApp(App):
file_label = ObjectProperty()
file_content_label = ObjectProperty()
def build(self):
return Builder.load_string(KV)
def open_file_manager(self):
from jnius import autoclass
PythonActivity = autoclass('org.kivy.android.PythonActivity')
Intent = autoclass('android.content.Intent')
activity = PythonActivity.mActivity
intent = Intent()
intent.setAction(Intent.ACTION_OPEN_DOCUMENT)
intent.setType("*/*")
activity.startActivityForResult(intent, 0)
def on_activity_result(self, requestCode, resultCode, data):
if resultCode == -1: # Activity.RESULT_OK
uri = data.getData()
selected_file_name = self.get_file_name_from_uri(uri)
self.root.ids.file_label.text = f"Selected File: {selected_file_name}"
try:
with open(uri.getPath(), 'rb') as file:
raw_data = file.read()
file_content = raw_data.decode('utf-8')
self.file_content_label.text = file_content
except Exception as e:
self.root.ids.file_content_label.text = f"Error reading file: {e}"
def get_file_name_from_uri(self, uri):
resolver = autoclass('android.content.ContentResolver')
resolver_instance = resolver(activity.getContentResolver())
cursor = resolver_instance.query(uri, None, None, None, None)
if cursor.moveToFirst():
column_index = cursor.getColumnIndex('_display_name')
return cursor.getString(column_index)
if __name__ == '__main__':
FileManagerApp().run()
< /code>
[во время отладки в Android Studio я получаю эту ошибку]
Это ошибка, которую я получаю в журнале Android Studio < /p>
Подробнее здесь: https://stackoverflow.com/questions/780 ... ing-kivymd
Не может выбрать файл в файловом диспетчере Android, используя Kivymd ⇐ Android
Форум для тех, кто программирует под Android
1739120266
Anonymous
[b] Это мой код Kivymd, чтобы открыть файловый диспетчер Android, если я выберу файл, который он не отображается в выбранном файле, пожалуйста, помогите мне ... [/b]
Я хочу заменить mdfilemanager вместо этого, я хотел использовать файловый диспетчер Android < /p>
< /li>
Я есть Возможность открыть файловый диспетчер, когда я выбираю в файле, он не выбран < /p>
< /li>
< /ol>
, а также дает разрешение в Buldozer.spec Файл < /p>
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivy.app import App
KV = '''
BoxLayout:
orientation: 'vertical'
Button:
text: "Open File Manager"
on_release: app.open_file_manager()
Label:
id: file_label
text: "Selected File: None"
halign: 'center'
ScrollView:
Label:
id: file_content_label
text: ""
'''
class FileManagerApp(App):
file_label = ObjectProperty()
file_content_label = ObjectProperty()
def build(self):
return Builder.load_string(KV)
def open_file_manager(self):
from jnius import autoclass
PythonActivity = autoclass('org.kivy.android.PythonActivity')
Intent = autoclass('android.content.Intent')
activity = PythonActivity.mActivity
intent = Intent()
intent.setAction(Intent.ACTION_OPEN_DOCUMENT)
intent.setType("*/*")
activity.startActivityForResult(intent, 0)
def on_activity_result(self, requestCode, resultCode, data):
if resultCode == -1: # Activity.RESULT_OK
uri = data.getData()
selected_file_name = self.get_file_name_from_uri(uri)
self.root.ids.file_label.text = f"Selected File: {selected_file_name}"
try:
with open(uri.getPath(), 'rb') as file:
raw_data = file.read()
file_content = raw_data.decode('utf-8')
self.file_content_label.text = file_content
except Exception as e:
self.root.ids.file_content_label.text = f"Error reading file: {e}"
def get_file_name_from_uri(self, uri):
resolver = autoclass('android.content.ContentResolver')
resolver_instance = resolver(activity.getContentResolver())
cursor = resolver_instance.query(uri, None, None, None, None)
if cursor.moveToFirst():
column_index = cursor.getColumnIndex('_display_name')
return cursor.getString(column_index)
if __name__ == '__main__':
FileManagerApp().run()
< /code>
[во время отладки в Android Studio я получаю эту ошибку]
Это ошибка, которую я получаю в журнале Android Studio < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/78006143/nor-able-to-select-file-in-android-file-manager-using-kivymd[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия