أنا أعمل مع مصفوفة كبيرة
var counterMatrix1 = Array(heroCount + 1, {DoubleArray(heroCount + 1)})
أحتاج إلى حفظه في ديسيبل وتحميله. ما رأيك هو أفضل طريقة للقيام بذلك. أي اقتراحات؟
أنا أعمل مع مصفوفة كبيرة
var counterMatrix1 = Array(heroCount + 1, {DoubleArray(heroCount + 1)})
أحتاج إلى حفظه في ديسيبل وتحميله. ما رأيك هو أفضل طريقة للقيام بذلك. أي اقتراحات؟
لست متأكدًا من كيفية القيام بذلك في Kotlin ، ولكن في Java سأقوم بإنشاء فئة Matrix وأقوم بلفها حول كائن الصفيف الخاص بي (أفترض أن لديك مصفوفة ثنائية الأبعاد ، ولكن نفس الفكرة تنطبق على مصفوفة مختلفة) . ثم استخدم مكتبة Gson لتحويلها إلى JSON ، واحفظ سلسلة JSON إلى قاعدة البيانات. لاستعادتها من قاعدة البيانات إلى كائن Matrix الخاص بها من قاعدة البيانات ، استخدم Gson مرة أخرى لإلغاء تسلسلها. إليك مثال:
public class Matrix {
public CustomObject[][] = new CustomObject[r][c]; //where r and c can be any value for capacity
}
ثم قم بذلك عندما تكون على وشك حفظ ماتريكس في قاعدة البيانات الخاصة بك:
Matrix matrix = new Matrix();
//Do stuff with your matrix, add data to it, etc..
//Then save it your DB
Gson gson = new Gson();
String matrixJson = gson.toJson(matrix);
saveMatrixJsonToDB(matrixJson);
لتحميله مرة أخرى من DB ، سأفعل ذلك:
public void loadMatrixFromDB(/*any params to connect to DB*/) {
String matrixJson;
//Connect to db and retrieve your matrix json string that you previously saved...
//Then convert it back to the Java object
Gson gson = new Gson();
Matrix matrix = gson.fromJson(matrixJson, Matrix.class);
}
يمكنك حفظ هذا الصفيف بتنسيق json ، وبعد ذلك يمكنك إجراء تسلسل لهذا مرة أخرى إلى صفيف.
فمثلا:
int[] NumberList=new int{1, 2, 3, 4, 5, 6}
صفيف أحادي البعد وفي شكل json يبدو:
{ "NumberList" : [1,2,3,4,5,6] }