Java 尝试提取纯文本数据以在服务中使用
我正在为android移动计算机创建一个应用程序,它可以获取扫描的数据,并将指定的字符转换为另一个字符。按照目前的工作方式,我手动编码要查找和转换的字符: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[]
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