1

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

在他们的GitHub 存储库上进行了分步设置,我正在按照这些步骤进行操作,因为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;

都与他们的文档相同

欣赏是否有帮助

谢谢

4

2 回答 2

0

Their example project is not working anymore. Probably because of its deprecated. But they use it in their application so it's not dead yet. Example project's first problem is it needs 2 additional libraries to use:

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

Also, HTTP without SSL isn't working so you need to use something like ngrok to tunnel your connection with HTTPS.

You can look at my working example at Github

于 2020-01-10T11:28:33.203 回答
0

不知道你是否还在寻找答案。turbolinks-android我对和Rails 5.2web 应用程序有完全相同的问题。

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

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

于 2018-01-18T15:16:35.953 回答