Это мой код 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 ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Не может выбрать файл в файловом диспетчере Android, используя Kivymd
Anonymous » » в форуме Android - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Загрузка файла в общую папку на файловом сервере в PHP с использованием REST API
Anonymous » » в форуме Php - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-