เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดŽเดฒเตเดฒเดพ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเด‚ เดฎเตŠเดฌเตˆเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเดฟเตฝ เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เดฒเต‹เดžเตเดšเตเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดฏเตเดเดฏเตเด‚ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเต‹เดžเตเดšเต เดšเต†เดฏเตเดฏเดพเตป เดตเดณเดฐเต† เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดธเด™เตเด•เดŸเดตเตเด‚ เดฆเต‡เดทเตเดฏเดตเตเด‚ เด…เดจเตเดญเดตเดชเตเดชเต†เดŸเดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดญเต‹เด•เตเดคเตƒ เด…เดจเตเดญเดตเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดถเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเตเดคเดจเตเดจเต† เด…เดตเดจเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚.

Dodo Pizza เด†เดชเตเดชเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดถเดฐเดพเดถเดฐเดฟ 3 เดธเต†เด•เตเด•เตปเดกเต เดŽเดŸเตเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดšเดฟเดฒ "เดญเดพเด—เตเดฏเดตเดพเดจเตเดฎเดพเตผเด•เตเด•เต" 15-20 เดธเต†เด•เตเด•เตปเดกเต เดŽเดŸเตเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เด’เดฐเดฟเด•เตเด•เตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ.

เด•เดŸเตเดŸเดฟเดจเต เดคเดพเดดเต† เดธเดจเตเดคเต‹เดทเด•เดฐเดฎเดพเดฏ เด’เดฐเต เด•เดฅเดฏเตเดฃเตเดŸเต: เดฑเดฟเดฏเตฝเด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เดตเดณเตผเดšเตเดš, เดฎเต†เดฎเตเดฎเดฑเดฟ เดฒเต€เด•เตเด•เต, เดžเด™เตเด™เตพ เดŽเด™เตเด™เดจเต† เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดถเต‡เด–เดฐเดฟเดšเตเดšเต, เดคเตเดŸเตผเดจเตเดจเต เดธเตเดตเดฏเด‚ เดตเดฒเดฟเดšเตเดšเดฟเดดเดšเตเดšเต เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเด•เตเด•เดฟ.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ
เดฒเต‡เด–เดจ เดฐเดšเดฏเดฟเดคเดพเดตเต: เดฎเดพเด•เตเดธเดฟเด‚ เด•เดพเดšเตเดšเดฟเตปเด•เดฟเตป โ€” เดกเต‹เดกเต‹ เดชเดฟเดธเตเดธเดฏเดฟเดฒเต† เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เดกเต†เดตเดฒเดชเตเดชเตผ.

เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดเด•เตเด•เดฃเดฟเตฝ เด•เตเดฒเดฟเด•เตเด•เตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดฎเตเดคเตฝ เด†เดฆเตเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† onResume() เดตเดฐเต†เดฏเตเดณเตเดณ เดฎเต‚เดจเตเดจเต เดธเต†เด•เตเด•เตปเดกเต เด…เดจเดจเตเดคเดฎเดพเดฃเต. เดšเดฟเดฒ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต, เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเด‚ 15-20 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดŽเดคเตเดคเดฟ. เด‡เดคเต เดชเต‹เดฒเตเด‚ เดŽเด™เตเด™เดจเต† เดธเดพเดงเตเดฏเดฎเดพเด•เตเด‚?

เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดธเดฎเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดตเตผเด•เตเด•เดพเดฏเดฟ เดตเดณเดฐเต† เดšเต†เดฑเดฟเดฏ เด’เดฐเต เดธเด‚เด—เตเดฐเดนเด‚
เดžเด™เตเด™เดณเตเดŸเต† Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด…เดจเดจเตเดคเดฎเดพเดฏเดฟ เดตเดณเตผเดจเตเดจเต. เดšเดฟเดฒ เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟเดฏเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดถเต‡เด–เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเด‚ เด•เตเดฐเดฎเต‡เดฃ เดตเตผเดฆเตเดงเดฟเดšเตเดšเต. เดคเตเดŸเตผเดจเตเดจเต เดžเด™เตเด™เตพ เด…เดคเต เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต, เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเด‚ เดฒเด•เตเดทเตเดฏเดคเตเดคเดฟเดฒเต†เดคเตเดคเดฟ - เด‡เดคเต 1 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เตเดฑเดตเดพเดฏเดฟ, เด‡เดจเดฟ เดตเตผเดฆเตเดงเดฟเดšเตเดšเดฟเดฒเตเดฒ. เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเดถเด•เดฒเดจเดตเตเด‚ เดฐเดฃเตเดŸเต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต - เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณเดคเตเด‚ เดธเดพเดงเดพเดฐเดฃเดตเตเดฎเดพเดฏ เด’เดจเตเดจเต.

เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดคเดฟเดฐเดฏเดฒเตเด‚ เดตเดฟเดถเด•เดฒเดจเดตเตเด‚

เด‡เดจเตเดจเต, เดเดคเตŠเดฐเต เดฎเตŠเดฌเตˆเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดฎเตŠเดฌเตˆเตฝ เด†เดชเตเดชเดฟเดจเตเดฑเต† เดฎเดพเดคเตเดฐเด‚ เด•เดพเดฐเตเดฏเดฎเดฒเตเดฒ. เด’เดฐเต เดธเต‡เดตเดจเดตเตเดฎเดพเดฏเตเด‚ เด•เดฎเตเดชเดจเดฟเดฏเตเดฎเดพเดฏเตเด‚ เด‡เดŸเดชเดดเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เดจเตเดญเดตเด‚ เด’เดฐเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดชเดฟเดธเตเดธ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดงเดพเดจ เดธเต‚เดšเด•เด™เตเด™เดณเดฟเดฒเตŠเดจเตเดจเดพเดฃเต เดกเต†เดฒเดฟเดตเดฑเดฟ เดตเต‡เด—เดค. เดกเต†เดฒเดฟเดตเดฑเดฟ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเดฟเดธเตเดธ เดšเต‚เดŸเดพเด•เตเด‚, เด‡เดชเตเดชเต‹เตพ เด•เดดเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ เด‰เดชเดญเต‹เด•เตเดคเดพเดตเดฟเดจเต เด…เดงเดฟเด•เดจเต‡เดฐเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเดฟเดฒเตเดฒ. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏ เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฟเด•เดพเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป 20 เดธเต†เด•เตเด•เตปเดกเต เดฎเดพเดคเตเดฐเดฎเต‡ เดŽเดŸเตเด•เตเด•เต‚ เดŽเด™เตเด•เดฟเตฝ, เดชเดฟเดธเตเดธเดฏเตเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดŽเดคเตเดฐ เดธเดฎเดฏเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚?

