Rumah hujung hadapan web uni-app Cara uniapp menyepadukan pembangunan asli

Cara uniapp menyepadukan pembangunan asli

Apr 23, 2023 am 09:19 AM

Dengan pembangunan berterusan pasaran aplikasi mudah alih, membangunkan aplikasi merentas platform juga telah menjadi trend. Sebagai salah satu rangka kerja merentas platform yang paling banyak digunakan di pasaran, Uniapp disukai oleh pembangun kerana keserasian yang baik, kecekapan pembangunan yang tinggi dan penggunaan yang mudah. Walau bagaimanapun, apabila beberapa keperluan lebih disesuaikan atau beberapa fungsi asli perlu dipanggil, menggunakan Uniapp tulen untuk membangunkan aplikasi mungkin tidak dapat memenuhi keperluan. Pada masa ini, kami perlu menggunakan Uniapp dan asli untuk pembangunan bercampur, yang bukan sahaja dapat memenuhi beberapa keperluan tersuai, tetapi juga menggunakan sepenuhnya kecekapan pembangunan Uniapp. Di bawah ini kami akan memperkenalkan secara terperinci cara Uniapp menyepadukan pembangunan asli berdasarkan pengalaman pembangunan sebenar.

1. Kerja persediaan

Sebelum mula mengintegrasikan pembangunan asli, kami perlu memastikan bahawa persekitaran pembangunan Android dan iOS tempatan telah dikonfigurasikan dan mahir dalam menggunakannya. Pada masa yang sama, anda juga perlu memastikan bahawa anda sudah biasa menggunakan rangka kerja Uniapp dan menguasai operasi pembangunan asas.

2. Memperkenalkan pemalam asli

Dalam pembangunan Uniapp, kami boleh menggunakan fungsi asli dengan memperkenalkan pemalam asli. Terdapat dua cara untuk memperkenalkan pemalam asli dalam Uniapp, iaitu membangunkan pemalam sendiri dan menggunakan pemalam di pasaran.

  1. Bangunkan pemalam anda sendiri

Tidak sukar untuk membangunkan pemalam asli Anda boleh menulis kod mengikut pelbagai dokumen pembangunan asli. Di sini saya akan memperkenalkan anda kepada contoh yang lebih umum: mendapatkan maklumat peranti.

Dalam Android, kami boleh mendapatkan maklumat peranti melalui kod berikut:

import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;

public class DeviceInfoUtil {

    public static String getVersionName(Context context) {
        PackageManager packageManager = context.getPackageManager();
        try {
            PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
            return packageInfo.versionName;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return "";
    }
}
Salin selepas log masuk

Dan dalam iOS, kami boleh mendapatkan maklumat peranti melalui kod berikut:

#import <UIKit/UIKit.h>

@interface DeviceInfoUtil : NSObject

+ (NSString *)getUUID;

@end

@implementation DeviceInfoUtil

+ (NSString *)getUUID {
    NSString *uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    return uuid;
}

@end
Salin selepas log masuk

Selepas menulis fungsi asli, kami perlu membungkusnya ke dalam pemalam dan menerbitkannya ke pasaran Uniapp. Seterusnya, anda boleh memperkenalkan pemalam asli ke dalam Uniapp dan menggunakannya. Operasi khusus adalah seperti berikut:

(1) Mula-mula tambahkan rujukan kepada pemalam asli dalam fail manifest.json dalam projek aplikasi:

"app-plus": {
    // 其他配置
    "plugins": {
      "device": {
        "version": "1.0.0",
        "provider": "xx"
      }
    }
  }
Salin selepas log masuk

Di mana peranti adalah nama dan versi pemalam ialah versi pemalam , pembekal ialah pembekal pemalam.

(2) Gunakan sintaks Vue.js untuk mentakrifkan fail JS, panggil fungsi pemalam dalam fail dan eksport:

const device = uni.requireNativePlugin('device')

function getVersionName() {
    return device.getVersionName()
}

export default {
    getVersionName
}
Salin selepas log masuk

Antaranya, uni.requireNativePlugin('device ') Merujuk kepada sintaks pemalam, getVersionName() ialah fungsi yang kami takrifkan dalam pemalam untuk mendapatkan nombor versi.

2. Gunakan pemalam di pasaran

Selain membangunkan pemalam sendiri, kami juga boleh memuat turun pemalam asli yang dibangunkan oleh pembangun lain di pasaran Uniapp untuk menggunakan yang diperlukan fungsi asli. Operasi khusus adalah seperti berikut:

(1) Tambahkan komponen tersuai yang mengandungi pemalam yang diperlukan pada fail manifest.json dalam projek aplikasi:

"usingComponents": {
    "xxx": "@/components/xxx/xxx"
  }
Salin selepas log masuk

Di mana, xxx mewakili nama Pemalam asli yang diperlukan, @/components/xxx/xxx menunjukkan laluan relatif di mana fail pemalam terletak dalam projek.

(2) Tulis kod untuk menggunakan pemalam dalam fail JS sintaks Vue.js:

import xxx from '@/components/xxx/xxx'

export default {
    data() {
        return {
            versionName: ''
        }
    },
    methods: {
        getVersion() {
            this.versionName = xxx.getVersionName()
        }
    }
}
Salin selepas log masuk

Di mana, xxx ialah nama pemalam dan objek kaedah dalam sintaks Vue.js Fungsi getVersion() untuk mendapatkan nombor versi pemalam ditakrifkan, dan kaedah pemalam xxx.getVersionName() dipanggil di dalamnya untuk mendapatkan nombor versi.

3. Interaksi asli dengan Uniapp

Dalam langkah sebelumnya, kami telah berjaya menyepadukan pemalam asli. Walau bagaimanapun, semasa pembangunan kami juga mungkin perlu melaksanakan interaksi antara asli dan Uniapp. Contohnya, apabila pengguna bertindak balas kepada kawalan asli, mereka perlu beralih ke halaman Uniapp atau apabila halaman Uniapp perlu memanggil fungsi asli, mereka perlu memanggil kod asli, dsb. Pada masa ini, kita perlu menggunakan API yang disediakan oleh Uniapp untuk mencapainya.

