gpt4 book ai didi

java - 如果没有 MainActivity,我无法使用 getAssets 方法

转载 作者:行者123 更新时间:2023-12-01 17:53:32 25 4
gpt4 key购买 nike


当我在 Android Studio 中编写代码时,如果没有 MainActivity,则无法使用 getAssets。
这是MainActivity。

package com.example.maguro.mnist_bg2;

import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.TextView;
import android.util.Log;
import android.content.res.AssetManager;
import org.tensorflow.contrib.android.TensorFlowInferenceInterface;

public class MainActivity extends AppCompatActivity {
CanvasView canvasview; //already exist CanvasView class
private TextView textView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
canvasview = new CanvasView(this);
setContentView(canvasview);
}

@Override
public boolean onCreateOptionsMenu(Menu menu){
super.onCreateOptionsMenu(menu);
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.item1:
canvasview.onReset();
break;
case R.id.item2:
canvasview.onDetect();
break;
case R.id.item3:
finish();
break;
}
return true;
}

}

这是另一个示例类。

package com.example.maguro.mnist_bg2;

import android.content.Context;
import android.content.res.AssetManager;
import org.tensorflow.contrib.android.TensorFlowInferenceInterface;


public class DigitDetector {
static{
System.loadLibrary("tensorflow_inference");
}

protected void onDetect(byte[] bytes){
TensorFlowInferenceInterface inference = new TensorFlowInferenceInterface(getAssets(), "beginner-graph.pb");
}

}

错误点几乎是最后一行TensorFlowInferenceInterface inference = new TensorFlowInferenceInterface(getAssets(), "beginner-graph.pb");虽然Android Studio说

Cannot resolve method 'getAssets()

Android Studio 没有在 MainActivity 中指出该错误

即使我将另一个类模块与 MainActivity 等同,Android Studio 也会说同样的错误。

为什么会出现错误?

请借我你的手。

最佳答案

import android.content.Context;
import android.content.res.AssetManager;
import org.tensorflow.contrib.android.TensorFlowInferenceInterface;


public class DigitDetector {

Context context;

public DigitDetector(Context context) {
this.context =context;
}

static{
System.loadLibrary("tensorflow_inference");
}

protected void onDetect(byte[] bytes){
TensorFlowInferenceInterface inference = new TensorFlowInferenceInterface(context.getAssets(), "beginner-graph.pb");
}

}

尝试创建构造函数并传递 Activity 上下文。并将其用于 “getAssets()”方法。

关于java - 如果没有 MainActivity,我无法使用 getAssets 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47429389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com