เด†เดฆเตเดฏเด‚, เดšเดฟเดฒเดชเตเดชเต‹เตพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เด•เตเดฑเดšเตเดšเต เดจเดฟเดฎเดฟเดทเด™เตเด™เดณเต†เดŸเตเด•เตเด•เตเดฎเต†เดจเตเดจ เดตเดธเตเดคเตเดค เดžเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดŽเดคเตเดฐ เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเดฑเตเดฑเต เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเด•เดฐเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดชเดฐเดพเดคเดฟเด•เตพ เด•เต‡เตพเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ. เดŽเดจเตเดจเดพเตฝ เดˆ เดธเดพเดนเดšเดฐเตเดฏเด‚ เดธเตเดฅเดฟเดฐเดฎเดพเดฏเดฟ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ.

เดŽเดคเตเดฐ เดจเดพเดณเดพเดฏเดฟ? เด‡เดคเดจเตเดธเดฐเดฟเดšเตเดšเต Google เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป, เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดคเดฃเตเดคเตเดค เด†เดฐเด‚เดญเด‚ 5 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เตเดฑเดตเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต "เดธเดพเดงเดพเดฐเดฃ เดชเต‹เดฒเต†" เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต. เดกเต‹เดกเต‹ เดชเดฟเดธเตเดธ เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เด†เดชเตเดชเต เดฒเต‹เดžเตเดšเต เดšเต†เดฏเตเดคเต (เดซเดฏเตผเดฌเต‡เดธเต เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต _app_start) เดšเต†เดฏเตเดคเดคเต เดคเดฃเตเดคเตเดค เดคเตเดŸเด•เตเด•เด‚ เดถเดฐเดพเดถเดฐเดฟ 3 เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดณเตเดณเดฟเตฝ - เด…เดตเตผ เดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต† "เดฎเดฟเด•เดšเตเดšเดคเดฒเตเดฒ, เดญเดฏเด™เตเด•เดฐเดฎเดฒเตเดฒ".

เดŽเดจเตเดจเดพเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต†, เดตเดณเดฐเต†, เดตเดณเดฐเต† เดธเดฎเดฏเดฎเต†เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดชเดฐเดพเดคเดฟเด•เตพ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเดพเตป เดคเตเดŸเด™เตเด™เดฟ! เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, "เดตเดณเดฐเต†, เดตเดณเดฐเต†, เดตเดณเดฐเต† เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏเดคเต" เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เด…เดณเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เด‡เดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เดซเดฏเตผเดฌเต‡เดธเต เดŸเตเดฐเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดชเตเดชเต เด†เดฐเด‚เดญ เดŸเตเดฐเต†เดฏเตเดธเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดˆ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดŸเตเดฐเต†เดฏเตเดธเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดคเตเดฑเด•เตเด•เตเดจเตเดจ เดจเดฟเดฎเดฟเดทเดคเตเดคเดฟเดจเตเด‚ เด†เดฆเตเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† onResume() เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดจเดฟเดฎเดฟเดทเดคเตเดคเดฟเดจเตเด‚ เด‡เดŸเดฏเดฟเดฒเตเดณเตเดณ เดธเดฎเดฏเด‚ เด…เดณเด•เตเด•เตเดจเตเดจเต. เดซเดฏเตผเดฌเต‡เดธเต เด•เตบเดธเต‹เดณเดฟเตฝ เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เดฟเดจเต† _app_start เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเต เดฎเดพเดฑเดฟ:

  • เดถเดฐเดพเดถเดฐเดฟ เด•เต‹เตพเดกเต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเด‚ 95 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เตเดฑเดตเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, 20-เดพเด‚ เดถเดคเดฎเดพเดจเดคเตเดคเดฟเดจเต เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เตเดณเตเดณ เด†เดฐเด‚เดญ เดธเดฎเดฏเด‚ เดเด•เดฆเต‡เดถเด‚ 5 เดธเต†เด•เตเด•เตปเดกเดพเดฃเต (เดšเดฟเดฒเดคเต เด…เดคเดฟเดฒเตเด‚ เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏเดคเดพเดฃเต).
  • เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเด‚ เด’เดฐเต เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเดฎเดฒเตเดฒ, เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ เดตเดณเดฐเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดšเดฟเดฒเดชเตเดชเต‹เตพ เดคเตเดณเตเดณเดฟเด•เตพ เด‰เดฃเตเดŸเต. เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเตเดฑเต† เดธเตเด•เต†เดฏเดฟเตฝ 90 เดฆเดฟเดตเดธเดฎเดพเดฏเดฟ เด‰เดฏเตผเดคเตเดคเดฟเดฏเดชเตเดชเต‹เตพ เดžเด™เตเด™เตพ เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดฐเดฃเตเดŸเต เดšเดฟเดจเตเดคเด•เตพ เดฎเดจเดธเตเดธเดฟเตฝ เดตเดจเตเดจเต:

  1. เดŽเดจเตเดคเต‹ เดšเต‹เดฐเตเดจเตเดจเต.
  2. เดˆ "เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚" เดฑเดฟเดฒเต€เดธเดฟเดจเต เดถเต‡เดทเด‚ เดชเตเดจเดƒเดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เดตเต€เดฃเตเดŸเตเด‚ เดšเต‹เตผเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

