我正在做一个简单的应用程序,从editText
获取数据,然后它获取该文本并发送到java类(在类我需要它将字符串转换为utf8编码)。如何从活动中发送数据以及如何在java类中接收数据?
这是我的UTFencoder类:
public class UTFencoder {
public void main(String[] args) {
String testString = encodeStringToUTF8("this is my app ... eskadenia");
System.out.println(testString);
}
public static String encodeStringToUTF8(String stringToEncode) {
String newValue = "";
List<String> charactersCode = new ArrayList<String>();
try {
byte[] stringBytes = stringToEncode.getBytes("UTF-8");
for (int i = 0; i < stringBytes.length; i++) {
//System.out.println("utf value is " + stringBytes[i]);
String value = String.valueOf(stringBytes[i]);
int no = Integer.parseInt(value);
String hex = Integer.toHexString(no);
//System.out.println("Hex value is " + hex);
for (int j = 0; j < hex.length(); j++) {
charactersCode.add(String.valueOf(hex.charAt(j)));
}
}
} catch (UnsupportedEncodingException e) {
System.out.println("Cannot encode " + stringToEncode
+ " to UTF-8, UnsupportedEncodingException");
}
Iterator iterator =charactersCode.iterator();
while(iterator.hasNext()){
Object element= iterator.next();
System.out.print(element+" ");
}
return newValue;
}
}
答案 0 :(得分:6)
选项1:在android中你可以通过Intent或Intent发送数据,然后是Bundle.Like
Intent i = new Intent(current_class.this, linked_class.class);
i.putextra("Key", value);
在另一个类中获取值(假设字符串值),如:
String value = getIntent.getExtra("String key which you used when send value");
但是对于您的问题,我不确定它是否有帮助,但您可以在活动类中使用全局静态变量,并指定要在方法中发送的值...例如
选项2:
class A{
public static String _utfValue = "";
void sendValue(){
_utfValue = "some value";
}
}
在java类中获取此值,如:
String value = A._utfValue ;
选项3:您可以使用SharedPreference保存值并从其他类中获取。
选项4:您可以使用带有一些返回值的静态方法,并通过类名获取java类中的方法。
这里的所有选项都很粗糙。所以请检查一下,希望其中一个能帮到你。