Hi, Erel, thanks for your patience. I've done a search in the java code of the sample program, and here is what I've found :
The creation of the RFIDWithUHF in the main activity, is shown below (only part of the code is shown) :
package com.example.uhf;
import com.example.uhf.fragment.UHFKillFragment;
import com.example.uhf.fragment.UHFLockFragment;
import com.example.uhf.fragment.UHFReadFragment;
import com.example.uhf.fragment.UHFReadTagFragment;
import com.example.uhf.fragment.UHFSetFragment;
import com.example.uhf.fragment.UHFWriteFragment;
import com.rscja.deviceapi.RFIDWithUHF;
import com.rscja.deviceapi.exception.ConfigurationException;
import com.rscja.utility.StringUtility;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTabHost;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import android.os.Build;
public class UHFMainActivity extends BaseTabFragmentActivity {
private final static String TAG = "MainActivity";
public RFIDWithUHF mReader;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViewPageData();
initViewPager();
initTabs();
try {
mReader = RFIDWithUHF.getInstance();
} catch (Exception ex) {
Toast.makeText(UHFMainActivity.this, ex.getMessage(),
Toast.LENGTH_SHORT).show();
return;
}
if (mReader != null) {
new InitTask().execute();
}
}
The instance is created in the line :
public RFIDWithUHF mReader;
I've decompiled te api jar file to inspect the class declaration. Below is a part of the code for the class RFIDWithUHF :
package com.rscja.deviceapi;
import android.util.Log;
import com.rscja.deviceapi.DeviceAPI;
import com.rscja.deviceapi.a;
import com.rscja.deviceapi.b;
import com.rscja.deviceapi.entity.SimpleRFIDEntity;
import com.rscja.deviceapi.exception.ConfigurationException;
import com.rscja.utility.StringUtility;
import java.text.DecimalFormat;
import java.util.Arrays;
public class RFIDWithUHF extends a {
private static RFIDWithUHF a = null;
protected b config = b.e();
protected DeviceAPI getDeviceAPI() {
return DeviceAPI.a();
}
public static synchronized RFIDWithUHF getInstance() throws ConfigurationException {
if(a == null) {
a = new RFIDWithUHF();
}
return a;
}
private RFIDWithUHF() throws ConfigurationException {
}
public synchronized boolean init() {
int var1;
if((var1 = this.getDeviceAPI().UHFInit(this.config.j())) == 0) {
if((var1 = this.getDeviceAPI().UHFOpenAndConnect(this.config.k())) == 0) {
this.setPowerOn(true);
return true;
}
Log.e("RFIDWithUHF", "init() err UHFOpenAndConnect result:" + var1);
} else {
Log.e("RFIDWithUHF", "init() err UHFInit result:" + var1);
}
return false;
}
It seems that the class RFIDWithUHF extends the class a ( probably com.rscja.deviceapi.a).
Also, the constructor for the class is really private and empty, with no code.
Base on this information, I've been figuring out whether it is necessary first create a javaobject for the class "a" and then a javaobject for the class RFIDWithUHF.
Am I in the right direction ? If so, how should the objects for both classes be created in B4A ?
Thanks.