โ€œเด’เดฐเตเดชเด•เตเดทเต‡ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเตเดณเตเดณ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚,โ€ เดžเด™เตเด™เตพ เดตเดฟเดšเดพเดฐเดฟเดšเตเดšเต, เดžเด™เตเด™เตพ เดถเดฐเดฟเดฏเดพเดฃเต. เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดžเด™เตเด™เตพ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด’เดฐเต เด•เดพเดทเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต; เดฎเตˆเด—เตเดฐเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดžเด™เตเด™เตพ เด…เดคเต เดฎเดพเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต. เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพเด‚ เด’เดคเตเดคเตเดšเต‡เดฐเตเดจเตเดจเต.

Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดคเต†เดฑเตเดฑเต

เด†เดฆเตเดฏ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดฎเตเดคเตฝ เดธเดœเต€เดตเดฎเดพเดฏ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดฟเดŸเดฏเดฟเดฒเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดœเต€เดตเดฟเดคเดคเตเดคเดฟเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เดŽเด™เตเด™เดจเต† เดฎเดพเดฑเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ. เด‡เดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เด•เดพเดฃเดพเตป เด•เดดเดฟเดฏเตเด‚ เดธเตเดฑเตเดฑเต†เดคเต‹ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดซเดฏเตฝ เดคเตเดฑเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚ เดฑเดฟเดฏเตฝเด‚ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹. ADB เดตเดดเดฟ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เด•เดพเดฃเตเดจเตเดจเดคเดฟเดจเต, Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดซเดฏเตฝ เดชเด•เตผเดคเตเดคเตเด•:

adb exec-out run-as ${PACKAGE_NAME} cat files/${DB_NAME}

เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเดฎเดฏเด™เตเด™เดณเดฟเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดš เดถเต‡เดทเด‚, เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดตเตผเดฆเตเดงเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ
เดฐเดฃเตเดŸเต เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดฑเดฟเดฏเตฝเด‚ เดธเตเดฑเตเดฑเตเดกเดฟเดฏเต‹เดฏเตเดŸเต† เด’เดฐเต เดญเดพเด—เด‚ เดšเดฟเดคเตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต: เด‡เดŸเดคเตเดตเดถเดคเตเดคเต - เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเต เดถเต‡เดทเด‚ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฌเต‡เดธเต, เดตเดฒเดคเตเดตเดถเดคเตเดคเต - เดธเดœเต€เดต เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚. เดตเดธเตเดคเตเด•เตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดŽเดจเตเดจเต เด•เดพเดฃเดพเด‚ ImageEntity ะธ MoneyType เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดตเดณเตผเดจเตเดจเต (เดธเตเด•เตเดฐเต€เตปเดทเต‹เดŸเตเดŸเต เด“เดฐเต‹ เดคเดฐเดคเตเดคเดฟเดฒเตเดฎเตเดณเตเดณ เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต).

เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดตเดณเตผเดšเตเดšเดฏเตเด‚ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดตเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด‚

เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดตเดณเตผเดšเตเดš เดตเดณเดฐเต† เดฎเต‹เดถเดฎเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดคเตเดคเต† เดŽเด™เตเด™เดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต? ActivityManager เดตเดดเดฟ เด‡เดคเต เด…เดณเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต. เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต 4.4 เดฎเตเดคเตฝ, เดฒเต‹เด—เตเด•เดพเดฑเตเดฑเต เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด‚ เดธเดฎเดฏเดตเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเต‹เด—เต เดชเตเดฐเดฆเตผเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดฎเดฏเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดš เดจเดฟเดฎเดฟเดทเด‚ เดฎเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฑเต†เตปเดกเดฑเดฟเด‚เด—เดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ เดตเดฐเต†เดฏเตเดณเตเดณ เด‡เดŸเดตเต‡เดณเดฏเตเด•เตเด•เต เดคเตเดฒเตเดฏเดฎเดพเดฃเต. เดˆ เดธเดฎเดฏเดคเตเดคเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเด‚เดญเดตเด™เตเด™เตพ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต:

  • เดชเตเดฐเด•เตเดฐเดฟเดฏ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•.
  • เดตเดธเตเดคเตเด•เตเด•เดณเตเดŸเต† เด†เดฐเด‚เดญเด‚.
  • เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต† เดธเตƒเดทเตเดŸเดฟเดฏเตเด‚ เดธเดฎเดพเดฐเด‚เดญเดตเตเด‚.
  • เด’เดฐเต เดฒเต‡เด”เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.
  • เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฑเต†เตปเดกเดฑเดฟเด‚เด—เต.

เดžเด™เตเด™เตพเด•เตเด•เต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพ -S, -W เดซเตเดฒเดพเด—เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต ADB เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเด‚ เด•เตŠเดฃเตเดŸเต เดตเดฟเดชเตเดฒเต€เด•เตƒเดค เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดฒเดญเดฟเด•เตเด•เตเด‚:

adb shell am start -S -W ru.dodopizza.app/.MainActivity -c android.intent.category.LAUNCHER -a android.intent.action.MAIN

เด…เดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต เดชเดฟเดŸเดฟเดšเตเดšเดพเตฝ grep -i WaitTime เดธเดฎเดฏเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดฎเต†เดŸเตเดฐเดฟเด•เตเด•เดฟเดจเตเดฑเต† เดถเต‡เด–เดฐเด‚ เด“เดŸเตเดŸเต‹เดฎเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดซเดฒเด™เตเด™เตพ เดฆเตƒเดถเตเดฏเดชเดฐเดฎเดพเดฏเดฟ เดจเต‹เด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด•เต‹เตพเดกเต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚ เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เด—เตเดฐเดพเดซเต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เด…เดคเต‡เดธเดฎเดฏเด‚, เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดตเตเด‚ เดตเดณเตผเดšเตเดšเดฏเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเดคเตเดคเดฟเดจเตเดฑเต† เด…เดคเต‡ เดธเตเดตเดญเดพเดตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเต 4 เดŽเด‚เดฌเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต 15 เดŽเด‚เดฌเดฟเดฏเดพเดฏเดฟ เดตเดณเตผเดจเตเดจเต. เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ, เด•เดพเดฒเด•เตเดฐเดฎเต‡เดฃ (เดคเดฃเตเดคเตเดค เด†เดฐเด‚เดญเดคเตเดคเดฟเดจเตเดฑเต† เดตเดณเตผเดšเตเดšเดฏเต‹เดŸเต†), เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเต‹เดžเตเดšเต เดธเดฎเดฏเดตเตเด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดตเตเด‚ เดตเตผเดฆเตเดงเดฟเดšเตเดšเดคเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เตˆเด•เดณเดฟเตฝ เด’เดฐเต เดธเดฟเดฆเตเดงเดพเดจเตเดคเดฎเตเดฃเตเดŸเต. เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด• เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด‡เดชเตเดชเต‹เตพ เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด…เดคเดฟเดจเดพเตฝ, "เดšเต‹เตผเดšเตเดšเด•เตพ" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด‡เดคเต เดตเดฟเด•เตเดทเต‡เดชเดฃเด‚ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดฎเต‹ เดŽเดจเตเดจเต เดจเต‹เด•เตเด•เดพเดจเตเด‚ เดžเด™เตเด™เตพ เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

