Page 99 - 3-2
P. 99

Block size is always 16 bytes (BLOCK_SIZE). Sector size varies.
                    MIFARE Classic 1k are 1024 bytes (SIZE_1K), with 16 sectors each of 4 blocks.
                    */


                    MifareClassic taskTag;
                    int numOfBlock;
                    final int FIX_SECTOR_COUNT = 16;
                    boolean success;
                    final int numOfSector = 16;
                    final int numOfBlockInSector = 4;
                    byte[][][]                       buffer                      =                       new
            byte[numOfSector][numOfBlockInSector][MifareClassic.BLOCK_SIZE];


                    ReadMifareClassicTask(MifareClassic tag){
                        taskTag = tag;
                        success = false;
                    }


                    @Override
                    protected Void doInBackground(Void... params) {


                        try {
                            taskTag.connect();


                            for(int s=0; s<numOfSector; s++){
                                if(taskTag.authenticateSectorWithKeyA(s, MifareClassic.KEY_DEFAULT)) {
                                    for(int b=0; b<numOfBlockInSector; b++){
                                        int blockIndex = (s * numOfBlockInSector) + b;
                                        buffer[s][b] = taskTag.readBlock(blockIndex);
                                    }
                                }
                            }


                            success = true;
                        } catch (IOException e) {
                            e.printStackTrace();
                        } finally{
                            if(taskTag!=null){
                                try {
                                    taskTag.close();
                                } catch (IOException e) {
                                    e.printStackTrace();
                                }
                            }
                        }


                                                         - 99 -
   94   95   96   97   98   99   100   101   102   103   104