Rumah Java JavaAsas Apakah fail r.java?

Apakah fail r.java?

Jul 27, 2021 am 11:25 AM

Fail R.java dijana secara automatik oleh pengkompil, dan ia tidak memerlukan pembangun untuk mengekalkannya. R.java secara automatik akan memasukkan semua sumber dalam aplikasi semasa dan mencipta ID yang sepadan berdasarkan sumber ini. R.java boleh difahami secara ringkas sebagai kamus sumber aplikasi Android semasa.

Apakah fail r.java?

Persekitaran pengendalian tutorial ini: sistem Windows 7, versi Java 10, komputer DELL G3.

1. Pengenalan kepada fail R.java

Dalam Android studio, direktori tempat R.java berada ialah: app/build/generated/source/r/arm/debug/com. example.dfanghu. Fail R.java dalam direktori myapplication/R.java

gen dijana secara automatik oleh pengkompil dan tidak memerlukan pembangun untuk mengekalkannya. R.java akan secara automatik mengumpul semua sumber dalam aplikasi semasa dan mewujudkan ID yang sepadan berdasarkan sumber ini, termasuk: sumber susun atur, sumber kawalan, Sumber rentetan, Sumber boleh lukis, dsb. Kami hanya boleh memahami R.java sebagai kamus sumber aplikasi Android semasa.

Atas premis bahawa projek semasa tidak boleh mengandungi sebarang ralat, fail R.java dipadamkan secara manual dan pengkompil akan segera menjana semula fail R.java, sumber baharu ditambahkan pada direktori res/, dan pengkompil Pemproses juga akan serta-merta memasukkan ID sumber ini ke dalam fail R.java. , tetapi terdapat premis, iaitu, projek semasa tidak boleh mengandungi sebarang ralat. Apabila didapati bahawa R.java tidak memasukkan sumber ini selepas mengemas kininya, anda perlu menyemak sama ada terdapat ralat dalam projek semasa.

2. Analisis kandungan fail R.java

Fail R.java dalam projek HelloWorld

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

package com.android.hellworld;

 

public final class R {

    public static final class attr {

    }

    public static final class drawable {

        public static final int icon=0x7f020000;

    }

    public static final class layout {

        public static final int main=0x7f030000;

    }

    public static final class string {

        public static final int app_name=0x7f040001;

        public static final int hello=0x7f040000;

    }

}

Salin selepas log masuk

Fail R.java mengandungi attr, boleh dilukis, susun atur, There ialah empat kelas dalaman statik seperti rentetan Setiap kelas dalaman statik sepadan dengan sumber Sebagai contoh, susun atur kelas dalaman statik sepadan dengan fail antara muka Pemalar statik dalam setiap kelas dalaman statik mentakrifkan pengecam sumber public static final int main=0x7f030000 sepadan dengan fail main.xml dalam direktori susun atur.

Memandangkan pada masa ini hanya terdapat satu ikon fail imej.png dalam direktori [drawable-*dpi], fail icon.png dengan nama yang sama dalam butiran berbeza sentiasa mempunyai hanya satu atribut ikon dalam kelas dalaman boleh lukis. Jika kita menambah gambar lain dalam direktori [drawable-*dpi], atribut ikon akan ditambah secara automatik ke kelas dalaman.

PS: Tambah peraturan penamaan untuk sumber: fail sumber hanya boleh bermula dengan huruf kecil dan garis bawah, dan hanya [a-z0-9_.] aksara boleh muncul dalam nama berikutnya, jika tidak fail R.java Ia akan tidak dikemas kini secara automatik, dan eclipse akan menyebabkan ralat.

Fahami sumber kandungan dalam fail R.java, iaitu, apabila pembangun menambah fail jenis yang sepadan dalam mana-mana subdirektori dalam direktori res/, ADT akan menambah kelas dalaman yang sepadan dalam Fail R.java Pemalar jenis int statik dijana secara automatik untuk mengindeks fail yang ditambah. Jika antara muka baharu ditambahkan pada direktori susun atur, pemalar int statik yang sepadan juga akan ditambahkan pada susun atur kelas akhir statik awam. Sebaliknya, apabila kami memadamkan sebarang fail dalam direktori res, rekod yang sepadan dalam R.java akan dipadam secara automatik oleh ADT.

Sebagai tambahan kepada fungsi pengindeksan untuk menanda sumber secara automatik, fail R.java juga mempunyai satu lagi fungsi utama Jika sumber dalam direktori res tidak digunakan dalam aplikasi, ia akan menjadi Apabila menyusun, sistem tidak akan menyusun sumber yang sepadan ke dalam pakej APK aplikasi, yang boleh menjimatkan sumber pada telefon Android.

3. Cara merujuk sumber yang diperlukan melalui fail R.java

1. Sumber rujukan dalam program java

Rujukan mengikut sintaks java: R .resource_type .resource_name

Nota: resource_name tidak memerlukan akhiran fail

Sistem Android itu sendiri datang dengan banyak sumber, kami juga boleh merujuknya, kami hanya perlu menambah "Android. "Untuk mengisytiharkan bahawa sumber itu datang daripada sistem Android, iaitu: Android.R.resource_type.resouce_name

Contoh: icon.png di bawah [drawable-*hpi]

Imej berada dalam R Fail .java Pemetaan ialah parameter ikon di bawah kelas dalaman boleh lukis Jika anda ingin mendapatkan sumber, kaedah penulisan ialah: R.drawble.icon

2 dalam fail XML. Format: @[ package:]type/name

diperoleh melalui "@drawable/icon" dalam fail xml, seperti fail main.xml dan AndroidMainfest.xml. Antaranya, "@" mewakili kelas R.java. "drawable" mewakili kelas dalaman statik "drawable" dalam R.java, "/icon" mewakili atribut statik "icon" dalam kelas dalaman statik "drawable", dan atribut ini boleh menunjuk kepada "drawable-* dalam direktori res dpi" icon.png sumber. Jenis fail lain adalah serupa. Semua sumber yang ditakrifkan dalam fail R boleh diperoleh melalui "@Static_inner_classes_name/resource_name". Seperti "@id/button", "@string/app_name".

Jika anda mengakses fail yang disertakan dengan sistem Android, anda perlu menambah nama pakej "Android:". Contohnya: android:textColor="@android:color/red"

4. Cara menambah rekod sumber pada fail R.java

Dalam fail susun atur, apabila kita perlu menambah atribut Id sebagai pengecam beberapa komponen, kita boleh menggunakan ungkapan berikut: "@ id/string_name", di mana " " bermaksud menambahkannya pada kelas dalaman bernama id dalam R.java A rekod. Contohnya: "@ id/button" bermaksud menambah butang bernama pemalar pada id kelas dalaman statik dalam fail R.java Pemalar ini ialah pengecam sumber. Jika id kelas dalaman statik tidak wujud, ia akan dijana terlebih dahulu.

Tutorial video berkaitan yang disyorkan: Tutorial video Java

Atas ialah kandungan terperinci Apakah fail r.java?. 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)