小编Tor*_*tel的帖子

智能卡读卡器访问时出现未知错误0x16

我正在尝试更改ACR1252U上的蜂鸣器持续时间.

链接至API:http: //www.acs.com.hk/download-manual/6402/API-ACR1252U-1.09.pdf

根据API文档,我需要'E0000028010A'命令来更改蜂鸣器状态,其中'0A'将持续时间标记为0A*10ms(页44).

使用以下Java代码:

public static void main(String[] args) {
    try {
        byte[] send = new byte[6];

        send[0] = (byte) 0xE0; // Commandclass
        send[1] = (byte) 0x00; // Protocoll
        send[2] = (byte) 0x00; // Param 1
        send[3] = (byte) 0x28; // Param 2: Buzzerstatus
        send[4] = (byte) 0x01; // Change Flag
        send[5] = (byte) 0x0A; // Duration: 0A*10ms => 100ms

        Card card = getCard("DIRECT"); // Works!
        CardChannel channel = card.getBasicChannel(); // Works!
        CommandAPDU command = new CommandAPDU(send); …
Run Code Online (Sandbox Code Playgroud)

java apdu smartcard pcsc smartcard-reader

3
推荐指数
1
解决办法
1445
查看次数

以编程方式可绘制的选择器

我想以编程方式创建选择器可绘制对象。形状必须采用以下形式:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true"><shape>
            <solid android:color="#4aa5d4" />
        </shape></item>
    <item><shape>
            <stroke android:width="1dp" android:color="#4aa5d4" />
        </shape></item>

</selector>
Run Code Online (Sandbox Code Playgroud)

为什么?因为我希望这2种颜色可以改变。我知道我必须为此创建某种Drawable。我已经设法这样创建自己的GradientDrawables:

public GradientDrawable getBackgroundGradient() {
    GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] { BACKGROUND_GRADIENT_TOP_COLOR, BACKGROUND_GRADIENT_BOTTOM_COLOR });
    return gd;
}
Run Code Online (Sandbox Code Playgroud)

但是现在我需要一个SelectorDrawable。

java android drawable

2
推荐指数
1
解决办法
1509
查看次数

对非构造函数方法强制执行超级调用

是否可以强制重写方法来调用超类方法?构造函数总是需要调用它们的超类构造函数.但是我希望在普通方法上强制执行此操作,而不是在它被称为问题时的位置.

例:

public class A {

    public void doSth() {
        System.out.println("I must appear on console!");
    }

}

public class B extends A {

    @Override
    public void doSth() {
        System.out.println("Bla!");  // IDE should mark an error, because supermethod is not called.
    }

}
Run Code Online (Sandbox Code Playgroud)

java inheritance superclass

2
推荐指数
1
解决办法
824
查看次数

SharedPreferences不起作用

我使用SharedPreferences时遇到的问题很少.我想保存并稍后在首选项中加载字符串.我在onCreate方法中初始化我的prefs:

prefs = this.getSharedPreferences("com.example.android_test", Activity.MODE_PRIVATE);
Run Code Online (Sandbox Code Playgroud)

我保存另一种方法:

    public void saveUser()
    {   
        prefs.edit().putString("username", username);
        prefs.edit().putString("password", password);
        prefs.edit().apply();
    }
Run Code Online (Sandbox Code Playgroud)

并加载另一种方法:

    public void loadUser()
    {
        username = prefs.getString("username", "default");
        password = prefs.getString("password", "test");
    }
Run Code Online (Sandbox Code Playgroud)

那些是我的测试方法:

    public void showUser(View v) 
    {
       loadUser();
       text.setText(username);
    }

    public void addUser(View v)
    {
        changeUser(eingabe.getText().toString(),"newpass");
    }

    public void changeUser(String user, String pass)
    {
        username = user;
        password = pass;
        saveUser();
    }
Run Code Online (Sandbox Code Playgroud)

用户名和密码是全局的,私有字符串,eingabe是EditText,文本是TextView.但是,当执行showUser()时,我只获得显示给TextView的defaultvalue,即使我使用带有不同用户名的saveUser ...没有崩溃或任何东西......它只是显示默认值...

java eclipse android sharedpreferences

1
推荐指数
1
解决办法
399
查看次数