繁体   English   中英

参考class配.java

[英]Reference class with .java

我在参考方面遇到了一些问题,我正在使用 MainActivity.java,所以我想参考几个扩展名为.java 的文件,但我遇到了一些错误。

这是我在 MainActivity.java 中的代码

package com.example.camuny;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.text.method.ScrollingMovementMethod;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.example.camuny.bluetooth.BluetoothConnector;
import com.example.camuny.bluetooth.ImageGetterTask;
import com.example.camuny.bluetooth.exception.BluetoothException;
import com.example.drawing.ImageHandler;
import com.example.camuny.drawing.SurfaceDrawer;
import com.example.camuny.util.Logger;

import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;


public class MainActivity extends AppCompatActivity implements Logger {
    private final static String MY_NAME = "ArduinoCam";

    private ImageHandler imageHandler = new ImageHandler();
    private SurfaceDrawer surfaceDrawer = new SurfaceDrawer(imageHandler);

    private Map<String, String> mPairedDevicesArrayAdapter = new HashMap<String, String>();
    private BluetoothConnector connector = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        connector = new BluetoothConnector();

        Button getImageButton = (Button) findViewById(R.id.getImageButton);

        getImageButton.setOnClickListener(buttonClicker);

        TextView loggerTextViewer = (TextView) findViewById(R.id.textView);
        loggerTextViewer.setMovementMethod(new ScrollingMovementMethod());

        SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
        SurfaceHolder surfaceHolder = surfaceView.getHolder();
        surfaceHolder.addCallback(surfaceDrawer);

        enableConnect();

        try {
            mPairedDevicesArrayAdapter = BluetoothConnector.getBondedDevices();
            if (mPairedDevicesArrayAdapter.size() > 0) {
                Iterator<String> it = mPairedDevicesArrayAdapter.keySet().iterator();
                while(it.hasNext()) {
                    logMessage("Dispositivo Enlazado: " + it.next());
                }
            } else {
                logMessage("No hay   Dispositivo");
            }
        } catch (BluetoothException e){
            printStackTrace(e);
        }
    }

    private void enableConnect() {
        Button getImageButton = (Button) findViewById(R.id.getImageButton);
        getImageButton.setEnabled(true);
    }
    private void disableConnect() {
        Button getImageButton = (Button) findViewById(R.id.getImageButton);
        getImageButton.setEnabled(false);
    }

    protected void onDestroy() {
        super.onDestroy();
        try {
            connector.disconnect();
        } catch (BluetoothException e) {}
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        MenuItem menuItem = menu.add("Salir");
        menuItem.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            public boolean onMenuItemClick(MenuItem arg0) {
                finish();
                return true;
            }
        });
        return true;
    }


    private View.OnClickListener buttonClicker = new View.OnClickListener() {
        public void onClick(View v) {
            Button button = (Button)v;
            try {
                switch(button.getId()) {
                    //connection
                    case R.id.getImageButton:
                        if (!BluetoothConnector.isSupported()) {
                            logMessage("Bluetooth no soportado");
                            return;
                        }
                        if (!BluetoothConnector.isEnabled()) {
                            logMessage("Bluetooth no esta Habilitado");
                            return;
                        }

                        Map<String, String> temp = new HashMap<String, String>();
                        temp.putAll(mPairedDevicesArrayAdapter);

                        String nxtKey = temp.get(MY_NAME);
                        if (nxtKey != null) {
                            disableConnect();

                            connector.connect(nxtKey);
                            logMessage("Conectado");

                            ImageGetterTask task = new ImageGetterTask(
                                                            imageHandler,
                                                            connector,
                                                            MainActivity.this,
                                                            (Button) findViewById(R.id.getImageButton));
                            task.execute();

                        } else {
                            logMessage(MY_NAME + " no esta disponible");
                            enableConnect();
                        }
                    break;
                }
            } catch (Exception e) {
                printStackTrace(e);
            }
        }
    };

    public void logMessage(String message) {
        TextView loggerTextViewer = (TextView) findViewById(R.id.textView);
        loggerTextViewer.append(message + "\n");
    }

    public void printStackTrace(Exception e) {
        StringWriter sw = new StringWriter();
        PrintWriter pw = new PrintWriter(sw);
        e.printStackTrace(pw);
        logMessage("StackTrace: " + sw.toString());
    }
}

看起来像错误:

图像错误

错误是:

import com.example.camuny.bluetooth.BluetoothConnector;
import com.example.camuny.bluetooth.ImageGetterTask;
import com.example.camuny.bluetooth.exception.BluetoothException;
import com.example.drawing.ImageHandler;
import com.example.camuny.drawing.SurfaceDrawer;
import com.example.camuny.util.Logger;

我检查了我的文件并且地址没问题,我做错了什么?

问题是当我使用另一个项目(旧项目)的目录(src 中的所有文件)创建一个新项目时,因此在旧项目中,该目录是另一种方式。

在 BluetoothConnector.java 的参考中,旧项目如下:

package info.private.mer.camuny.bluetooth;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;

import info.private.mer.bluetooth.exception.BluetoothException;
import info.private.mer.bluetooth.exception.ConnectionBluetoothException;
import info.private.mer.bluetooth.exception.NotSupportedBluetoothException;

这就是这个文件的解决方案:

package com.example.camuny.bluetooth;

import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;

import com.example.camuny.bluetooth.exception.BluetoothException;
import com.example.camuny.bluetooth.exception.ConnectionBluetoothException;
import com.example.camuny.bluetooth.exception.NotSupportedBluetoothException;

和其他文件一样:ImageGetterTask.java:旧项目:

package info.private.mer.bluetooth;

import android.os.AsyncTask;
import android.widget.Button;

import info.private.mer.bluetooth.exception.BluetoothException;
import info.private.mer.drawing.ImageHandler;
import info.private.mer.util.Logger;

这是解决方案:

package com.example.camuny.bluetooth;

import android.os.AsyncTask;
import android.widget.Button;

import com.example.camuny.bluetooth.exception.BluetoothException;
import com.example.camuny.drawing.ImageHandler;
import com.example.camuny.util.Logger;

因此,我在文件中进行了更改:BluetoothException、ImageHandler、SurfaceDrawer 和 Logger。

错误在文件中。java:BluetoothConnector、ImageGetterTask、BluetoothException、ImageHandler、SurfaceDrawer 和 Logger 的参考

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM