Как загрузить веб-контент на turbolinks-android
У меня есть веб-приложение, созданное с использованием Ruby on Rails и включающее Turbolinks 5, но в настоящее время мне нужно создать собственное приложение для Android, которое на самом деле разработано Basecamp.
В их GitHub репозитории есть пошаговая настройка, я следую этим шагам, потому что здесь (Google) недостаточно помощи для turbolinks-android
основываясь на их учебнике, я настроен, но не загружаю какой-либо контент, как
#=> If I use Basecamp URL
private static final String BASE_URL = "https://basecamp.com";
Не меняя ничего, всегда показывая пустой экран
#=> My local project
private static final String BASE_URL = "http://localhost:3000";
Кроме того, ничего не меняется, показывая пустой экран
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.basecamp.turbolinks.TurbolinksView
android:id="@+id/turbolinks_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
MainActivity.java
import com.basecamp.turbolinks.TurbolinksSession;
import com.basecamp.turbolinks.TurbolinksAdapter;
import com.basecamp.turbolinks.TurbolinksView;
Все так же, как их документация
Ценю, если любая помощь
Спасибо
1 ответ
Не уверен, если вы все еще ищете ответ. У меня была точно такая же проблема с turbolinks-android
а также Rails 5.2
веб приложение.
Проблема была вызвана content_security_policy
который включен по умолчанию в новейших версиях Rails. Я исправил это, комментируя контент в config/initializers/content_security_policy.rb
файл.
Также хороший совет для будущих проблем - используйте adb logcat
Команда с устройством, подключенным через USB. Он покажет вам, что именно вызывает ошибку.
Их примерный проект больше не работает. Вероятно из-за того, что он устарел. Но они используют его в своем приложении, так что он еще не мертв. Первой проблемой примера проекта является необходимость использования двух дополнительных библиотек:
implementation 'com.basecamp:turbolinks:1.0.9' // Turbolinks
implementation 'com.google.code.gson:gson:2.8.2' // Important addition 1
implementation 'org.apache.commons:commons-lang3:3.1' // Important addition 2
Кроме того, HTTP без SSL не работает, поэтому вам нужно использовать что-то вроде ngrok для туннелирования вашего соединения с HTTPS.
Вы можете посмотреть мой рабочий пример на Github