เด…เดจเดจเตเดคเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดตเดณเตผเดšเตเดšเดฏเตเดŸเต† เด•เดพเดฐเดฃเด™เตเด™เตพ

"เดšเต‹เตผเดšเตเดšเด•เตพ" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฎเตเดฎเตเดชเต, เด…เดตเตผ เด†เดฆเตเดฏเด‚ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, Realm เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด“เตผเด•เตเด•เดพเด‚.

Realm เด’เดฐเต เดจเต‹เตบ เดฑเดฟเดฒเต‡เดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด†เดฃเต. Android-เดฒเต† เดŽเดคเตเดฐ ORM เดฑเดฟเดฒเต‡เดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เตพ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏเดฟ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดฌเดจเตเดงเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดžเตเดž เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดฎเดพเดชเตเดชเดฟเด‚เด—เตเด•เดณเตเด‚ เด‰เดณเตเดณ เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เตพ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดจเต‡เดฐเดฟเดŸเตเดŸเต Realm เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดกเดฟเดธเตเด•เดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต Realm-เดจเตเดฑเต† เดถเด•เตเดคเดฟเดฏเดพเดฃเต, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดคเต เดชเตเดฐเดฟเดฏเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต.

(เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เต, เดˆ เดตเดฟเดตเดฐเดฃเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เดฎเดคเดฟเดฏเดพเด•เตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต Realm-เดจเต† เด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดตเดพเดฏเดฟเด•เตเด•เดพเด‚. เดชเตเดฐเดฎเดพเดฃเต€เด•เดฐเดฃเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดตเดฐเตเดŸเต† เด…เด•เตเด•เดพเดฆเดฎเดฟ).

เดชเดฒ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเตเด‚ เดฑเดฟเดฒเต‡เดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดถเต€เดฒเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดนเต‚เดกเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ SQL เด‰เดณเตเดณ ORM เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เตพ). เด•เดพเดธเตโ€Œเด•เต‡เดกเดฟเด‚เด—เต เดกเดพเดฑเตเดฑ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตฝ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดฎเดฃเตเดกเดฒเดคเตเดคเดฟเดฒเดฒเตเดฒ.

เดตเดดเดฟเดฏเดฟเตฝ, เด•เดพเดธเตเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตฝ เดธเดตเดฟเดถเต‡เดทเดค เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเตเดจเตเดจเต. เดˆ เดชเตเดจเดฐเดตเดฒเต‹เด•เดจเด‚ ะธ เดฎเดฑเตเดฑเตŠเดจเตเดจเต, เด…เดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเต, เดธเดœเต€เดตเดฎเดพเดฏเดฟ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดŸเต. เดตเตˆเด•เดพเดคเต† เด…เดคเต เดจเดŸเด•เตเด•เตเดฎเต†เดจเตเดจ เดคเต‹เดจเตเดจเดฒเตเดฃเตเดŸเดพเดฏเดฟ. เดŽเดจเตเดจเดพเตฝ เดชเดฟเดจเตเดจเต€เดŸเต เดŽเดฒเตเดฒเดพเด‚ เดถเด•เตเดคเดตเตเด‚ เดฆเตเตผเดฌเดฒเดตเตเดฎเดพเดฏ เดฒเดฟเด™เตเด•เตเด•เดณเตเดŸเต† เด†เดฎเตเด–เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดŸเต, เด…เดคเต เดˆ เดชเตเดฐเดถเตเดจเด‚ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด‚. เดˆ เดฆเต—เดคเตเดฏเดคเตเดคเดฟเตฝ เดตเดณเดฐเต† เดธเดœเต€เดตเดตเตเด‚ เดธเดœเต€เดตเดตเตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดตเดฒเดฟเด•เตเด•เตเด•, เด†เดจเตเดคเดฐเดฟเด• เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เด•เดพเดฐเดฃเด‚ เด‡เดชเตเดชเต‹เตพ เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฏเดฟ เดจเดฟเตผเดคเตเดคเดฟ.

เด•เดพเดธเตเด•เต‡เดกเดฟเด‚เด—เต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเดคเต† เดกเดพเดฑเตเดฑ เดšเต‹เตผเดšเตเดš

เดจเดฟเด™เตเด™เตพ เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒเดพเดคเตเดค เด•เดพเดธเตโ€Œเด•เต‡เดกเดฟเด‚เด—เต เดกเดฟเดฒเต€เดฑเตเดฑเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เดกเดพเดฑเตเดฑ เดšเต‹เตผเดคเตเดคเตเดจเตเดจเดคเต? เดจเดฟเด™เตเด™เตพ Realm เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดจเต†เดธเตเดฑเตเดฑเดกเต เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฃเด‚.
เดจเดฎเตเด•เตเด•เต เด’เดฐเต (เดเดคเดพเดฃเตเดŸเต) เดฏเดฅเดพเตผเดคเตเดฅ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเต‹เด•เตเด•เดพเด‚. เดจเดฎเตเด•เตเด•เตŠเดฐเต เดตเดธเตเดคเตเดตเตเดฃเตเดŸเต CartItemEntity:

@RealmClass
class CartItemEntity(
 @PrimaryKey
 override var id: String? = null,
 ...
 var name: String = "",
 var description: String = "",
 var image: ImageEntity? = null,
 var category: String = MENU_CATEGORY_UNKNOWN_ID,
 var customizationEntity: CustomizationEntity? = null,
 var cartComboProducts: RealmList<CartProductEntity> = RealmList(),
 ...
) : RealmObject()

