Content Hub - ເຄັດລັບ ແລະ ເຕັກນິກ¶
ໜ້າແບ່ງປັນ Content Hub¶
ໃນ Ubuntu Touch ແອັບຕ່າງໆຈະຖືກຈຳກັດຂອບເຂດ (confined). ວິທີການແບ່ງປັນໄຟລ໌ລະຫວ່າງພວກມັນແມ່ນຜ່ານ Content Hub, ເຊິ່ງເປັນສ່ວນໜຶ່ງຂອງລະບົບທີ່ເບິ່ງແຍງການນຳເຂົ້າ, ສົ່ງອອກ ແລະ ແບ່ງປັນໄຟລ໌.
ວິທີຕ່າງໆໃນການແບ່ງປັນເນື້ອຫາ¶
ດັ່ງທີ່ພວກເຮົາເຫັນໃນ ເອກະສານ Content Hub, ມີຫຼາຍວິທີໃນການຈັດການໄຟລ໌ທີ່ຈະແບ່ງປັນ:
ContentHandler.Source(ແອັບທີ່ເລືອກຈະສະໜອງໄຟລ໌ທີ່ຈະນຳເຂົ້າ)ContentHandler.Destination(ແອັບທີ່ເລືອກຈະເປັນປາຍທາງສຳລັບໄຟລ໌ທີ່ສົ່ງອອກ)ContentHandler.Share(ແອັບທີ່ເລືອກຈະເປັນປາຍທາງສຳລັບໄຟລ໌ທີ່ສົ່ງອອກ, ເຊິ່ງຈາກນັ້ນຈະຖືກແບ່ງປັນອອກໄປພາຍນອກ)
ການນຳເຂົ້າ (Importing)¶
Webapp Creator ໃນ OpenStore¶
ເມື່ອເບິ່ງເຂົ້າໄປໃນໂຄ້ດຂອງ Webapp Creator, ພວກເຮົາຈະພົບເຫັນໂຄ້ດເພື່ອນຳເຂົ້າຮູບພາບທີ່ຈະໃຊ້ເປັນໄອຄອນ. ການແຕະໃສ່ບ່ອນວາງ ຈະເປີດ Content Hub ທີ່ຈະໃຫ້ພວກເຮົາເລືອກບ່ອນທີ່ຈະນຳເຂົ້າຮູບພາບ (ເບິ່ງຊອດໂຄ້ດ Webapp Creator)
ContentPeerPicker {
anchors { fill: parent; topMargin: picker.header.height }
visible: parent.visible
showTitle: false
contentType: picker.contentType //ContentType.Pictures
handler: picker.handler //ContentHandler.Source
ContentPeerPicker ແມ່ນອົງປະກອບທີ່ສະແດງແອັບຕ່າງໆ.
var importPage = mainPageStack.push(Qt.resolvedUrl("ImportPage.qml"),{"contentType": ContentType.Pictures, "handler": ContentHandler.Source})
contentType ຖືກສົ່ງໄປໃນ Main.qml ເປັນ ContentType.Pictures. ດັ່ງນັ້ນ, ພວກເຮົາຈະເຫັນພຽງແຕ່ແອັບທີ່ພວກເຮົາສາມາດນຳເຂົ້າຮູບພາບໄດ້ເທົ່ານັ້ນ. handler ຖືກສົ່ງໄປໃນແຖວດຽວກັນເປັນ ContentHandler.Source. ເນື່ອງຈາກພວກເຮົາຕ້ອງການນຳເຂົ້າຮູບພາບຈາກແອັບທີ່ເລືອກໃນ Content Hub.
ການສົ່ງອອກ (Exporting)¶
Gelek ໃນ OpenStore¶
ໃນ Gelek, ພວກເຮົາຈະຈົບລົງດ້ວຍເກມທີ່ບັນທຶກໄວ້ຈຳນວນໜຶ່ງ ທີ່ພວກເຮົາຕ້ອງການບັນທຶກໄວ້ໃນອຸປະກອນຂອງພວກເຮົາ ຫຼື ແບ່ງປັນກັບຕົວເຮົາເອງ (ໃນ Telegram ແລະ ຈາກນັ້ນບັນທຶກພວກມັນໄວ້ໃນຄອມພິວເຕີຂອງພວກເຮົາ).
ການແຕະໃສ່ໄອຄອນດາວໂຫຼດ ພວກເຮົາຈະໄດ້ຮັບ Content Hub ເພື່ອ ບັນທຶກ ໄຟລ໌ເກມ (ເຊິ່ງຄວາມຈິງແລ້ວແມ່ນການສົ່ງອອກ).
ໄຟລ໌ເກມແມ່ນໄຟລ໌ປະເພດ glksave. ພວກເຮົາຈະບອກ Content Hub ວ່າພວກເຮົາກຳລັງສົ່ງໄຟລ໌ປະເພດ All (ເບິ່ງໂຄ້ດ Install Page).
ContentPeerPicker {
anchors { fill: parent; topMargin: picker.header.height }
visible: parent.visible
showTitle: false
contentType: ContentType.All
handler: ContentHandler.Destination
onPeerSelected: {
contentType ແມ່ນ ContentType.All, ດັ່ງນັ້ນ ພວກເຮົາຈະເຫັນພຽງແຕ່ແອັບທີ່ສາມາດຮັບປະເພດໄຟລ໌ທີ່ບໍ່ໄດ້ໝາຍໄວ້. handler ແມ່ນ ContentHandler.Destination, ດັ່ງນັ້ນ ແອັບທີ່ເລືອກຄວນຈະເກັບຮັກສາເກມທີ່ບັນທຶກໄວ້.
ການແຕະໃສ່ File Manager ພວກເຮົາຈະບັນທຶກເກມທີ່ບັນທຶກໄວ້ໃນໂຟນເດີທີ່ພວກເຮົາເລືອກ.
ດຽວກ່ອນ. ເປັນຫຍັງຈຶ່ງມີແອັບທີ່ແຕກຕ່າງກັນ?¶
Content Hub: Export ທຽບກັບ Share¶
ນັກພັດທະນາແຕ່ລະຄົນສາມາດຕັດສິນໃຈກົດລະບຽບທີ່ແຕ່ລະແອັບຈະປະຕິບັດຕາມທີ່ກ່ຽວຂ້ອງກັບ Content Hub. ເປັນຫຍັງ OpenStore ຈຶ່ງສະແດງເປັນປາຍທາງຂອງການສົ່ງອອກ?
ມາເບິ່ງ manifest.json ຂອງມັນກັນ
"hooks": {
"openstore": {
"apparmor": "openstore/openstore.apparmor",
"desktop": "openstore/openstore.desktop",
"urls": "openstore/openstore.url-dispatcher",
"content-hub": "openstore/openstore-contenthub.json"
}
},
ໂຄ້ດຂ້າງເທິງກຳນົດວ່າ hooks ສຳລັບແອັບຊື່ "openstore" ທີ່ກ່ຽວຂ້ອງກັບ "content-hub" ຄວນປະຕິບັດຕາມກົດລະບຽບທີ່ກຳນົດໄວ້ໃນ openstore-contenthub.json
{
"destination": [
"all"
]
}
ນີ້ໝາຍຄວາມວ່າ, OpenStore ຈະເປັນປາຍທາງສຳລັບ ContentTypes ທັງໝົດ.
ແລ້ວ uMatriks ເດ? ມາເບິ່ງ content-hub.json ຂອງມັນກັນ
{
"destination": [
"pictures",
"documents",
"videos",
"contacts",
"music"
],
"share": [
"pictures",
"documents",
"videos",
"contacts",
"music"
],
"source": [
"pictures",
"documents",
"videos",
"contacts",
"music"
]
}
ດັ່ງນັ້ນ, ດ້ວຍຕົວຢ່າງນີ້, uMatriks ຈະສາມາດເປັນປາຍທາງ, ຕົ້ນທາງ ແລະ ແອັບແບ່ງປັນສຳລັບ ContentType ທຸກປະເພດ. ແລ້ວ hooks ອື່ນໆໃນ manifest.json ເດ? ນັ້ນຈະຖືກສົນທະນາໃນຄູ່ມືຖັດໄປ.