unity3d
Android प्लगइन्स 101 - एक परिचय
खोज…
परिचय
यह विषय एकता के लिए एंड्रॉइड प्लगइन्स बनाने के तरीके पर एक श्रृंखला का पहला हिस्सा है। यदि आपको प्लगइन्स बनाने का कोई अनुभव नहीं है और / या Android OS है तो यहां से शुरू करें।
टिप्पणियों
इस श्रृंखला के माध्यम से, मैं बड़े पैमाने पर बाहरी लिंक का उपयोग करता हूं जिसे मैं आपको पढ़ने के लिए प्रोत्साहित करता हूं। जबकि प्रासंगिक सामग्री के पैराफ्रेस्ड संस्करण यहां शामिल किए जाएंगे, ऐसे समय भी हो सकते हैं जब अतिरिक्त पढ़ने में मदद मिलेगी।
Android प्लगइन्स के साथ शुरुआत
वर्तमान में, एकता देशी एंड्रॉइड कोड को कॉल करने के दो तरीके प्रदान करती है।
- जावा में देशी Android कोड लिखें, और C # का उपयोग करके इन जावा कार्यों को कॉल करें
- एंड्रॉइड OS का हिस्सा होने वाले कार्यों को सीधे कॉल करने के लिए C # कोड लिखें
देशी कोड के साथ बातचीत करने के लिए, एकता कुछ कक्षाएं और कार्य प्रदान करती है।
- AndroidJavaObject - यह एक आधार वर्ग है जो एकता देशी कोड के साथ बातचीत करने के लिए प्रदान करता है। देशी कोड से लौटी लगभग किसी भी वस्तु को AndroidJavaObject के रूप में संग्रहीत किया जा सकता है
- AndroidJavaClass - AndroidJavaObject से इनहेरिट करता है। इसका उपयोग आपके मूल कोड में कक्षाओं को संदर्भित करने के लिए किया जाता है
- किसी मूल ऑब्जेक्ट की आवृत्ति, और स्थिर GetStatic / SetStatic संस्करणों के मान प्राप्त / सेट करें
- देशी गैर-स्थिर और स्थिर कार्यों को कॉल करने के लिए कॉल / कॉलस्टैटिक
एक प्लगइन और शब्दावली बनाने के लिए रूपरेखा
- एंड्रॉइड स्टूडियो में देशी जावा कोड लिखें
- JAR / AAR फ़ाइल में कोड निर्यात करें ( JAR फ़ाइलों और AAR फ़ाइलों के लिए चरण यहाँ)
- संपत्ति / प्लगइन्स / Android पर अपने एकता परियोजना में जार / एएआर फ़ाइल की प्रतिलिपि बनाएँ
- प्लगइन में फ़ंक्शन को कॉल करने के लिए यूनिटी में कोड लिखें (C # हमेशा यहां जाने का तरीका रहा है)
ध्यान दें कि यदि आप एक देशी प्लगिन चाहते हैं तो पहले तीन चरण केवल लागू होते हैं!
यहाँ से, मैं JAR / AAR फ़ाइल को मूल प्लगइन के रूप में संदर्भित करूँगा, और C # स्क्रिप्ट को C # आवरण के रूप में।
प्लगइन निर्माण विधियों के बीच चयन
यह तुरंत स्पष्ट है कि प्लगइन्स बनाने का पहला तरीका लंबा खींचा गया है, इसलिए अपने मार्ग का चयन करना गलत लगता है। हालाँकि, विधि 1 कस्टम कोड को कॉल करने का एकमात्र तरीका है। तो, कोई कैसे चुनता है?
सीधे शब्दों में कहें, अपने प्लगइन करता है
- कस्टम कोड शामिल करें - विधि 1 चुनें
- केवल देशी Android कार्यों का आह्वान? - विधि 2 चुनें
कृपया "मिक्स" करने का प्रयास न करें (अर्थात विधि 1 का उपयोग करके प्लगइन का एक भाग, और विधि 2 का उपयोग करके अन्य) दो विधियाँ! जबकि पूरी तरह से संभव है, यह अक्सर अव्यवहारिक और दर्दनाक होता है।
UnityAndroidPlugin.cs
एकता में एक नया C # स्क्रिप्ट बनाएं और इसे निम्नलिखित के साथ सामग्री बदलें
using UnityEngine;
using System.Collections;
public static class UnityAndroidPlugin {
}
UnityAndroidNative.java
एंड्रॉइड स्टूडियो में एक नया जावा वर्ग बनाएं और इसे निम्नलिखित के साथ सामग्री बदलें
package com.axs.unityandroidplugin;
import android.util.Log;
import android.widget.Toast;
import android.app.ActivityManager;
import android.content.Context;
public class UnityAndroidNative {
}
UnityAndroidPluginGUI.cs
एकता में एक नया C # स्क्रिप्ट बनाएँ और इन सामग्रियों को चिपकाएँ
using UnityEngine;
using System.Collections;
public class UnityAndroidPluginGUI : MonoBehaviour {
void OnGUI () {
}
}