Java 尝试提取纯文本数据以在服务中使用

Java 尝试提取纯文本数据以在服务中使用,java,android,mobile,android-service,barcode-scanner,Java,Android,Mobile,Android Service,Barcode Scanner,我正在为android移动计算机创建一个应用程序,它可以获取扫描的数据,并将指定的字符转换为另一个字符。按照目前的工作方式,我手动编码要查找和转换的字符: public String specialWorkFor(String originalData, String codeType ){ String[] targetStr = {"1", "2", "3"}; String[]

我正在为android移动计算机创建一个应用程序,它可以获取扫描的数据,并将指定的字符转换为另一个字符。按照目前的工作方式,我手动编码要查找和转换的字符:

        public String specialWorkFor(String originalData, String codeType ){


        String[] targetStr = {"1", "2", "3"};
        String[] replaceStr = {"a","b","c"};

        String newData = "";
        newData = originalData;

        newData = ReplaceText(originalData,targetStr,replaceStr);
        return newData;
    }

    private static String ReplaceText (String originalData, String[] targetStr, String[] replaceStr ){
        String newData = "";
        String newDataTmp = "";
        newData = originalData;
        for (int i = 0; i < targetStr.length; i++){
            newDataTmp = newData.replace(targetStr[i], replaceStr[i]);
            newData = newDataTmp;
        }

        return newData;
    }
我使用的地方:

    Context context1 = getApplicationContext();
    Activity act1=(Activity)context1;
    EditText codein = (EditText) act1.findViewById(R.id.input);
    String in = codein.getText().toString();
从我输入值的活动中提取值。问题是当我扫描时得到错误:

尝试在空对象引用上调用虚拟方法“android.content.Context android.content.Context.getApplicationContext()”


我不知道从这里到哪里去。有什么想法吗?

您不能将应用程序上下文强制转换为活动。 按如下方式创建类存储:

public class Storage {

    public static final Storage instance = new Storage();
    public String codeIn = "";
    public String codeOut = "";
}
将textWatcher添加到EditText和内部ontextchanged添加:

Storage.instance.codeIn = whatever is in coresponding edittext
在服务内部,您可以通过相同的方式获取这些值:

String in = Storage.instance.codeIn

还请注意,这些值必须在服务使用它们之前设置。)

就是这样。非常感谢。
String in = Storage.instance.codeIn