Различия между Java и C# и [закрытой].NET

Ошибка очевидна. Вы используете Android Support Libraries в dependencies, но в layout вы пытаетесь использовать androidx.

Например:

Поддержка Android: Libray: com.android.support:appcompat-v7

AndroidX: androidx.appcompat:appcompat:1.0.0

[1118 ] Таким образом, у вас есть один из двух вариантов, либо продолжайте использовать Android Support Libraries, что означает, что вам нужно переименовать DrawerLayout в или обновить проект до AndroidX.

Чтобы сделать обновление, вы можете сделать это из Android Studio, выполнив Refactor -> Migrate to AndroidX.

Если вы решите использовать этот способ, следуйте предложениям, представленным Android Studio, он zip сделает ваш проект, а затем сделает обновление. Это означает, что вы всегда можете вернуться к своему проекту до AndroidX обновления.

Также есть вероятность, что не все вещи будут работать после обновления и, возможно, потребуется ручная настройка.

blockquote>

Или вручную: https://developer.android.com/jetpack/androidx/migrate

13
задан Richard 26 April 2009 в 16:56
поделиться

4 ответа

Самый важный бит в «в первую очередь предназначен для Windows».

Если вам только нужно работать в Windows, C #, вероятно, будет гораздо лучше чем Java. Существует лучшее разнообразие визуальных стилей, которые хорошо сочетаются с Windows. Это также облегчает взаимодействие с нативным кодом (например, битами Win32 API или COM-библиотеками) по сравнению с Java. Лично я предпочитаю его как язык, но это другой вопрос.

Если вам нужно работать на других платформах, я бы серьезно подумал о Java. В то время как Mono обладает довольно большой динамикой, он не обладает той же степенью совместимости с .NET, что и Java на различных платформах, которые он поддерживает.

В общем, взвесите «может потребоваться». очень осторожно - это движущий фактор в принятии решения, с моей точки зрения. После того, как вы решили сделать порт, не имеет большого значения, если 90% ваших клиентов работают на Windows - все равно нужно будет работать и работать хорошо, оставшиеся 10%.

16
ответ дан 1 December 2019 в 22:24
поделиться

Во-первых, будет ли ваш графический интерфейс хорошо выглядеть на окнах, будет больше зависеть от ваших навыков в дизайне графического интерфейса, чем от выбора языка или инструментария.

Windows Forms не делает ' Это действительно дает вам полный доступ к функциональности Windows GUI с использованием документированного API. Вам придется вызывать собственные функции API или, по крайней мере, использовать специфичные для Windows сообщения для достижения некоторых эффектов. Кроме того, я не думаю, что есть встроенный способ доступа к элементу управления ленты в стиле Office 2007. Для этого вам понадобится сторонний компонент.

Многие приложения .Net полагаются на сторонние наборы виджетов для достижения приятного внешнего вида графического интерфейса. Имейте в виду, что они часто полагаются на P / Invoke или другие специфичные для Windows функциональные возможности и, следовательно, не работают на моно. Так что, если вам действительно нужен кроссплатформенный графический интерфейс, .Net - не лучший выбор.

Вы также можете создавать графические интерфейсы .Net в Windows Presentation Foundation, но опять-таки это не поддерживается в моно.

GTK # хорошо работает в Unix и Windows, хотя в Windows выглядит немного менее естественным.

Java Swing очень кроссплатформенный и выглядит довольно хорошо с платформенным внешним видом. Вы можете скачать Netbeans, чтобы увидеть его в действии.

SWT - это альтернативный инструментарий для Java, который имеет немного меньшую кроссплатформенную совместимость, чем Swing, но тем не менее все еще популярен. Eclipse использует этот инструментарий, поэтому загрузите его, чтобы увидеть, как он используется.

Вы можете скачать Netbeans, чтобы увидеть его в действии.

SWT - это альтернативный инструментарий для Java, который имеет немного меньшую кроссплатформенную совместимость, чем Swing, но тем не менее все еще популярен. Eclipse использует этот инструментарий, поэтому загрузите его, чтобы увидеть, как он используется.

Вы можете скачать Netbeans, чтобы увидеть его в действии.

SWT - это альтернативный инструментарий для Java, который имеет немного меньшую кроссплатформенную совместимость, чем Swing, но тем не менее все еще популярен. Eclipse использует этот инструментарий, поэтому загрузите его, чтобы увидеть, как он используется.

4
ответ дан 1 December 2019 в 22:24
поделиться

Поскольку у вас есть опыт работы с C ++, вы можете использовать C ++ плюс Qt для GUI. Это хорошая кроссплатформенная библиотека графического интерфейса, и вы можете перекомпилировать код для работы в Windows, Mac и Linux с единообразным внешним видом.

Конечно, вы можете создавать с ним хорошие интерфейсы, но, возможно, не так круто, как интерфейс MS Office (Microsoft blend).

Вы можете рассмотреть это как вариант. http://www.qtsoftware.com/products/

Примеры http://www.qtsoftware.com/qt-in-use

2
ответ дан 1 December 2019 в 22:24
поделиться

Если приложение предназначено в основном для Windows - используйте .NET. Если вы серьезно относитесь к портированию позже - избегайте использования P / Invoke, функций .NET выше 2.0 и сторонних инструментов с богатым графическим интерфейсом (которые не работают в Mono) Существуют приятные и коммерческие кроссплатформенные приложения .NET, включая симпатичные http://www.codicesoftware.com/xpfront.aspx пластиковый пользовательский интерфейс scm http://www.plasticscm.com/screenshots/gui27/ визуальный / brexplorer04.png и многие другие - http://www.mono-project.com/Companies_Using_Mono

Также многие разработчики предпочитают VS IDE над Eclipse и C # над Java. Но если ваше приложение в основном Windows - я уверен, что лучше использовать .NET. ОСОБЕННО, если интеграция с графическим интерфейсом является главной задачей, потому что Java-приложения выглядят как собственные Windows по-прежнему болезненно. Под .NET есть много элементов управления для интерфейса ленты (в том числе родной). Попробуйте найти то же самое для Java с должным внешним видом, и вы поймете, что я имею в виду

С Mono (если вы будете соблюдать основные правила) большую часть времени у вас не будет проблем с переносом и встраиванием самого Mono в ваш применение.

0
ответ дан 1 December 2019 в 22:24
поделиться