차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
ko:quick_guide [2018/12/10 08:12]
jbkim [Firmware upgrade]
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() {
줄 717: 줄 717:
                  * Reboot device.                  * Reboot device.
                  */                  */
-                svpManager.rebootDevice();​+                ​if (data.result == ErrorCode.SUCCESS ) { 
 +                    Runnable runnable = new Runnable() { 
 +         @Override 
 +         public void run() { 
 +             ​svpManager.rebootDevice();​ 
 +         } 
 +     }; 
 + 
 +     handler.post(runnable) ; 
 +                }
             }             }
         }         }
     };     };
-    ​ 
-    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.
줄 739: 줄 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);​ +
-             +
-            /** +
-             * Disconnect FTP server. +
-             */ +
-            result = svpManager.disconnectFtpServer();+
         }         }
     };     };
줄 788: 줄 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>​