ໄດເຣັກທໍຣີທີ່ຂຽນໄດ້¶
ການຈຳກັດຂອບເຂດຂອງແອັບ (App confinement) ແມ່ນສ່ວນໜຶ່ງຂອງແນວຄວາມຄິດຄວາມປອດໄພຂອງ Ubuntu Touch. ຂໍ້ມູນສາມາດແລກປ່ຽນລະຫວ່າງແອັບໄດ້ຕາມນະໂຍບາຍ AppArmor ເທົ່ານັ້ນ, ສ່ວນໃຫຍ່ແມ່ນໃຊ້ ContentHub. ທີ່ກ່າວມານີ້, ແອັບສາມາດອ່ານ ແລະ ຂຽນໄຟລ໌ທີ່ຢູ່ໃນໜຶ່ງໃນສາມໄດເຣັກທໍຣີສະເພາະຂອງແອັບ ທີ່ອະທິບາຍໄວ້ໃນຄູ່ມືນີ້ເທົ່ານັ້ນ.
Path ມາດຕະຖານ¶
ນອກເໜືອຈາກການເຂົ້າເຖິງການຂຽນໃສ່ໄດເຣັກທໍຣີແອັບທີ່ອະທິບາຍໄວ້ຂ້າງລຸ່ມນີ້, ແອັບສາມາດຂຽນຂໍ້ຄວາມ debug ໃສ່ໄຟລ໌ log ຂອງແອັບທີ່ຕັ້ງຢູ່ /home/phablet/.cache/upstart/application-click-<fullappname>_<appname>_<version>.log. ເພື່ອເພີ່ມຂໍ້ຄວາມໃສ່ໄຟລ໌ log, ໃຫ້ໃຊ້ຟັງຊັນ Qt debug.
Config¶
Path: /home/phablet/.config/<fullappname>/
ນີ້ແມ່ນບ່ອນເກັບໄຟລ໌ການຕັ້ງຄ່າ (configurations). ຕົວຢ່າງ: ແອັບເພງເກັບການຕັ້ງຄ່າຂອງມັນໄວ້ທີ່ /home/phablet/.config/com.ubuntu.music/com.ubuntu.music.conf.
Cache¶
Path: /home/phablet/.cache/<fullappname>/
ນີ້ແມ່ນບ່ອນ cache ຂໍ້ມູນໄວ້ໃຊ້ພາຍຫຼັງ. Cache ຍັງຖືກໃຊ້ໂດຍ Content Hub. ຕົວຢ່າງ: ໄຟລ໌ທີ່ຖືກແບ່ງປັນກັບແອັບເພງ ສາມາດພົບໄດ້ໃນ /home/phablet/.cache/com.ubuntu.music/HubIncoming/.
Note
ຂໍ້ມູນໃນ cache directory ຄວນຖືວ່າເປັນຂໍ້ມູນຊົ່ວຄາວ ແລະ ແອັບຄວນຍັງເຮັດວຽກໄດ້ປົກກະຕິຖ້າ directory ນີ້ຖືກລຶບ - ການລຶບ cache ມັກຈະເຮັດເພື່ອຄືນພື້ນທີ່ວ່າງໃນອຸປະກອນ. ຢ່າເກັບຂໍ້ມູນບັນຊີຜູ້ໃຊ້ໄວ້ບ່ອນນີ້ :)
ຂໍ້ມູນແອັບ¶
Path: /home/phablet/.local/share/<fullappname>/
ນີ້ແມ່ນບ່ອນທີ່ແອັບຂອງທ່ານເກັບຂໍ້ມູນໃດໆ. ຕົວຢ່າງ: ແອັບເພງເກັບຖານຂໍ້ມູນຂອງມັນໄວ້ທີ່ /home/phablet/.local/share/com.ubuntu.music/Databases/.
ການໃຊ້ Path ມາດຕະຖານໃນ C++¶
Qt header QStandardPaths ໃຫ້ຕຳແໜ່ງທີ່ແອັບສາມາດຂຽນໄດ້ໃນ C++:
#include <QStandardPaths>
...
QString configPath = QStandardPaths::writableLocation(QStandardPaths::AppConfigLocation);
QString cachePath = QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
QString appDataPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation);
...
ເນື່ອງຈາກຄ່າຂອງ QStandardPaths strings ຖືກຕັດສິນໂດຍ ຊື່ແອັບພລິເຄຊັນ Qt, ອັນນີ້ຈຳເປັນຕ້ອງຄືກັນກັບຊື່ແອັບພລິເຄຊັນ clickable.
Warning
ການຕັ້ງຄ່າ organizationName ຈະປ່ຽນ path ທີ່ສົ່ງຄືນໂດຍຟັງຊັນເຫຼົ່ານີ້ເຊັ່ນກັນ - ຖ້າທ່ານຈຳເປັນຕ້ອງເຮັດສິ່ງນີ້, ໃຫ້ຕັ້ງມັນເປັນຊື່ແອັບພລິເຄຊັນ clickable ເຊັ່ນກັນ, ຖ້າບໍ່ດັ່ງນັ້ນ path ຈະບໍ່ເຮັດວຽກໃນອຸປະກອນ.
ການໃຊ້ Path ມາດຕະຖານໃນ QML¶
ໂມດູນ Qt Qt.labs.platform ໃຫ້ຕຳແໜ່ງທີ່ແອັບສາມາດຂຽນໄດ້ໃນ QML:
import Qt.labs.platform 1.0
...
Label
{
text: StandardPaths.writableLocation(StandardPaths.AppConfigLocation)
}
Label
{
text: StandardPaths.writableLocation(StandardPaths.CacheLocation)
}
Label
{
text: StandardPaths.writableLocation(StandardPaths.AppDataLocation)
}
...
ສັງເກດວ່າ QStandardPaths ສົ່ງຄືນ path ('/phablet/home/...'), ແລະ QML StandardPaths ສົ່ງຄືນ urls ('file:///phablet/home/...'). ອັນນີ້ຕ້ອງໄດ້ຮັບການພິຈາລະນາເປັນພິເສດ ຖ້າແອັບກຳລັງແບ່ງປັນ location strings ລະຫວ່າງ QML ແລະ C++.