உள்ளடக்க நடுவண் - உதவிக்குறிப்புகள் மற்றும் தந்திரங்கள்

../../_images/01.png

உள்ளடக்க நடுவண் பகிர்வு பக்கம்

உபுண்டு தொடுதலில் பயன்பாடுகள் கட்டுப்படுத்தப்பட்டுள்ளன. அவற்றுக்கு இடையில் கோப்புகளைப் பகிர்வதற்கான வழி, கோப்பு இறக்குமதி, ஏற்றுமதி மற்றும் பகிர்வு ஆகியவற்றை கவனித்துக்கொள்ளும் அமைப்பின் ஒரு பகுதியான உள்ளடக்க மையத்தின் மூலம்.

உள்ளடக்கத்தைப் பகிர்வதற்கான வெவ்வேறு வழிகள்

உள்ளடக்க மைய ஆவணத்தில், கோப்பை கையாண்டுள்ள பல வழிகள் பகிரப்பட வேண்டும் என நாம் காணலாம்:

  • ContentHandler.source (தேர்ந்தெடுக்கப்பட்ட பயன்பாடு இறக்குமதி செய்ய வேண்டிய கோப்பை வழங்கும்)

  • ContentHandler.Destinatination (தேர்ந்தெடுக்கப்பட்ட பயன்பாடு ஏற்றுமதி செய்யப்பட்ட கோப்பிற்கான இடமாக இருக்கும்)

  • ContentHandler.share (தேர்ந்தெடுக்கப்பட்ட பயன்பாடு ஏற்றுமதி செய்யப்பட்ட கோப்பிற்கான இடமாக இருக்கும், பின்னர் அது வெளிப்புறமாக பகிரப்படும்)

../../_images/12.svg

இறக்குமதி

../../_images/02.png

திறந்தகடையில் வலைபயன்பாடு உருவாக்கியவர்

வலைபயன்பாடு படைப்பாளரின் குறியீட்டைப் பார்க்கும்போது, ஐகானாகப் பயன்படுத்தப்பட வேண்டிய படத்தை இறக்குமதி செய்வதற்கான குறியீட்டைக் கண்டுபிடிப்போம். இடத்தை வைத்திருப்பவரைத் தட்டுவது படத்தை எங்கிருந்து இறக்குமதி செய்ய வேண்டும் என்பதைத் தேர்வுசெய்யும் உள்ளடக்க மையத்தைத் திறக்கும் (வலைபயன்பாடு கிரியேட்டர் மூலக் குறியீட்டைக் காண்க)

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 ஆக அனுப்பப்படுகிறது. எனவே, படங்களை மட்டுமே இறக்குமதி செய்யக்கூடிய பயன்பாடுகளை மட்டுமே பார்ப்போம். ஏண்ட்லர் ContentHandler.Source இன் அதே வரியில் அனுப்பப்படுகிறது. உள்ளடக்க மையத்தில் தேர்ந்தெடுக்கப்பட்ட பயன்பாட்டிலிருந்து ஒரு படத்தை இறக்குமதி செய்ய விரும்புகிறோம்.

ஏற்றுமதி

../../_images/04.png

திறந்தகடையில் கெலெக்

கெலெக்கில், நாங்கள் எங்கள் கருவியில் சேமிக்க விரும்பும் சில சேமித்த விளையாட்டுகளுடன் முடிவுக்கு வரப்போகிறோம் அல்லது நம்முடன் பகிர்ந்து கொள்ளலாம் (டெலிகிராமில் அவற்றை எங்கள் கணினியில் சேமிக்கவும்).

../../_images/05.png

பதிவிறக்க ஐகானைத் தட்டினால், விளையாட்டு கோப்பை சேமிக்க உள்ளடக்க மையத்தைப் பெறுவோம் (இது உண்மையில் ஏற்றுமதி).

விளையாட்டுக் கோப்பு glksave வகை கோப்பு. அனைத்தையும் என்ற வகையின் கோப்பை நாங்கள் அனுப்புகிறோம் என்று உள்ளடக்க மையமாகக் கூறுவோம் (நிறுவும் பக்கக் குறியீட்டைக் காண்க).