เด•เดพเตผเดŸเตเดŸเดฟเดฒเต† เด‰เตฝเดชเตเดชเดจเตเดจเดคเตเดคเดฟเดจเต เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เด‰เตพเดชเตเดชเต†เดŸเต† เดตเตเดฏเดคเตเดฏเดธเตเดค เดซเต€เตฝเดกเตเด•เดณเตเดฃเตเดŸเต ImageEntity, เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดฟเดฏ เดšเต‡เดฐเตเดตเด•เตพ CustomizationEntity. เด•เต‚เดŸเดพเดคเต†, เดตเดฃเตเดŸเดฟเดฏเดฟเดฒเต† เด‰เตฝเดชเตเดชเดจเตเดจเด‚ เดธเตเดตเดจเตเดคเด‚ เด‰เตฝเดชเตเดชเดจเตเดจเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด†เด•เดพเด‚ RealmList (CartProductEntity). เดฒเดฟเดธเตเดฑเตเดฑเตเดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เดซเต€เตฝเดกเตเด•เดณเตเด‚ Realm เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฃเต. เด…เดคเต‡ เดเดกเดฟเดฏเดฟเตฝ เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดคเดฟเดฏ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต (copyToRealm() / copyToRealmOrUpdate()) เดšเต‡เตผเดคเตเดคเดพเตฝ, เดˆ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดคเดฟเดฐเตเดคเตเดคเดฟเดฏเต†เดดเตเดคเดชเตเดชเต†เดŸเตเด‚. เดŽเดจเตเดจเดพเตฝ เดŽเดฒเตเดฒเดพ เด†เดจเตเดคเดฐเดฟเด• เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเด‚ (เดšเดฟเดคเตเดฐเด‚, เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตฝ เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟ, cartComboProducts) เดฎเดพเดคเดพเดชเดฟเดคเดพเด•เตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เดฌเดจเตเดงเด‚ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เด…เดตเดฐเตเดฎเดพเดฏเตเดณเตเดณ เดฌเดจเตเดงเด‚ เดจเดทเตโ€ŒเดŸเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพ เด…เดต เด‡เดจเดฟ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเต‹ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ (เดžเด™เตเด™เตพ เด…เดต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด†เด•เตโ€Œเดธเดธเตเดธเตเดšเต†เดฏเตเดฏเตเด•เดฏเต‹ เดฎเตเดดเตเดตเตป "เดชเดŸเตเดŸเดฟเด•" เดฎเดพเดฏเตโ€Œเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ). เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเต† "เด“เตผเดฎเตเดฎ เดšเต‹เตผเดšเตเดš" เดŽเดจเตเดจเต เดตเดฟเดณเดฟเดšเตเดšเต.

เดžเด™เตเด™เตพ Realm-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดŽเดฒเตเดฒเดพ เด˜เดŸเด•เด™เตเด™เดณเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเตเดคเดฐเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเต เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดคเตเดชเต‹เดฒเต†:

val entity = realm.where(CartItemEntity::class.java).equalTo("id", id).findFirst()
if (first != null) {
 deleteFromRealm(first.image)
 deleteFromRealm(first.customizationEntity)
 for(cartProductEntity in first.cartComboProducts) {
   deleteFromRealm(cartProductEntity)
 }
 first.deleteFromRealm()
}
// ะธ ะฟะพั‚ะพะผ ัƒะถะต ัะพั…ั€ะฐะฝัะตะผ

เดจเดฟเด™เตเด™เตพ เด‡เดคเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เดˆ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เด‡เดฎเต‡เดœเต, เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตฝ เดŽเดจเตเดฑเดฟเดฑเตเดฑเดฟ, cartComboProducts เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เตเดณเตเดณเดฟเตฝ เดฎเดฑเตเดฑเต เดจเต†เดธเตเดฑเตเดฑเดกเต Realm เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เด‡เดฒเตเดฒเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฎเดฑเตเดฑเต เดจเต†เดธเตเดฑเตเดฑเดกเต เดฒเต‚เดชเตเดชเตเด•เดณเตเด‚ เดกเดฟเดฒเต€เดฑเตเดฑเตเด•เดณเตเด‚ เด‡เดฒเตเดฒ.

"เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ" เดชเดฐเดฟเดนเดพเดฐเด‚

เดžเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเดคเต เด…เดคเดฟเดตเต‡เด—เด‚ เดตเดณเดฐเตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เดณเต† เดตเตƒเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด•เดฏเตเด‚ เด‡เดคเต เดžเด™เตเด™เดณเตเดŸเต† เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเดถเตโ€Œเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเดฎเต‹เดฏเต†เดจเตเดจเดฑเดฟเดฏเดพเตป เดซเดฒเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเดฎเดพเดฃเต. เด†เดฆเตเดฏเด‚, เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดตเตเด‚ เด…เดตเดฌเต‹เดงเดœเดจเตเดฏเดตเตเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟ, เด…เดคเดพเดฏเดคเต: เด“เดฐเต‹ เดตเดธเตเดคเตเดตเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เด•เตเดŸเตเดŸเดฟเด•เดณเต† เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด’เดฐเต เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดšเต, เด…เดคเต เด…เดคเดฟเดจเตเดฑเต† เดจเต†เดธเตเดฑเตเดฑเดกเต Realm เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต:

interface NestedEntityAware {
 fun getNestedEntities(): Collection<RealmObject?>
}

เดžเด™เตเด™เดณเตเดŸเต† Realm เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเตฝ เดžเด™เตเด™เตพ เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ:

@RealmClass
class DataPizzeriaEntity(
 @PrimaryKey
 var id: String? = null,
 var name: String? = null,
 var coordinates: CoordinatesEntity? = null,
 var deliverySchedule: ScheduleEntity? = null,
 var restaurantSchedule: ScheduleEntity? = null,
 ...
) : RealmObject(), NestedEntityAware {

 override fun getNestedEntities(): Collection<RealmObject?> {
   return listOf(
       coordinates,
       deliverySchedule,
       restaurantSchedule
   )
 }
}

