首页 > 解决方案 > 从一个活动调用解密方法到适配器

问题描述

我想问一下如何将我的解密方法从一个活动调用到另一个活动(适配器)。

MessageActivity.java 这里是我的解密方法:

  private String AESDecriptionMetod(String string) throws UnsupportedEncodingException {
    byte[] EncriptedByte = string.getBytes("ISO-8859-1");
    String decryptedString = string;

    byte[] decryption;

    try {
        decipher.init(cipher.DECRYPT_MODE, secretKeySpec);
        decryption = decipher.doFinal(EncriptedByte);
        decryptedString = new String(decryption);
    } catch (InvalidKeyException e) {
        e.printStackTrace();
    } catch (BadPaddingException e) {
        e.printStackTrace();
    } catch (IllegalBlockSizeException e) {
        e.printStackTrace();
    }

    return decryptedString;
}

MessageAdapter.java 我要调用解密方法的地方:

@Override
public void onBindViewHolder(@NonNull MessageAdapter.ViewHolder holder, int position) {

    Chat chat = mChat.get(position);


    stringMessage = chat.getMessage().toString();
    stringMessage = stringMessage.substring(1, stringMessage.length()-1);

    String[] stringMessageArrey = stringMessage.split(", ");
    Arrays.sort(stringMessageArrey);
    String[] stringFinal = new String[stringMessageArrey.length];

    for(int i = 0; i<stringMessageArrey.length; i++){
        String[] stringKeyValue = stringMessageArrey[i].split("=", 2);
        try {
            stringFinal[i]= AESDecriptionMetod(stringKeyValue[1]);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return stringFinal.toString();


    }

    holder.show_message.setText(stringFinal);

    if (imageurl.equals("default")){
        holder.profile_image.setImageResource(R.mipmap.ic_launcher);
    } else {
        Glide.with(mContext).load(imageurl).into(holder.profile_image);
    }


}

以及如何在 holder.show_message.setText( ??? ) 中实现 stringFinal;

感谢您的任何回答!

标签: androidandroid-studioandroid-activityandroid-adapter

解决方案


推荐阅读