PSAM
来源:互联网 发布:罗技m558 mac驱动下载 编辑:程序博客网 时间:2024/06/03 23:48
/**
* PSAM
*
* */
public class PSAM_Activity extends Activity implements OnClickListener{
private ArrayAdapter<?> select_samAdapter;//PSAM adapter
private ArrayAdapter<?> cosAdapter;//COS adapter
private EditText sam_send_data;//APDU send data
private EditText sam_receive_data;//receive data
private Spinner sam_spinner;//PSAM spinner
private Spinner sam_cos_spinner;//Cos spinner
private Button sam_reset_btn;//reset button
private Button sam_send_cmd_btn;//send button
private Button sam_shut_down_btn;//shut down
public String sam_card = "01";//SAM1 is 01,SAM2 is02
public String TAG = "PSM_Activity";//Debug
public String activity = "com.example.psam_demo.PSAM_Activity";
PsamManager manager;
private Toast toast;
private void showToast(String info){
if (toast==null) {
toast = Toast.makeText(PSAM_Activity.this,info, 0);
}else {
toast.setText(info);
}
toast.show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setTitle("PSAM DEMO");
setContentView(R.layout.psam);
init();
}
private void init() {
sam_spinner = (Spinner) findViewById(R.id.select_samcard);
sam_cos_spinner = (Spinner) findViewById(R.id.psam_cos_cmd);
sam_send_data = (EditText) findViewById(R.id.sam_send_data);
sam_receive_data = (EditText) findViewById(R.id.sam_receive_data);
sam_reset_btn = (Button)findViewById(R.id.sam_reset);
sam_send_cmd_btn = (Button)findViewById(R.id.sam_send_cmd);
sam_shut_down_btn = (Button)findViewById(R.id.sam_shut_down);
// sam_clear_tips_btn = (Button)findViewById(R.id.sam_clear_tips);
// 添加卡座选项
select_samAdapter = ArrayAdapter.createFromResource(this,
R.array.select_samcard_arrays,
android.R.layout.simple_spinner_item);
select_samAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sam_spinner.setAdapter(select_samAdapter);
sam_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
// Toast.makeText(getApplicationContext(), select_samAdapter.getItem(position)+ "", Toast.LENGTH_SHORT).show();
if("SAM1".equals((String)select_samAdapter.getItem(position))){
sam_card = "01";
}else{
sam_card = "02";
}
Log.e(TAG,select_samAdapter.getItem(position)+"" );
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// COS cmd adapter
cosAdapter = ArrayAdapter.createFromResource(this, R.array.cos_arrays,
android.R.layout.simple_spinner_item);
cosAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sam_cos_spinner.setAdapter(cosAdapter);
sam_cos_spinner.setOnItemSelectedListener(new mOnItemListemer());
sam_reset_btn.setOnClickListener(this);
sam_send_cmd_btn.setOnClickListener(this);
sam_shut_down_btn.setOnClickListener(this);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
manager = new PsamManager();
manager.Open();
super.onResume();
}
@Override
protected void onPause() {
manager.Close();
super.onPause();
}
//select cos cmd
private class mOnItemListemer implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Log.e("spinner", position + "");
switch (position) {
case 0:
sam_send_data.setText(R.string.random08);
break;
// case 1:
// sam_send_data.setText(R.string.select_MF);
// break;
// case 2:
// sam_send_data.setText(R.string.select_MF_6117);
// break;
// case 3:
// sam_send_data.setText(R.string.delete_MF);
// break;
// case 4:
// sam_send_data.setText(R.string.create_MF);
// break;
// case 5:
// sam_send_data.setText(R.string.stop_create_MF);
// break;
// case 6:
// sam_send_data.setText(R.string.create_EF01);
// break;
// case 7:
// sam_send_data.setText(R.string.create_EF02);
// break;
// case 8:
// sam_send_data.setText(R.string.write_74_EF01);
// break;
// case 9:
// sam_send_data.setText(R.string.read_76_EF01);
// break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
@Override
public void onClick(View v) {
sam_receive_data.setText("");//clear data
byte [] cmd = null; //cmd
switch (v.getId()) {
case R.id.sam_reset: // reset
byte[] resetdata =manager.ResetPsam(sam_card);
if (resetdata.length>0) {
sam_receive_data.setText(Tools.Bytes2HexString(resetdata, resetdata.length));
showToast(getString(R.string.reset_success_));
}else {
showToast(getString(R.string.reset_fail_));
}
break;
case R.id.sam_send_cmd://Send cmd
cmd = Tools.HexString2Bytes(sam_send_data.getText().toString());
byte[] data = manager.SendToPsam(sam_card, cmd);
if (data!=null) {
sam_receive_data.setText(Tools.Bytes2HexString(data, data.length));
showToast(getResources().getString(R.string.return_success_));
}else {
showToast(getResources().getString(R.string.return_fail_));
}
break;
case R.id.sam_shut_down://Shut down
if (manager.ClosePsam(sam_card)){
showToast(getString(R.string.shut_down_success_));
}else {
showToast(getString(R.string.shut_down_fail_));
}
break;
default:
break;
}
}
}
* PSAM
*
* */
public class PSAM_Activity extends Activity implements OnClickListener{
private ArrayAdapter<?> select_samAdapter;//PSAM adapter
private ArrayAdapter<?> cosAdapter;//COS adapter
private EditText sam_send_data;//APDU send data
private EditText sam_receive_data;//receive data
private Spinner sam_spinner;//PSAM spinner
private Spinner sam_cos_spinner;//Cos spinner
private Button sam_reset_btn;//reset button
private Button sam_send_cmd_btn;//send button
private Button sam_shut_down_btn;//shut down
public String sam_card = "01";//SAM1 is 01,SAM2 is02
public String TAG = "PSM_Activity";//Debug
public String activity = "com.example.psam_demo.PSAM_Activity";
PsamManager manager;
private Toast toast;
private void showToast(String info){
if (toast==null) {
toast = Toast.makeText(PSAM_Activity.this,info, 0);
}else {
toast.setText(info);
}
toast.show();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setTitle("PSAM DEMO");
setContentView(R.layout.psam);
init();
}
private void init() {
sam_spinner = (Spinner) findViewById(R.id.select_samcard);
sam_cos_spinner = (Spinner) findViewById(R.id.psam_cos_cmd);
sam_send_data = (EditText) findViewById(R.id.sam_send_data);
sam_receive_data = (EditText) findViewById(R.id.sam_receive_data);
sam_reset_btn = (Button)findViewById(R.id.sam_reset);
sam_send_cmd_btn = (Button)findViewById(R.id.sam_send_cmd);
sam_shut_down_btn = (Button)findViewById(R.id.sam_shut_down);
// sam_clear_tips_btn = (Button)findViewById(R.id.sam_clear_tips);
// 添加卡座选项
select_samAdapter = ArrayAdapter.createFromResource(this,
R.array.select_samcard_arrays,
android.R.layout.simple_spinner_item);
select_samAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sam_spinner.setAdapter(select_samAdapter);
sam_spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
// Toast.makeText(getApplicationContext(), select_samAdapter.getItem(position)+ "", Toast.LENGTH_SHORT).show();
if("SAM1".equals((String)select_samAdapter.getItem(position))){
sam_card = "01";
}else{
sam_card = "02";
}
Log.e(TAG,select_samAdapter.getItem(position)+"" );
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});
// COS cmd adapter
cosAdapter = ArrayAdapter.createFromResource(this, R.array.cos_arrays,
android.R.layout.simple_spinner_item);
cosAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sam_cos_spinner.setAdapter(cosAdapter);
sam_cos_spinner.setOnItemSelectedListener(new mOnItemListemer());
sam_reset_btn.setOnClickListener(this);
sam_send_cmd_btn.setOnClickListener(this);
sam_shut_down_btn.setOnClickListener(this);
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
manager = new PsamManager();
manager.Open();
super.onResume();
}
@Override
protected void onPause() {
manager.Close();
super.onPause();
}
//select cos cmd
private class mOnItemListemer implements OnItemSelectedListener {
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Log.e("spinner", position + "");
switch (position) {
case 0:
sam_send_data.setText(R.string.random08);
break;
// case 1:
// sam_send_data.setText(R.string.select_MF);
// break;
// case 2:
// sam_send_data.setText(R.string.select_MF_6117);
// break;
// case 3:
// sam_send_data.setText(R.string.delete_MF);
// break;
// case 4:
// sam_send_data.setText(R.string.create_MF);
// break;
// case 5:
// sam_send_data.setText(R.string.stop_create_MF);
// break;
// case 6:
// sam_send_data.setText(R.string.create_EF01);
// break;
// case 7:
// sam_send_data.setText(R.string.create_EF02);
// break;
// case 8:
// sam_send_data.setText(R.string.write_74_EF01);
// break;
// case 9:
// sam_send_data.setText(R.string.read_76_EF01);
// break;
default:
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
@Override
public void onClick(View v) {
sam_receive_data.setText("");//clear data
byte [] cmd = null; //cmd
switch (v.getId()) {
case R.id.sam_reset: // reset
byte[] resetdata =manager.ResetPsam(sam_card);
if (resetdata.length>0) {
sam_receive_data.setText(Tools.Bytes2HexString(resetdata, resetdata.length));
showToast(getString(R.string.reset_success_));
}else {
showToast(getString(R.string.reset_fail_));
}
break;
case R.id.sam_send_cmd://Send cmd
cmd = Tools.HexString2Bytes(sam_send_data.getText().toString());
byte[] data = manager.SendToPsam(sam_card, cmd);
if (data!=null) {
sam_receive_data.setText(Tools.Bytes2HexString(data, data.length));
showToast(getResources().getString(R.string.return_success_));
}else {
showToast(getResources().getString(R.string.return_fail_));
}
break;
case R.id.sam_shut_down://Shut down
if (manager.ClosePsam(sam_card)){
showToast(getString(R.string.shut_down_success_));
}else {
showToast(getString(R.string.shut_down_fail_));
}
break;
default:
break;
}
}
}
阅读全文
0 0
- PSAM
- PSAM & SAM
- PSAM/SAM
- PSAM SAM
- PSAM/SAM
- PSAM卡指令
- PSAM卡---中国人民银行PSAM卡管理规范.doc
- PSAM安全方式之我见
- PSAM 卡的应用 操作方法
- PSAM 卡的应用 操作方法
- PSAM卡相关知识整理
- 什么是PSAM卡、SAM卡、SIM卡?
- 什么是PSAM卡、SAM卡、SIM卡
- 什么是PSAM卡、SAM卡、SIM卡
- LKCOS/PSAM(终端安全控制模块卡)
- PSAM卡、SAM卡、SIM卡
- stm32VC调试psam卡遇到的问题以及解决
- PSAM卡之常用APDU指令错误码
- android studio 创建aidl
- C#设计模式(4)——观察者模式(Observer Pattern)
- java实现基础数据类型中二进制位操作算法
- 爬虫学习(一):爬取写真网
- TortoiseGit安装和使用的图文教程
- PSAM
- Python基础
- 浮点数按四舍五入保留小数点后n位
- js中apply方法的使用
- Spark(八) -- 使用Intellij Idea搭建Spark开发环境
- python 2>&1 和nohup
- mysql连接密码忘记修改密码的办法
- 高精度+-*/板子
- 大一下期末考试:将数字字符和非数字字符组成的字符串中的数字提取出来