  1. Panggil kod asli

Untuk memanggil kod asli dalam Uniapp, anda boleh menggunakan kod berikut:

if (uni.os.android) {
    // Android端
    let intent = new Intent(Intent.ACTION_VIEW)
    intent.setClassName("com.package.name", "com.package.name.MainActivity")
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
    uni.context.startActivity(intent)
} else if (uni.os.ios) {
    // iOS端
    try {
        window.webkit.messageHandlers.nativeMethod.postMessage(params)
    } catch (e) {
        console.log(e)
    }
}
Salin selepas log masuk

Antaranya, kaedah panggilan pada bahagian Android perlu menggunakan Android Dalam kelas Intent dalam API, tetapkan sasaran lompatannya dan parameter yang perlu dihantar apabila memanggil di bahagian iOS, anda perlu terlebih dahulu menentukan sama ada atribut messageHandlers wujud, dan kemudian hantar mesej asli melalui kaedah postMessage, dan parameter perlu ditukar kepada format JSON.

  1. Terima mesej asli

Apabila kita perlu memindahkan data dari asli ke Uniapp, kita perlu menentukan fungsi panggil balik yang sepadan dalam Uniapp terlebih dahulu supaya orang asli boleh memanggil berfungsi dan lulus data. Fungsi biasa nativeCallback perlu ditakrifkan dalam fail sintaks Vue.js untuk menerima data asli dan memprosesnya dengan sewajarnya dalam aplikasi.

Berikut ialah kod untuk mentakrifkan fungsi:

export default {
    data() {
        return {
            versionName: ''
        }
    },
    mounted() {
        // 定义原生回调函数
        window.nativeCallback = (data) => {
            console.log(data)
        }
    }
}
Salin selepas log masuk

Antaranya, window.nativeCallback ialah nama fungsi panggil balik yang ditakrifkan dan data ialah data yang dihantar daripada native. Dalam fungsi yang dipasang, kita boleh mentakrifkan fungsi panggil balik sebagai fungsi global dan kemudian menggunakannya di mana sahaja data perlu diterima.

Melalui kaedah di atas, kami boleh menggunakan pemalam asli dan memanggil kod asli dalam Uniapp untuk memenuhi keperluan senario yang berbeza.

4. Ringkasan

Artikel ini memperincikan langkah untuk Uniapp menyepadukan pembangunan asli dan cara menggunakan fungsi asli seperti pemalam asli dan kotak dialog. Bagi pembangun yang perlu menggunakan beberapa lagi fungsi tersuai atau perlu membangunkan aplikasi dengan cepat, mereka boleh menggunakan pemalam atau API asli yang berbeza mengikut keperluan sebenar untuk memenuhi keperluan mereka. Pada masa yang sama, apabila membangunkan pemalam asli, adalah disyorkan untuk merujuk kepada pelbagai dokumen pembangunan asli untuk menguasai pengetahuan berkaitan dengan lebih baik.

Atas ialah kandungan terperinci Cara uniapp menyepadukan pembangunan asli. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Mar 27, 2025 pm 04:47 PM

Lazy Loading Delers Non-kritikal Sumber untuk meningkatkan prestasi tapak, mengurangkan masa beban dan penggunaan data. Amalan utama termasuk mengutamakan kandungan kritikal dan menggunakan API yang cekap.

Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Mar 27, 2025 pm 04:50 PM

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.

Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Mar 25, 2025 pm 02:20 PM

UNIPP menguruskan konfigurasi global melalui manifest.json dan gaya melalui app.vue atau app.scss, menggunakan uni.scss untuk pembolehubah dan campuran. Amalan terbaik termasuk menggunakan SCSS, gaya modular, dan reka bentuk responsif.

Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Mar 25, 2025 pm 02:31 PM

Artikel ini membincangkan menguruskan struktur data yang kompleks di UNIPP, yang memberi tumpuan kepada corak seperti Singleton, Observer, Kilang, dan Negeri, dan strategi untuk mengendalikan perubahan keadaan data menggunakan API VUEX dan VUE 3 API.

Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Mar 25, 2025 pm 02:23 PM

Ciri -ciri yang dikira oleh Uniapp, yang diperolehi dari Vue.js, meningkatkan pembangunan dengan menyediakan pengendalian data reaktif, boleh diguna semula, dan dioptimumkan. Mereka mengemas kini secara automatik apabila kebergantungan berubah, menawarkan manfaat prestasi dan memudahkan Co -Management Co

See all articles