ะ’ getNestedEntities เดžเด™เตเด™เตพ เดŽเดฒเตเดฒเดพ เด•เตเดŸเตเดŸเดฟเด•เดณเต†เดฏเตเด‚ เด’เดฐเต เดซเตเดฒเดพเดฑเตเดฑเต เดฒเดฟเดธเตเดฑเตเดฑเดพเดฏเดฟ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต. เด•เต‚เดŸเดพเดคเต† เด“เดฐเต‹ เดšเตˆเตฝเดกเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเตเด‚ NestedEntityAware เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดคเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด†เดจเตเดคเดฐเดฟเด• Realm เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต ScheduleEntity:

@RealmClass
class ScheduleEntity(
 var monday: DayOfWeekEntity? = null,
 var tuesday: DayOfWeekEntity? = null,
 var wednesday: DayOfWeekEntity? = null,
 var thursday: DayOfWeekEntity? = null,
 var friday: DayOfWeekEntity? = null,
 var saturday: DayOfWeekEntity? = null,
 var sunday: DayOfWeekEntity? = null
) : RealmObject(), NestedEntityAware {

 override fun getNestedEntities(): Collection<RealmObject?> {
   return listOf(
       monday, tuesday, wednesday, thursday, friday, saturday, sunday
   )
 }
}

เด…เด™เตเด™เดจเต†, เดตเดธเตเดคเตเด•เตเด•เดณเตเดŸเต† เด•เต‚เดŸเตเด•เต†เดŸเตเดŸเตฝ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เดพเด‚.

เดŽเดฒเตเดฒเดพ เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เดณเตเด‚ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดฐเต€เดคเดฟ เดžเด™เตเด™เตพ เดŽเดดเตเดคเตเดจเตเดจเต. เดฐเต€เดคเดฟ (เด’เดฐเต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเดฎเดพเดฏเดฟ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดคเต) deleteAllNestedEntities เดŽเดฒเตเดฒเดพ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดธเตเดคเตเด•เตเด•เดณเตเด‚ เดฐเต€เดคเดฟเดฏเตเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต deleteNestedRecursively NestedEntityAware เด‡เดจเตเดฑเตผเดซเต‡เดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเดฒเตเดฒเดพ เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เดณเตเด‚ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

fun <T> Realm.deleteAllNestedEntities(entities: Collection<T>,
 entityClass: Class<out RealmObject>,
 idMapper: (T) -> String,
 idFieldName : String = "id"
 ) {

 val existedObjects = where(entityClass)
     .`in`(idFieldName, entities.map(idMapper).toTypedArray())
     .findAll()

 deleteNestedRecursively(existedObjects)
}

private fun Realm.deleteNestedRecursively(entities: Collection<RealmObject?>) {
 for(entity in entities) {
   entity?.let { realmObject ->
     if (realmObject is NestedEntityAware) {
       deleteNestedRecursively((realmObject as NestedEntityAware).getNestedEntities())
     }
     realmObject.deleteFromRealm()
   }
 }
}

เด…เดคเดฟเดตเต‡เด—เด‚ เดตเดณเดฐเตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด‡เดคเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดˆ เดชเดฐเดฟเดนเดพเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดชเตŠเดคเดฟเดžเตเดž เด† เดตเดธเตเดคเตเด•เตเด•เตพ เดตเดณเดฐเตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเดฟ. เด…เดŸเดฟเดคเตเดคเดฑเดฏเตเดŸเต† เดฎเตŠเดคเตเดคเดคเตเดคเดฟเดฒเตเดณเตเดณ เดตเดณเตผเดšเตเดš เดฎเดจเตเดฆเด—เดคเดฟเดฏเดฟเดฒเดพเดฏเดฟ, เดชเด•เตเดทเต‡ เดจเดฟเตผเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ.

"เดธเดพเดงเดพเดฐเดฃ" เดชเดฐเดฟเดนเดพเดฐเด‚

เด…เดŸเดฟเดคเตเดคเดฑ เด•เต‚เดŸเตเดคเตฝ เดธเดพเดตเดงเดพเดจเดคเตเดคเดฟเตฝ เดตเดณเดฐเดพเตป เดคเตเดŸเด™เตเด™เดฟเดฏเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดตเดณเตผเดจเตเดจเต. เด…เด™เตเด™เดจเต† เดžเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดจเต‹เด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ. เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเต Realm-เตฝ เดกเดพเดฑเตเดฑ เด•เดพเดทเดฟเด‚เด—เต เดตเดณเดฐเต† เดธเดœเต€เดตเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เด“เดฐเต‹ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเด‚ เดŽเดฒเตเดฒเดพ เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเดคเต เด…เดงเตเดตเดพเดจเดฎเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เด…เดชเด•เดŸเดธเดพเดงเตเดฏเดค เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเตเดฎเตเดชเต‹เตพ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฑเด•เตเด•เดพเด‚.

เดžเดพเตป เด‡เดจเตเดฑเตผเดซเต‡เดธเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเต, เดŽเดจเตเดจเดพเตฝ เดŽเดฒเตเดฒเดพเด‚ เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเตเดตเดจเตเดคเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดพเด‚ เดชเตเดฐเดคเดฟเดซเดฒเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฎเตเด•เตเด•เต เด“เดฐเต‹ เด•เตเดฒเดพเดธเต เดซเต€เตฝเดกเดฟเดฒเต‚เดŸเต†เดฏเตเด‚ เดชเต‹เดฏเดฟ เด‡เดคเต เด’เดฐเต Realm เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด†เดฃเต‹ เด…เดคเต‹ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฃเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚:

RealmModel::class.java.isAssignableFrom(field.type)

RealmList::class.java.isAssignableFrom(field.type)

