无法使用主函数将上下文从主 activity 传递到非 activity

Unable to pass context from main activity to non-activity using main function

我有一个MainActivity class,我在其中实现了一个主要功能。这个main函数调用了一个非activity class通过传递上下文(无法实现)。在非 activity class 中,我想从 assets 文件夹访问一个文件(这需要一个上下文,因此传递一个)并在 LogCat 中打印它。这就是我正在尝试的方式

主要活动:

public class MainActivity extends AppCompatActivity
{

    public static void main(String[] args)
    {
        DiseaseAlgo(this).Parser();//Error. Unable to pass context
        return;
    }

    //etc
}

非活动 Class:

package com.iotaconcepts.aurum;
import android.content.Context;
import android.content.res.AssetManager;
import android.util.Log;

import java.io.FileReader;
import java.io.IOException;

public class DiseaseAlgo
{
    static Context mContext;
    public DiseaseAlgo(Context context)
    {
        mContext = context;
    }

    public static void Parser() throws IOException
    {
        AssetManager as=mContext.getAssets();
        String parse=as.open("symp.txt").toString();
        String[] xx=parse.split("\t");
        for(String i:xx)
            Log.w("DiseaseAlgo", i);
    }
}

我不知道如何传递上下文并从此函数调用 'DiseaseAlgo' 方法。我不断收到:

package name.MainActivity.this cannot be referenced from static content

我需要这个来检查我的文本解析的正确性,这是在 LogCat.

上显示它的唯一方法

问题是您正在使用静态函数中的单词 this。由于该函数是静态的,因此 class 可能有也可能没有实例。什么在调用该函数?

如果您的 activity 实例正在调用您的 Main(),则将其上下文 (this) 作为参数传递,以便静态函数可以访问它。

我猜 Main() 不是来自 android 的函数,对吧?通常在 main() 函数中你应该在传递它们之前初始化对象所以 this 没有意义,但我不认为 android 那样工作。