Как я могу загрузить файлы углового приложения в Xcode?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу загрузить файлы углового приложения в Xcode?

Сообщение Anonymous »

В настоящее время я работаю над приложением Angular (19), которое для потребностей компании должно быть создано как пользовательский элемент, и он должен работать с помощью мобильных приложений (как iOS, так и Android).
Я в настоящее время потерян, потому что мы продолжаем получать пустой экран с некоторыми ошибками синтаксиса (например, неожиданно {) на iOS, когда на Android, одно и то же приложение, может быть загружена без проблем. /> Я попробовал:
на Android, создайте пользовательский компонент с помощью '/arsets/' base href, загруженный в приложение и использовал WebViewAssetLoader для загрузки активов. Затем я ссылаюсь на все это через конкретный URL < /p>

Код: Выделить всё

package com.example.encrosstoolboxtestapplication;

import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;

import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.webkit.WebViewAssetLoader;
import androidx.webkit.WebViewClientCompat;

import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

private WebView testWebView;

final WebViewAssetLoader assetLoader = new WebViewAssetLoader.Builder()
.addPathHandler("/assets/", new WebViewAssetLoader.AssetsPathHandler(this))
.addPathHandler("/res/", new WebViewAssetLoader.ResourcesPathHandler(this))
.build();

@Override
protected void onSaveInstanceState(Bundle outState )
{
super.onSaveInstanceState(outState);
testWebView.saveState(outState);
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
testWebView.restoreState(savedInstanceState);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
testWebView=findViewById(R.id.webview);
testWebView.setWebViewClient(new LocalContentWebViewClient(assetLoader));
testWebView.getSettings().setJavaScriptEnabled(true);
testWebView.getSettings().setDomStorageEnabled(true);
if(savedInstanceState==null){
testWebView.loadUrl("https://appassets.androidplatform.net/assets/index.html");
}
}

public class testWebClient extends WebViewClient{
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon){
super.onPageStarted(view,url,favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
//view.loadUrl(url);
return false;
}
}
@Override
public void onBackPressed(){
if(testWebView.canGoBack()){
testWebView.goBack();
}
else{
super.onBackPressed();
}
}

private static class LocalContentWebViewClient extends WebViewClientCompat {

private final WebViewAssetLoader mAssetLoader;

LocalContentWebViewClient(WebViewAssetLoader assetLoader) {
mAssetLoader = assetLoader;
}

@Override
public WebResourceResponse shouldInterceptRequest(WebView view,
WebResourceRequest request) {
return mAssetLoader.shouldInterceptRequest(request.getUrl());
}

@Override
@SuppressWarnings("deprecation") // To support API < 21.
public WebResourceResponse shouldInterceptRequest(WebView view,
String url) {
return mAssetLoader.shouldInterceptRequest(Uri.parse(url));
}
}
}

на iOS: я попытался построить угловое приложение с базовым href '' 'и загрузить его с помощью WkwebView, однако я продолжаю получать пустой экран и не знаю, чего мне не хватает.


Подробнее здесь: https://stackoverflow.com/questions/796 ... into-xcode
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»