Reputation: 67
I'm having some problem with reference, I'm workng with MainActivity.java, so I want to reference several file with extension .java but I'm having some error to do it.
this is my code in 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());
}
}
look it like the error:
the error is:
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;
I checked my files and addres is ok, what I'm doing wrong?
Upvotes: 0
Views: 124
Reputation: 67
The problem was when I create a new project using directory(all files inside of src) of another project(old project), so in the old project, the directory were of another way.
In the reference of BluetoothConnector.java, old project was like:
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;
and this was the solution, to this file:
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;
and the same to anothers files: ImageGetterTask.java: old project:
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;
this was the solution:
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;
So, I did that change in the files: BluetoothException, ImageHandler, SurfaceDrawer and Logger.
Upvotes: 1