Migrate from previous versions

Migrate from 0.2.x to 0.3.0

Improvement

The old initialization uses the following code:

private AdkManager mAdkManager;

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

    mAdkManager = new AdkManager((UsbManager) getSystemService(Context.USB_SERVICE));
}

Now you can also create the AdkManager instance passing the Activity Context like you see in the following code:

private AdkManager mAdkManager;

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

    mAdkManager = new AdkManager(this);
}

Incompatibility

The following methods have been deleted:

  • writeSerial(String text)
  • writeSerial(int value)
  • readSerial()
  • readString()
  • readByte()

For this reason you should rename in your project:

  • writeSerial() to write()
  • readSerial() to read().getString()
  • readString() to read().getString()
  • readByte() to read().getByte()

Note

Remember that read() returns an AdkMessage instance and you may want to cache this response in a variable.

Migrate from 0.1.0 to 0.2.0

Incompatibility

Some class/method names are misleading so readText/sendText become readSerial/writeSerial and closeAdk/resumeAdk become close/open.

Rename in your project:

  • readText to readSerial
  • sendText to writeSerial
  • closeAdk to close
  • resumeAdk to open

Incompatibility

AdkReceiver has been removed because the actual implementation of read/write can handle multiple char.

If you have some AsyncTask which extend AdkReceiver, simply extend a regular AsyncTask and add a valid doInBackground method as follows:

public class MyAsyncTask extends AsyncTask<AdkManager, String, Void> {

    @Override
    protected Void doInBackground(AdkManager... params) {
        AdkManager adkManager = params[0];
        publishProgress(adkManager.readSerial());

        return null;
    }

    // Follows your implementation of MyAsyncTask
}