В bytearray есть встроенная функция, которая делает то, что вы намереваетесь.
bytearray.fromhex("de ad be ef 00")
Он возвращает bytearray и читает шестнадцатеричные строки с разделителем пространства или без него.
самое простое решение, которое я нашел is .. для создания класса со статическими элементами данных с геттерами и установщиками.
устанавливаются из одного действия и получают из другого действия этот объект.
действие A
mytestclass.staticfunctionSet("","",""..etc.);
действие b
mytestclass obj= mytestclass.staticfunctionGet();
Пути файлов включены в базу данных программирования « « Файлы »(.pdb). Такие файлы создаются во время компиляции и путей в этих файлах, так как на машине компиляции.
Вы можете удалить файлы .pdb из вашей установки, но таким образом, ваш след стека будет всего вдвое меньше, чем сейчас, поскольку он не скажет вам строку, на которой произошла ошибка. Обычно вы не запустите код в производственной среде с прикрепленными файлами PDB.
Если вы хотите сохранить «интересную трассировку стека», вы можете рассмотреть возможность выполнения строки замены имен папок, после того как вы позвонили ExceptionObject.tostring ()
.
Вам нужно сериализовать свой объект в какое-то строковое представление. Одним из возможных строковых представлений является JSON, и один из самых простых способов сериализации до / от JSON в Android, если вы спросите меня, проходит через Google Gson .
В этом случае вы просто поместите значение возвращаемого строки из (новый GSON ()). Tojson (myObject);
и извлеките значение строки и используйте PROTJSON
, чтобы включить его обратно в ваш объект.
Если ваш объект не очень сложен, это может не стоить накладных расходов, и вы могли бы рассмотреть возможность прохождения отдельных значений объекта вместо этого.
Если вы просто передаете объекты вокруг, то Parcelable был разработан для этого. Это требует немного больше усилий, чем использование собственной сериализации Java, но это путь быстрее (и я имею в виду путь, ПУТИ быстрее).
Из документов, простой пример для того, как реализовать:
// simple class that just has one member property as an example
public class MyParcelable implements Parcelable {
private int mData;
/* everything below here is for implementing Parcelable */
// 99.9% of the time you can just ignore this
@Override
public int describeContents() {
return 0;
}
// write your object's data to the passed-in Parcel
@Override
public void writeToParcel(Parcel out, int flags) {
out.writeInt(mData);
}
// this is used to regenerate your object. All Parcelables must have a CREATOR that implements these two methods
public static final Parcelable.Creator<MyParcelable> CREATOR = new Parcelable.Creator<MyParcelable>() {
public MyParcelable createFromParcel(Parcel in) {
return new MyParcelable(in);
}
public MyParcelable[] newArray(int size) {
return new MyParcelable[size];
}
};
// example constructor that takes a Parcel and gives you an object populated with it's values
private MyParcelable(Parcel in) {
mData = in.readInt();
}
}
Обратите внимание, что в случае, если у вас есть более одного поля для извлечения из данного участка, вы должны сделать это в том же порядке, в котором они размещены (то есть в подходе FIFO).
Как только у вас есть свое орудие объектов Parcelable
, это - просто вопрос помещения их в ваш Намерения с putExtra () :
Intent i = new Intent();
i.putExtra("name_of_extra", myParcelableObject);
Тогда вы можете задержать их с getParcelableExtra () :
Intent i = getIntent();
MyParcelable myParcelableObject = (MyParcelable) i.getParcelableExtra("name_of_extra");
, Если ваш Класс Объекта осуществляет Parcelable и сериализуемый тогда, удостоверяются, что вы действительно бросаете к одному из следующего:
i.putExtra("parcelable_extra", (Parcelable) myParcelableObject);
i.putExtra("serializable_extra", (Serializable) myParcelableObject);
Проще всего было бы просто использовать следующее, где элемент - строка:
intent.putextra("selected_item",item)
Для получения:
String name = data.getStringExtra("selected_item");