Page 107 - 3-2
P. 107

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();
                                }
                            }
                        }


                        return null;
                    }






                                                         - 107 -
   102   103   104   105   106   107   108   109   110   111   112