ContentPeerPicker {
    anchors { fill: parent; topMargin: picker.header.height }
    visible: parent.visible
    showTitle: false
    contentType: ContentType.All
    handler: ContentHandler.Destination

    onPeerSelected: {

ContentType என்பது ContentType.all, எனவே குறிக்கப்படாத கோப்பு வகைகளைப் பெறக்கூடிய பயன்பாடுகளை மட்டுமே நாங்கள் காண்போம். ஏண்ட்லர் என்பது ContentHandler.destinatination, எனவே தேர்ந்தெடுக்கப்பட்ட பயன்பாடு சேமித்த விளையாட்டை சேமிக்க வேண்டும்.

கோப்பு மேலாளரைத் தட்டினால், சேமித்த விளையாட்டை நாங்கள் தேர்ந்தெடுக்கும் கோப்புறையில் சேமிப்போம்.

பகிர்வு

இதேபோல், சேர் ஐகானைத் தட்டுவது டெலிகிராம் மூலம் சேமித்த விளையாட்டை நாமே அனுப்ப அனுமதிக்கும் (வலைபயன்பாடு கிரியேட்டர் இறக்குமதி பக்க மூலக் குறியீட்டைக் காண்க). பகிர்வு ஏற்றுமதிக்கு ஒத்ததாகும், தவிர இலக்குப் பயன்பாடு உள்ளடக்கத்தை வெளிப்புறமாகப் பகிர்ந்து கொள்ளலாம் (எடுத்துக்காட்டாக, தந்தி அல்லது உரை செய்தி வழியாக).

ContentPeerPicker {
    anchors { fill: parent; topMargin: picker.header.height }
    visible: parent.visible
    showTitle: false
    contentType: picker.contentType //ContentType.Pictures
    handler: picker.handler //ContentHandler.Source

    onPeerSelected: {

இதற்கும் முந்தைய குறியீட்டிற்கும் உள்ள ஒரே வேறுபாடு என்னவென்றால், ஏண்ட்லர் என்பது ContentHandler.share.

ஒரு மணித்துளி காத்திருங்கள். வெவ்வேறு பயன்பாடுகள் ஏன்?

../../_images/08.png

உள்ளடக்க மையம்: ஏற்றுமதி vs பங்கு

உள்ளடக்க மையத்துடன் ஒவ்வொரு பயன்பாடும் பின்பற்றும் விதிகளை ஒவ்வொரு டெவலப்பரும் தீர்மானிக்க முடியும். ஓபன்ச்டோர் ஏன் ஏற்றுமதியின் இலக்காகக் காட்டப்படுகிறது?

அதன் Manifest.json ஐ சரிபார்க்கலாம்

"hooks": {
    "openstore": {
        "apparmor": "openstore/openstore.apparmor",
        "desktop": "openstore/openstore.desktop",
        "urls": "openstore/openstore.url-dispatcher",
        "content-hub": "openstore/openstore-contenthub.json"
    }
},

மேலே உள்ள குறியீடு "content-hub" தொடர்பாக "openstore" என்று பெயரிடப்பட்ட பயன்பாட்டிற்கான கொக்கிகள் openstore-contenthub.json இல் வரையறுக்கப்பட்ட விதிகளைப் பின்பற்ற வேண்டும் என்று வரையறுக்கிறது

{
    "destination": [
        "all"
    ]
}

இதன் பொருள், ஓபன்ச்டோர் அனைத்து ContentTypes க்கான இடமாக இருக்கும்.

உமாத்ரிக்ச் பற்றி என்ன? அதன் உள்ளடக்க-HUB.JSON ஐப் பார்ப்போம்

{
    "destination": [
        "pictures",
        "documents",
        "videos",
        "contacts",
        "music"
    ],
    "share": [
        "pictures",
        "documents",
        "videos",
        "contacts",
        "music"
    ],
    "source": [
        "pictures",
        "documents",
        "videos",
        "contacts",
        "music"
    ]
}

எனவே, இந்த எடுத்துக்காட்டுடன், உமாட்ரிக்ச் அனைத்து வகையான உள்ளடக்க வகை என்பதற்கும் இலக்கு, மூலமாக மற்றும் பகிர்வு பயன்பாடாக இருக்க முடியும். manifest.json இல் உள்ள மற்ற கொக்கிகள் பற்றி என்ன? அது அடுத்த வழிகாட்டியில் விவாதிக்கப்படுகிறது.