Я занимаюсь разработкой приложения для Android и думаю, что его функциональность может быть полезна на других (работающих под Java) платформах (скажем, в обычном настольном приложении), хотя я надеюсь, что задействованы другие платформыне имеют значения для рассматриваемого вопроса).
Маловероятно, что пользовательский интерфейс каким-либо образом будет переносимым (слишком большая разница между хорошим сенсорным интерфейсом с 4-дюймовым экраном и мышью иклавиатура (19-дюймовый экранный интерфейс), так что я достаточно счастлив, что реализую это отдельно.
Однако основные классы «бизнес-логики» (тьфу, ужасное слово) и модели (хранилище данных) теоретически могут бытьповторно используется в управлении основным приложением.Я заметил, что я пишу не так много классов, которые не заканчивают ссылками на некоторые специфичные для Android биты (в качестве примера у меня есть файлы ресурсов XML, изображения и базы данных SQLite).По сути, все, что я написал до сих пор, имеет по крайней мере один импорт, связанный с Android.
Мой вопрос состоит из двух частей:
- Какие инструменты доступны, чтобы помочь мне использовать связанные с Androidклассы и функции (например, ресурсы, базы данных) на платформах, отличных от Android;и
- Какие классы, функции и т. д. платформы Android следует полностью избегать (ради простоты давайте исключим элементы, связанные с пользовательским интерфейсом) из-за непереносимости и что вместо этого следует использовать для улучшенияПортативность.
Ответы, которые состоят из "хахахаха, ты обречен", в порядке, если есть некоторые обоснования.
(PS Я бы сделал это сообщество вики, еслиэто все еще было доступно, мне кажется, это идеальный CW вопрос - список советов и инструментов по переносимости Android)