เดซเต€เตฝเดกเต เด’เดฐเต RealmModel เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ RealmList เด†เดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดซเต€เตฝเดกเดฟเดจเตเดฑเต† เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด•. เดŽเดฒเตเดฒเดพเด‚ เดจเดฎเตเดฎเตพ เดฎเตเด•เดณเดฟเตฝ เดšเต†เดฏเตเดคเดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต†เดฏเดพเดฃเต, เด‡เดตเดฟเดŸเต† เดฎเดพเดคเตเดฐเด‚ เด…เดคเต เดธเตเดตเดฏเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด‚. เด•เดพเดธเตเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตฝ เดฐเต€เดคเดฟ เดคเดจเตเดจเต† เดตเดณเดฐเต† เดฒเดณเดฟเดคเดตเตเด‚ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเดคเตเดฎเดพเดฃเต:

fun <T : Any> Realm.cascadeDelete(entities: Collection<T?>) {
 if(entities.isEmpty()) {
   return
 }

 entities.filterNotNull().let { notNullEntities ->
   notNullEntities
       .filterRealmObject()
       .flatMap { realmObject -> getNestedRealmObjects(realmObject) }
       .also { realmObjects -> cascadeDelete(realmObjects) }

   notNullEntities
       .forEach { entity ->
         if((entity is RealmObject) && entity.isValid) {
           entity.deleteFromRealm()
         }
       }
 }
}

เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚ filterRealmObject Realm เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดฎเดพเดคเตเดฐเด‚ เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดฐเต€เดคเดฟ getNestedRealmObjects เดชเตเดฐเดคเดฟเดซเดฒเดจเดคเตเดคเดฟเดฒเต‚เดŸเต†, เด…เดคเต เดŽเดฒเตเดฒเดพ เดจเต†เดธเตเดฑเตเดฑเดกเต Realm เด’เดฌเตเดœเด•เตเดฑเตเดฑเตเด•เดณเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเด•เดฏเตเด‚ เด…เดตเดฏเต† เด’เดฐเต เดฐเต‡เด–เต€เดฏ เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด…เดชเตเดชเต‹เตพ เดจเดฎเตเดฎเตพ เด…เดคเต‡ เด•เดพเดฐเตเดฏเด‚ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเดพเดงเตเดคเดฏเตเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต isValidเด•เดพเดฐเดฃเด‚, เดตเตเดฏเดคเตเดฏเดธเตเดค เดชเดพเดฐเดจเตเดฑเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏเดต เดจเต†เดธเตเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเต‡เด•เตเด•เดพเด‚. เด‡เดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดฟ เดชเตเดคเดฟเดฏ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดเดกเดฟเดฏเตเดŸเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด•-เดœเดจเดฑเต‡เดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

getNestedRealmObjects เดฐเต€เดคเดฟเดฏเตเดŸเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ

private fun getNestedRealmObjects(realmObject: RealmObject) : List<RealmObject> {
 val nestedObjects = mutableListOf<RealmObject>()
 val fields = realmObject.javaClass.superclass.declaredFields

// ะŸั€ะพะฒะตั€ัะตะผ ะบะฐะถะดะพะต ะฟะพะปะต, ะฝะต ัะฒะปัะตั‚ัั ะปะธ ะพะฝะพ RealmModel ะธะปะธ ัะฟะธัะบะพะผ RealmList
 fields.forEach { field ->
   when {
     RealmModel::class.java.isAssignableFrom(field.type) -> {
       try {
         val child = getChildObjectByField(realmObject, field)
         child?.let {
           if (isInstanceOfRealmObject(it)) {
             nestedObjects.add(child as RealmObject)
           }
         }
       } catch (e: Exception) { ... }
     }

     RealmList::class.java.isAssignableFrom(field.type) -> {
       try {
         val childList = getChildObjectByField(realmObject, field)
         childList?.let { list ->
           (list as RealmList<*>).forEach {
             if (isInstanceOfRealmObject(it)) {
               nestedObjects.add(it as RealmObject)
             }
           }
         }
       } catch (e: Exception) { ... }
     }
   }
 }

 return nestedObjects
}

private fun getChildObjectByField(realmObject: RealmObject, field: Field): Any? {
 val methodName = "get${field.name.capitalize()}"
 val method = realmObject.javaClass.getMethod(methodName)
 return method.invoke(realmObject)
}

เดคเตฝเดซเดฒเดฎเดพเดฏเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเต เด•เต‹เดกเดฟเตฝ เด“เดฐเต‹ เดกเดพเดฑเตเดฑเดพ เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเด‚ เดžเด™เตเด™เตพ "เด•เดพเดธเตโ€Œเด•เต‡เดกเดฟเด‚เด—เต เดกเดฟเดฒเต€เดฑเตเดฑเต" เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เดคเดฟเดฐเตเด•เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต:

override fun <T : Entity> insert(
 entityInformation: EntityInformation,
 entities: Collection<T>): Collection<T> = entities.apply {
 realmInstance.cascadeDelete(getManagedEntities(entityInformation, this))
 realmInstance.copyFromRealm(
     realmInstance
         .copyToRealmOrUpdate(this.map { entity -> entity as RealmModel }
 ))
}

เด†เดฆเตเดฏเด‚ เดฐเต€เดคเดฟ getManagedEntities เดšเต‡เตผเดคเตเดค เดŽเดฒเตเดฒเดพ เดตเดธเตเดคเตเด•เตเด•เดณเตเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดฐเต€เดคเดฟ cascadeDelete เดชเตเดคเดฟเดฏเดต เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดถเต‡เด–เดฐเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดตเดธเตเดคเตเด•เตเด•เดณเตเด‚ เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเตเดŸเดจเต€เดณเด‚ เดžเด™เตเด™เตพ เดˆ เดธเดฎเต€เดชเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. Realm-เดฒเต† เดฎเต†เดฎเตเดฎเดฑเดฟ เดฒเต€เด•เตเด•เตเด•เตพ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเดฏเดฟ. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เด•เต‹เตพเดกเต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด…เดคเต‡ เด…เดณเดตเต†เดŸเตเดชเตเดชเต เดจเดŸเดคเตเดคเดฟเดฏ เดถเต‡เดทเด‚, เดžเด™เตเด™เตพ เดซเดฒเด‚ เด•เดพเดฃเตเดจเตเดจเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด• เด•เดพเดธเตโ€Œเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด•เต‹เตพเดกเต เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด†เดถเตเดฐเดฟเดคเดคเตเดตเด‚ เด—เตเดฐเต€เตป เดฒเตˆเตป เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดซเดฒเด™เตเด™เดณเตเด‚ เดจเดฟเด—เดฎเดจเด™เตเด™เดณเตเด‚

