首页 > 解决方案 > 有没有办法在我自己的 Android Studio 应用程序中使用 Geogebra Figures

问题描述

我正在为我的学生在 Android Studio 中编写一个数学学习应用程序。我想整合一些(交互式)Geogebra 图形,以便他们可以探索函数如何随不同参数变化。

有谁知道如何将这些数字集成到我的应用程序中。在 .xml 文件中需要做什么以及使这项工作正常进行的活动。

我感谢每一个想法 谢谢

标签: androidandroid-studiogeogebra

解决方案


解决了!

这是一个最小的工作示例:

创建一个新的 Android Studio 项目。在 Projekt 的 assets 文件夹中创建一个新文件,并将文件命名为 sample.html。打开 Geogebra 并制作一个图形、工作表或任何你喜欢的东西。如果您完成保存文件并与 Geogebra 共享。按 Ctrl+Shift+M。html 代码现在在您的剪贴板中。将其粘贴到您在资产文件夹中创建的 sample.html 文件中。

您的 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/web"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</RelativeLayout>

这是你的 MainActivity.java

package com.example.geogebratest;

import androidx.appcompat.app.AppCompatActivity;

import android.net.Uri;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import java.net.URL;

public class MainActivity extends AppCompatActivity {
    private WebView webView;
    public String url1, url2,url3, url4;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webView = (WebView) findViewById(R.id.web);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("file:///android_asset/sample.html");


        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setAllowContentAccess(false);
        
    }

    @Override
    public void onBackPressed() {
        if(webView.canGoBack()){
            webView.goBack();
        }else {
            super.onBackPressed();
        }
    }
}

这对我来说很好。干杯


推荐阅读