У меня есть огромная папка htm-файлов и один html-файл с href-ссылками на каждый из этих htm-файлов. Я хотел бы создать приложение для Android для личного пользования, чтобы упростить просмотр этих файлов на планшете.
Мне удалось загрузить основной html-файл в WebView в Android Studio, но нажатие на любой URL-адрес приводит к сбою, поэтому я не могу загрузить htm-файл через мой html-каталог.
Я не обладаю достаточным опытом в программировании Android, у меня есть только какой-то устаревший опыт создания веб-сайтов с тех времен, когда было достаточно html с некоторыми CSS, поэтому я стараюсь использовать свою интуицию. Я мог упустить что-то очень очевидное, но мне не удалось решить мою проблему.
Может быть, вы сможете мне помочь? Можно ли перенаправить между html-файлами через href в WebView? Или, может быть, есть простой способ обойти это? Кодирование каталога с нуля, к сожалению, не подлежит сомнению - существуют тысячи htm-файлов. Любые предложения приветствуются.
EDIT:
Мой код выглядит следующим образом:
MainActivity.java
package a.my.app4;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import java.nio.channels.WritableByteChannel;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webz=(WebView)findViewById(R.id.web1);
webz.loadUrl("file:///android_asset/index.html");
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:id="@+id/web1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="0dp" />
</RelativeLayout>
index.html - это просто огромный список ссылок href в разделе body. Он правильно загружается в WebView, даже простое форматирование из CSS-файлов корректно, но нажатие на ссылки приводит к сбою. Есть тысячи таких строк:
<a href="view-1.htm" title="file description">file title</a>
Я также пытался изменить его таким образом (что было бы проблематично с тысячами строк ...), но он тоже не работал:
<a href="file:///android_asset/view-1.htm" title="file description">file title</a>
Все файлы находятся в папке активов.