เด…เดจเตเดฆเดฟเดจเด‚ เดตเดณเดฐเตเดจเตเดจ Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดณเดฐเต† เดธเดพเดตเดงเดพเดจเดคเตเดคเดฟเตฝ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต. เดจเต†เดธเตเดฑเตเดฑเดกเต เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ "เด•เดพเดธเตโ€Œเด•เต‡เดกเดฟเด‚เด—เต เดกเดฟเดฒเต€เดฑเตเดฑเต" เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด’เดฐเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เดฟ. _app_start เดฎเต†เดŸเตเดฐเดฟเด•เต เดตเดดเดฟ เดžเด™เตเด™เดณเตเดŸเต† เดคเต€เดฐเตเดฎเดพเดจเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเต‹เดžเตเดšเต เดธเดฎเดฏเดคเตเดคเต† เดŽเด™เตเด™เดจเต† เดฌเดพเดงเดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เดžเด™เตเด™เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดตเดฟเดถเด•เดฒเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ, เดžเด™เตเด™เตพ 90 เดฆเดฟเดตเดธเดคเตเดคเต† เดธเดฎเดฏ เด•เดพเดฒเดฏเดณเดตเต เดŽเดŸเตเดคเตเดคเต เด•เดพเดฃเตเด•: เดถเดฐเดพเดถเดฐเดฟเดฏเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† 95-เดพเด‚ เดถเดคเดฎเดพเดจเดคเตเดคเดฟเตฝ เดตเดฐเตเดจเตเดจเดคเตเดฎเดพเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฒเต‹เดžเตเดšเต เดธเดฎเดฏเด‚ เด•เตเดฑเดฏเดพเตป เดคเตเดŸเด™เตเด™เดฟ, เด‡เดจเดฟ เด‰เดฏเดฐเตเดจเตเดจเดฟเดฒเตเดฒ.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด•เดพเดธเตเด•เต‡เดกเต เดกเดฟเดฒเต€เดทเตป เดŽเด™เตเด™เดจเต† เดจเต€เดฃเตเดŸ เดฒเต‹เดžเตเดšเดฟเตฝ เดตเดฟเดœเดฏเดฟเดšเตเดšเต เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดฅ

เดจเดฟเด™เตเด™เตพ เดเดดเต เดฆเดฟเดตเดธเดคเตเดคเต† เดšเดพเตผเดŸเตเดŸเต เดจเต‹เด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, _app_start เดฎเต†เดŸเตเดฐเดฟเด•เต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดพเดฃเต†เดจเตเดจเตเด‚ 1 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เตเดฑเดตเดพเดฃเต†เดจเตเดจเตเด‚ เดคเต‹เดจเตเดจเตเดจเตเดจเต.

_app_start-เดจเตเดฑเต† เดถเดฐเดพเดถเดฐเดฟ เดฎเต‚เดฒเตเดฏเด‚ 5 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เต‚เดŸเตเดคเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ, Firebase เด…เดฑเดฟเดฏเดฟเดชเตเดชเตเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเตเด‚ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดžเด™เตเด™เตพเด•เตเด•เต เด•เดพเดฃเดพเดจเดพเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเตฝ เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดฐเตเดคเต, เดชเด•เดฐเด‚ เด…เด•เดคเตเดคเต เดชเต‹เดฏเดฟ เด…เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.

Realm เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด•เดค เด…เดคเต เด’เดฐเต เดจเต‹เตบ เดฑเดฟเดฒเต‡เดทเดฃเตฝ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เด†เดฃเต เดŽเดจเตเดจเดคเดพเดฃเต. เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเตเดฑเต† เดŽเดณเตเดชเตเดชเดตเตเด‚ ORM เดธเตŠเดฒเตเดฏเต‚เดทเดจเตเด•เดณเตเดฎเดพเดฏเตเดณเตเดณ เดธเดพเดฎเตเดฏเดตเตเด‚ เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดฒเดฟเด™เตเด•เดฟเด‚เด—เตเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เด‡เดคเดฟเดจเต เด•เดพเดธเตเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตฝ เด‡เดฒเตเดฒ.

เด‡เดคเต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเต†เดธเตเดฑเตเดฑเดกเต เดตเดธเตเดคเตเด•เตเด•เตพ เด…เดŸเดฟเดžเตเดžเตเด•เต‚เดŸเตเด•เดฏเตเด‚ "เดšเต‹เตผเดจเตเดจเตเดชเต‹เด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚." เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต เดจเดฟเดฐเดจเตเดคเดฐเด‚ เดตเดณเดฐเตเด‚, เด‡เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเดฑเต† เดธเตเดฒเต‹เดกเต—เตบ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเดฟเดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเด‚.

เดฑเดฟเดฏเตฝเดฎเดฟเดฒเต† เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เด•เดพเดธเตโ€Œเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตฝ เดŽเด™เตเด™เดจเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดšเต†เดฏเตเดฏเดพเดฎเต†เดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด…เดจเตเดญเดตเด‚ เดžเดพเตป เดชเด™เตเด•เดฟเดŸเตเดŸเต, เด…เดคเต เด‡เดคเตเดตเดฐเต† เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเดพเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดชเดฑเดฏเตเด• ะธ เดชเดฑเดฏเตเด•. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเตเดฑเตเดฑเดพเตผเดŸเตเดŸเดชเตเดชเต เดธเดฎเดฏเดคเตเดคเต† เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดฟ.

เดˆ เดธเดตเดฟเดถเต‡เดทเดคเดฏเตเดŸเต† เด†เดธเดจเตเดจเดฎเดพเดฏ เดฐเต‚เดชเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดšเตผเดšเตเดšเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเด‚, Realm-เตฝ เด•เดพเดธเตเด•เต‡เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฒเดฟเดจเตเดฑเต† เด…เดญเดพเดตเด‚ เดกเดฟเดธเตˆเตป เดตเดดเดฟเดฏเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดชเตเดคเดฟเดฏ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเด•. เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ Realm เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเตเดคเดฐเด‚ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตเดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•