美女被抽插到哭内射视频免费,亚洲欧美日韩另类丝袜一区,午夜香蕉成视频人网站,韩国专区福利一区二区

行業(yè)產(chǎn)品

  • 行業(yè)產(chǎn)品

北京友我科技有限公司


當(dāng)前位置:北京友我科技有限公司>技術(shù)文章>安卓(Android)下如何開(kāi)發(fā)USB NFC讀寫(xiě)器app
技術(shù)文章

安卓(Android)下如何開(kāi)發(fā)USB NFC讀寫(xiě)器app

閱讀:46發(fā)布時(shí)間:2025-1-5

對(duì)安卓工程師來(lái)說(shuō),在安卓下使用USB設(shè)備需要了解很多硬件的內(nèi)容,這可能會(huì)導(dǎo)致工程周期的延長(zhǎng)或者app的不穩(wěn)定。為了將這種風(fēng)險(xiǎn)降到,友我科技發(fā)布了NFC讀寫(xiě)器在安卓下的sdk,使用NFC讀寫(xiě)器的類(lèi)接口,安卓工程師就可以直接調(diào)用NFC讀寫(xiě)器了,簡(jiǎn)單可靠。

NFC讀寫(xiě)器的安卓庫(kù)文件為:yoworfidreader.jar

在ADT工程中導(dǎo)入yoworfidreader.jar庫(kù)文件,即可在工程中引用NFC讀寫(xiě)器的類(lèi)文件

在代碼中調(diào)用:


public usbreader rfidreader;

rfidreader = new usbreader();

這樣就創(chuàng)建了NFC讀寫(xiě)器的類(lèi)的實(shí)體,下面只要使用rfidreader的各種方法就可以了,以下為讀寫(xiě)M1卡的例子代碼:


protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_m1);

rbKeyA=(RadioButton) findViewById(R.id.rbkeya);

txtCardNo = (TextView) findViewById(R.id.txtcardno);

edtKey = (EditText) findViewById(R.id.edtkey);

edtKey.setText(""FFFFFFFFFFFF"");

edtBlockID = (EditText) findViewById(R.id.edtblock);

edtBlockID.setText(""1"");

edtData = (EditText) findViewById(R.id.edtdata);

edtData.setText(""11111111111111112222222222222222"");

Button button = (Button) findViewById(R.id.btnreadCard);

button.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

txtCardNo.setText("""");

edtData.setText("""");

int BlockID = MainActivity.ValidInt( edtBlockID.getText().toString() , 63);

if(BlockID<0)

{

MainActivity.dialog(""塊號(hào)必須是0-63"",M1.this);

return;

}

if(!MainActivity.ValidHexString(edtKey.getText().toString(), 6))

{

MainActivity.dialog(""密鑰必須是6字節(jié)16進(jìn)制"",M1.this);

return;

}

if( MainActivity.rfidreader.ISO14443A.YW_RequestCard(MainActivity.rfidreader.ISO14443A.REQUESTMODE_ALL)<0)return;

byte[] CardNo=MainActivity.rfidreader.ISO14443A.YW_AntiCollideAndSelect(MainActivity.rfidreader.ISO14443A.MULTIMODE_ONE);

if(CardNo==null)return;

txtCardNo.setText(""卡號(hào):"" + MainActivity.bytesToHexString(CardNo));

byte KeyMode=MainActivity.rfidreader.ISO14443A.Key_B;

if(rbKeyA.isChecked())KeyMode=MainActivity.rfidreader.ISO14443A.Key_A;


if(MainActivity.rfidreader.ISO14443A.YW_KeyAuthorization(KeyMode, BlockID, MainActivity.HexStringtoBytes( edtKey.getText().toString()))<0)

{

MainActivity.dialog(""密鑰認(rèn)證錯(cuò)誤"",M1.this);

return;

}

byte[] Data = MainActivity.rfidreader.ISO14443A.YW_ReadaBlock(BlockID);

if(Data==null)

{

MainActivity.dialog(""讀取塊失敗"",M1.this);

return;

}

edtData.setText(MainActivity.bytesToHexString(Data));

MainActivity.rfidreader.ReaderHardware.YW_Buzzer(5, 5, 1);

}

});

Button button2 = (Button) findViewById(R.id.btnwritedata);

button2.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) {

txtCardNo.setText("""");

int BlockID = MainActivity.ValidInt( edtBlockID.getText().toString() , 63);

if(BlockID<0)

{

MainActivity.dialog(""塊號(hào)必須是0-63"",M1.this);

return;

}

if(!MainActivity.ValidHexString(edtKey.getText().toString(), 6))

{

MainActivity.dialog(""密鑰必須是6字節(jié)16進(jìn)制"",M1.this);

return;

}

if(!MainActivity.ValidHexString(edtData.getText().toString(), 16))

{

MainActivity.dialog(""數(shù)據(jù)必須是16字節(jié)16進(jìn)制"",M1.this);

return;

}

if( MainActivity.rfidreader.ISO14443A.YW_RequestCard(MainActivity.rfidreader.ISO14443A.REQUESTMODE_ALL)<0)return;

byte[] CardNo=MainActivity.rfidreader.ISO14443A.YW_AntiCollideAndSelect(MainActivity.rfidreader.ISO14443A.MULTIMODE_ONE);

if(CardNo==null)return;

txtCardNo.setText(""卡號(hào):"" + MainActivity.bytesToHexString(CardNo));

byte KeyMode=MainActivity.rfidreader.ISO14443A.Key_B;

if(rbKeyA.isChecked())KeyMode=MainActivity.rfidreader.ISO14443A.Key_A;


if(MainActivity.rfidreader.ISO14443A.YW_KeyAuthorization(KeyMode, BlockID, MainActivity.HexStringtoBytes( edtKey.getText().toString()))<0)

{

MainActivity.dialog(""密鑰認(rèn)證錯(cuò)誤"",M1.this);

return;

}

byte[] Data = MainActivity.HexStringtoBytes(edtData.getText().toString());

if(MainActivity.rfidreader.ISO14443A.YW_WriteaBlock(BlockID, Data)>0)

{

MainActivity.dialog(""數(shù)據(jù)寫(xiě)入成功"",M1.this);

MainActivity.rfidreader.ReaderHardware.YW_Buzzer(5, 5, 1);

}

else

MainActivity.dialog(""數(shù)據(jù)寫(xiě)入失敗"",M1.this);

}

});

}

}


支持安卓的NFC讀寫(xiě)器有YW-605系列和YW-607等

安卓NFC讀寫(xiě)器的在線開(kāi)發(fā)指南:NFC讀寫(xiě)器安卓開(kāi)發(fā)指南



包裝印刷網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .? ? ? Copyright(C)?2021 http://news.xiaoyinghua.cn,All rights reserved.

以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),包裝印刷網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。 溫馨提示:為規(guī)避購(gòu)買(mǎi)風(fēng)險(xiǎn),建議您在購(gòu)買(mǎi)產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。

會(huì)員登錄

×

請(qǐng)輸入賬號(hào)

請(qǐng)輸入密碼

=

請(qǐng)輸驗(yàn)證碼

收藏該商鋪

請(qǐng) 登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~