android studio应用程序无法运行单独的类

问题描述 投票:0回答:1

我正在编写一个android工作室应用程序我的代码吼叫是我创建的类,如果我从MainActivity类运行代码它完美地工作但分离到它自己的类它崩溃应用程序我认为这是由于我不明白如何使用android studio中的类可以解释我做错了什么

这是有问题的课程

package edu.bsu.cs222.teamc_cardinal_calorie_counter;

import android.app.Application;

import java.io.IOException;
import java.io.InputStream;

/**
 * Created by Benaiah on 3/6/2018.
 */

public class FileData extends Application {
    public String openFile(){
        String text = "sumthing went wrong";
        InputStream inputStream;
        try {
            inputStream = getAssets().open("boarshead.txt");
            int size = inputStream.available();
            byte[] buffer = new byte[size];
            inputStream.read(buffer);
            inputStream.close();
            text = new String(buffer);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return text;
    }
}

这是调用它的MainActivity类

package edu.bsu.cs222.teamc_cardinal_calorie_counter;

import android.content.res.AssetManager;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.io.IOException;
import java.io.InputStream;

public class MainActivity extends AppCompatActivity {

    Button button;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        button = findViewById(R.id.button);
        textView = findViewById(R.id.read);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                FileData fileData = new FileData();
                textView.setText(fileData.openFile());
            }
        });
    }

}

任何帮助表示赞赏。

android-studio
1个回答
0
投票

您必须在MainActivity中导入FileData并将openFile方法作为静态方法。

© www.soinside.com 2019 - 2024. All rights reserved.