1. ホーム
  2. android

[解決済み] シンボル 'context' を解決できない

2022-01-22 14:01:40

質問

写真を自動的にサーバーにアップロードするAndroidアプリを書こうとしているのですが、たった1行のコードで行き詰まっています。

        File f = File(context.getCacheDir(), "filename");

表示されるエラーは

というのも、ウェブ上で多くの人が context.getCacheDir() というエラーメッセージが表示されます。 おそらくIDEの設定がおかしいのだと思います。私はIntelliJ IDEを使用しています。

以下は、コンテキストの問題です。

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        super.onActivityResult(requestCode, resultCode, data);
        if( requestCode == CAMERA_PIC_REQUEST)
        {
            Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
            ImageView image =(ImageView) findViewById(R.id.PhotoCaptured);
            image.setImageBitmap(thumbnail);

            //create a file to write bitmap data
            File f = File(context.getCacheDir(), "filename");
            try {
                f.createNewFile();
            } catch (IOException e) {
                e.printStackTrace();
            }

解決方法は?

Javaプログラミングの基本的なチュートリアルを行う必要があります。 JavaはJavaScriptとは全く異なるものです。

ここでは context を変数として宣言していますが、宣言も初期化もしていないため、エラーになります。

定義することができます(同時に初期化もできます)。

 Context context = this;

から this はクラスの現在のオブジェクトのインスタンスを参照し ActivityContext より正確には、それは extends Context .

あるいは、単に this .

File f = File(UploadToServer.this.getCacheDir(), "filename");