如何在turbolinks-android上加载web内容

时间:2017-12-31 04:39:50

标签: java android ruby-on-rails turbolinks-5 turbolinks-android

我有一个使用Ruby on Rails创建的Web应用程序并启用了Turbolinks 5但是目前,我需要制作一个由Basecamp实际设计的原生Android应用程序。

在他们的GitHub repository上逐步设置我正在按照这个步骤进行操作,因为这里(谷歌)对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;

所有内容与文档相同

感谢是否有任何帮助

由于

2 个答案:

答案 0 :(得分:0)

不确定您是否还在寻找答案。我对turbolinks-androidRails 5.2网络应用程序存在同样的问题。

问题是由最新Rails版本默认启用的content_security_policy引起的。我通过在config/initializers/content_security_policy.rb文件中注释掉内容来修复它。

对于未来的问题也是一个很好的提示 - 使用adb logcat命令通过USB连接设备。它会告诉你究竟是什么导致错误。

答案 1 :(得分:0)

他们的示例项目不再起作用。可能是因为其deprecated。但是他们在应用程序中使用了它,因此还没有死。示例项目的第一个问题是它需要2个额外的库才能使用:

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

此外,没有SSL的HTTP无法正常工作,因此您需要使用ngrok之类的东西来建立与HTTPS的连接。

您可以在Github

查看我的工作示例