차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
ko:quick_guide [2018/12/03 14:05] jbkim [Initialize] |
ko:quick_guide [2020/05/13 08:24] (현재) jbkim [Firmware upgrade] |
||
---|---|---|---|
줄 42: | 줄 42: | ||
public void onCardScanProgress(int scanTimeout) { } | public void onCardScanProgress(int scanTimeout) { } | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
- | /** | ||
- | * SDK Initialize. | ||
- | */ | ||
- | svpManager.initialize(this, deviceListener); | ||
- | |||
- | /** | ||
- | * Set card RF type. | ||
- | */ | ||
- | svpManager.setCardType(Card.RF_HIGH_FREQUENCY); | ||
- | |||
- | Runnable r = new RunnableImplements(); | ||
- | Thread t = new Thread(r); | ||
- | t.start(); | ||
- | |||
super.onCreate(savedInstanceState); | super.onCreate(savedInstanceState); | ||
setContentView(R.layout.activity_main); | setContentView(R.layout.activity_main); | ||
+ | | ||
+ | /** | ||
+ | * SDK Initialize. | ||
+ | */ | ||
+ | svpManager.initialize(this, deviceListener); | ||
+ | |||
+ | /** | ||
+ | * SDK service run. | ||
+ | */ | ||
+ | svpManager.run(); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
+ | |||
+ | super.onDestroy(); | ||
} | } | ||
} | } | ||
줄 96: | 줄 92: | ||
private DeviceListener deviceListener = new DeviceListener() { | private DeviceListener deviceListener = new DeviceListener() { | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 115: | 줄 103: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | |
} | } | ||
줄 195: | 줄 191: | ||
} | } | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
- | /** | + | super.onCreate(savedInstanceState); |
- | * SDK Initialize. | + | setContentView(R.layout.activity_main); |
- | */ | + | |
+ | /** | ||
+ | * SDK Initialize. | ||
+ | */ | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | |||
- | /** | ||
- | * Set card RF type. | ||
- | */ | ||
- | svpManager.setCardType(Card.RF_HIGH_FREQUENCY); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
- | |||
- | super.onCreate(savedInstanceState); | ||
- | setContentView(R.layout.activity_main); | ||
} | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
+ | super.onDestroy(); | ||
+ | } | ||
+ | | ||
Button.OnClickListener mClickListener = new View.OnClickListener() { | Button.OnClickListener mClickListener = new View.OnClickListener() { | ||
public void onClick(View v) { | public void onClick(View v) { | ||
줄 292: | 줄 284: | ||
} | } | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 310: | 줄 295: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | |
} | } | ||
줄 374: | 줄 367: | ||
} | } | ||
}; | }; | ||
- | + | | |
- | class RunnableImplements implements Runnable { | + | |
- | @Override | + | |
- | public void run() { | + | |
- | /** | + | |
- | * SDK service run. | + | |
- | */ | + | |
- | svpManager.run(); | + | |
- | } | + | |
- | } | + | |
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 392: | 줄 378: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | |
} | } | ||
줄 456: | 줄 450: | ||
private DeviceListener deviceListener = new DeviceListener() { | private DeviceListener deviceListener = new DeviceListener() { | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 475: | 줄 461: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | |
} | } | ||
줄 575: | 줄 569: | ||
/** | /** | ||
- | * Called when an input detected. | + | * Called when an input(TTL/Tamper) detected. |
*/ | */ | ||
@Override | @Override | ||
줄 583: | 줄 577: | ||
Log.i(TAG, "port : " + data.port); | Log.i(TAG, "port : " + data.port); | ||
Log.i(TAG, "status : " + data.status); | Log.i(TAG, "status : " + data.status); | ||
+ | | ||
+ | if (data.type == Input.INPUT_TYPE_TTL) { | ||
+ | Log.i(TAG, "TTL input detected."); | ||
+ | } | ||
+ | else if (data.type == Input.INPUT_TYPE_TAMPER) { | ||
+ | Log.i(TAG, "Tamper input detected."); | ||
+ | } | ||
} | } | ||
}; | }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
- | /** | ||
- | * SDK Initialize. | ||
- | */ | ||
- | svpManager.initialize(this, deviceListener); | ||
- | |||
- | /** | ||
- | * Set card RF Type. | ||
- | */ | ||
- | svpManager.setCardType(Card.RF_HIGH_FREQUENCY); | ||
- | |||
- | Runnable r = new RunnableImplements(); | ||
- | Thread t = new Thread(r); | ||
- | t.start(); | ||
- | |||
super.onCreate(savedInstanceState); | super.onCreate(savedInstanceState); | ||
setContentView(R.layout.activity_main); | setContentView(R.layout.activity_main); | ||
+ | | ||
+ | /** | ||
+ | * SDK Initialize. | ||
+ | */ | ||
+ | svpManager.initialize(this, deviceListener); | ||
+ | |||
+ | /** | ||
+ | * SDK service run. | ||
+ | */ | ||
+ | svpManager.run(); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
+ | |||
+ | super.onDestroy(); | ||
} | } | ||
} | } | ||
줄 639: | 줄 636: | ||
private DeviceListener deviceListener = new DeviceListener() { }; | private DeviceListener deviceListener = new DeviceListener() { }; | ||
- | |||
- | class RunnableImplements implements Runnable { | ||
- | @Override | ||
- | public void run() { | ||
- | /** | ||
- | * SDK service run. | ||
- | */ | ||
- | svpManager.run(); | ||
- | } | ||
- | } | ||
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 657: | 줄 647: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | |
} | } | ||
줄 702: | 줄 700: | ||
SvpManager svpManager = new SvpManager(); | SvpManager svpManager = new SvpManager(); | ||
private static final String TAG = "YourApp"; | private static final String TAG = "YourApp"; | ||
+ | | ||
+ | Handler handler = new Handler(); | ||
- | private DeviceListener deviceListener = new DeviceListener() { }; | + | private DeviceListener deviceListener = new DeviceListener() { |
- | + | /** | |
- | class RunnableImplements implements Runnable { | + | * Called when a device event detected. |
+ | */ | ||
@Override | @Override | ||
- | public void run() { | + | public void onEventDetected(Event data) { |
- | /** | + | Log.i(TAG, "result : " + data.result); |
- | * SDK service run. | + | Log.i(TAG, "code : " + data.code); |
- | */ | + | |
- | svpManager.run(); | + | if( data.code == EventCode.EVENT_DEVICE_FIRMWARE_UPGRADED ) |
+ | { | ||
+ | /** | ||
+ | * Reboot device. | ||
+ | */ | ||
+ | if (data.result == ErrorCode.SUCCESS ) { | ||
+ | Runnable runnable = new Runnable() { | ||
+ | @Override | ||
+ | public void run() { | ||
+ | svpManager.rebootDevice(); | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | handler.post(runnable) ; | ||
+ | } | ||
+ | } | ||
} | } | ||
- | } | + | }; |
@Override | @Override | ||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | | ||
/** | /** | ||
* SDK Initialize. | * SDK Initialize. | ||
줄 722: | 줄 741: | ||
svpManager.initialize(this, deviceListener); | svpManager.initialize(this, deviceListener); | ||
- | Runnable r = new RunnableImplements(); | + | /** |
- | Thread t = new Thread(r); | + | * SDK service run. |
- | t.start(); | + | */ |
+ | svpManager.run(); | ||
findViewById(R.id.button).setOnClickListener(mClickListener); | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | | ||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | /** | ||
+ | * SDK service stop. | ||
+ | */ | ||
+ | svpManager.stop(); | ||
- | super.onCreate(savedInstanceState); | + | super.onDestroy(); |
- | setContentView(R.layout.activity_main); | + | } |
+ | |||
+ | public void ftpUpgrade() | ||
+ | { | ||
+ | int result = 0; | ||
+ | /** | ||
+ | * FTP firmware option. | ||
+ | */ | ||
+ | FirmwareOption option = new FirmwareOption(); | ||
+ | option.type = FirmwareOption.FTP_UPGRADE; | ||
+ | option.fileName = "omnis_1.0.0_20181201.bin"; | ||
+ | option.host = "127.0.0.1"; | ||
+ | option.port = 21; | ||
+ | option.username = "suprema"; | ||
+ | option.password = "suprema"; | ||
+ | |||
+ | /** | ||
+ | * Connect FTP server. | ||
+ | */ | ||
+ | result = svpManager.connectFtpServer(option); | ||
+ | |||
+ | /** | ||
+ | * Get firmware file list. | ||
+ | */ | ||
+ | ArrayList<String> fileList = new ArrayList<String>(); | ||
+ | result = mManager.getFirmwareFileList(fileList); | ||
+ | |||
+ | /** | ||
+ | * Upgrade firmware. | ||
+ | */ | ||
+ | result = svpManager.upgradeFirmware(option); | ||
+ | |||
+ | /** | ||
+ | * Disconnect FTP server. | ||
+ | */ | ||
+ | result = svpManager.disconnectFtpServer(); | ||
+ | } | ||
+ | |||
+ | public void usbUpgrade() | ||
+ | { | ||
+ | int result = 0; | ||
+ | /** | ||
+ | * USB firmware option. | ||
+ | */ | ||
+ | FirmwareOption option = new FirmwareOption(); | ||
+ | option.type = FirmwareOption.USB_UPGRADE; | ||
+ | option.fileName = "omnis_1.0.0_20181201.bin"; | ||
+ | |||
+ | /** | ||
+ | * Upgrade firmware. | ||
+ | */ | ||
+ | result = svpManager.upgradeFirmware(option); | ||
} | } | ||
Button.OnClickListener mClickListener = new View.OnClickListener() { | Button.OnClickListener mClickListener = new View.OnClickListener() { | ||
public void onClick(View v) { | public void onClick(View v) { | ||
- | int result = 0; | + | |
- | | + | |
/** | /** | ||
- | * FTP server option. | + | * FTP firmware upgrade. |
*/ | */ | ||
- | FirmwareOption option = new FirmwareOption(); | + | ftpUpgrade(); |
- | option.fileName = "omnis_1.0.0_20181201.bin"; | + | |
- | option.host = "127.0.0.1"; | + | |
- | option.username = "suprema"; | + | |
- | option.password = "suprema"; | + | |
- | option.port = 21; | + | |
- | + | ||
/** | /** | ||
- | * Connect FTP server. | + | * USB firmware upgrade. |
*/ | */ | ||
- | result = svpManager.connectFtpServer(option); | + | usbUpgrade(); |
- | + | ||
- | /** | + | |
- | * Get firmware file list. | + | |
- | */ | + | |
- | ArrayList<String> fileList = new ArrayList<String>(); | + | |
- | result = mManager.getFirmwareFileList(fileList); | + | |
- | + | ||
- | /** | + | |
- | * Upgrade firmware. | + | |
- | */ | + | |
- | result = svpManager.upgradeFirmware(option); | + | |
} | } | ||
}; | }; | ||
줄 766: | 줄 829: | ||
</code> | </code> | ||
+ | ===== Ethernet Setting ===== | ||
+ | <code java> | ||
+ | package com.example.yourapplication; | ||
+ | |||
+ | import android.content.Intent; | ||
+ | import android.os.Bundle; | ||
+ | import android.view.View; | ||
+ | import android.widget.Button; | ||
+ | import android.widget.Toast; | ||
+ | |||
+ | import android.support.v7.app.AppCompatActivity; | ||
+ | |||
+ | import com.supremainc.sdk.SvpManager; | ||
+ | import com.supremainc.sdk.callback.Event; | ||
+ | import com.supremainc.sdk.callback.Fingerprint; | ||
+ | import com.supremainc.sdk.callback.Input; | ||
+ | import com.supremainc.sdk.callback.Punch; | ||
+ | import com.supremainc.sdk.define.RequestCode; | ||
+ | import com.supremainc.sdk.service.DeviceListener; | ||
+ | |||
+ | public class MainActivity extends AppCompatActivity { | ||
+ | |||
+ | SvpManager svpManager = new SvpManager(); | ||
+ | private static final String TAG = "YourApp"; | ||
+ | |||
+ | // DeviceListener receives events about a device. | ||
+ | private DeviceListener deviceListener = new DeviceListener() { | ||
+ | @Override | ||
+ | public void onPunchDetected(Punch data) { } | ||
+ | @Override | ||
+ | public void onInputDetected(Input data) { } | ||
+ | @Override | ||
+ | public void onEventDetected(Event data) { } | ||
+ | @Override | ||
+ | public void onCardScanCompleted(Punch data) { } | ||
+ | @Override | ||
+ | public void onFingerprintDetected(Fingerprint data) { } | ||
+ | @Override | ||
+ | public void onFingerprintScanCompleted(Fingerprint data) { } | ||
+ | @Override | ||
+ | public void onFingerprintIdentified(Fingerprint data) { } | ||
+ | @Override | ||
+ | public void onFingerprintScanProgress(int scanTimeout) { } | ||
+ | @Override | ||
+ | public void onCardScanProgress(int scanTimeout) { } | ||
+ | }; | ||
+ | |||
+ | @Override | ||
+ | protected void onCreate(Bundle savedInstanceState) { | ||
+ | super.onCreate(savedInstanceState); | ||
+ | setContentView(R.layout.activity_main); | ||
+ | |||
+ | // SDK Initialize. | ||
+ | svpManager.initialize(this, deviceListener); | ||
+ | |||
+ | // SDK service run. | ||
+ | svpManager.run(); | ||
+ | |||
+ | findViewById(R.id.button).setOnClickListener(mClickListener); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | protected void onDestroy() { | ||
+ | // SDK service stop. | ||
+ | svpManager.stop(); | ||
+ | |||
+ | super.onDestroy(); | ||
+ | } | ||
+ | |||
+ | Button.OnClickListener mClickListener = new View.OnClickListener() { | ||
+ | public void onClick(View v) { | ||
+ | boolean useDHCP = false; | ||
+ | String ip = "192.168.1.123"; | ||
+ | String subnet = "255.255.255.0"; | ||
+ | String gateway = "192.168.1.1"; | ||
+ | String dns = "192.168.1.100"; | ||
+ | |||
+ | svpManager.setEthernetConfig(useDHCP, ip, subnet, gateway, dns); | ||
+ | } | ||
+ | }; | ||
+ | |||
+ | @Override | ||
+ | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | ||
+ | super.onActivityResult(requestCode, resultCode, data); | ||
+ | |||
+ | if (requestCode == RequestCode.ETHERNET_REQUEST_CODE) { | ||
+ | if (resultCode == RESULT_OK) { | ||
+ | int result = data.getIntExtra("result", -1); | ||
+ | Toast.makeText(this, "Result: " + result, Toast.LENGTH_SHORT).show(); | ||
+ | } | ||
+ | else { | ||
+ | Toast.makeText(this, "Failed", Toast.LENGTH_SHORT).show(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||