Analisis berkaitan kejuruteraan (pelbagai fail, akses sumber)
Pengenalan kepada bahagian ini:
Saya bercakap tentang banyak perkara yang nampaknya tiada kaitan dengan pembangunan Android kami, sudah tentu, anda akan melakukannya ketahuinya kemudian apabila anda melihat ke belakang! Nah, dalam bahagian ini kita akan menggunakan projek Hello World yang dibuat sebelum ini sebagai titik masuk untuk memahami struktur projek. Dan dua cara untuk mengakses sumber dalam Android! IDE yang digunakan dalam tutorial seterusnya ialah Android Studio, kerana Google secara rasmi mengumumkan beberapa hari lalu bahawa ia akan menamatkan sokongan untuk persekitaran pembangunan IDE lain sebelum akhir tahun!
1 Analisis struktur projek kejuruteraan:
Sebahagian besar masa pembangunan kami dibelanjakan pada bahagian berikut:
<. 🎜>
Seterusnya kami akan menerangkan bahagian utama:
java: Di mana kita menulis kod Java, fungsi perniagaan Semuanya dilaksanakan di sini
res: Tempat untuk menyimpan pelbagai fail sumber kami, termasuk gambar, rentetan, animasi, audio, dll., serta pelbagai bentuk fail XML
Pengenalan folder sumber 1.res: PS: Bercakap tentang ini
direktori res , sebagai tambahan direktori aset disebut Walaupun ia tidak wujud di sini, kami boleh menciptanya sendiri. Perbezaan antara kedua-duanya ialah sama ada semua fail sumber di bawah yang pertama akan menjana id sumber yang sepadan di bawah fail R.java, manakala yang kedua Tidak. ; dalam yang pertama kita boleh mengakses sumber yang sepadan secara langsung melalui id sumber manakala yang kedua kita perlu membacanya dalam bentuk aliran binari melalui AssetManager! By the way, fail R ini boleh difahami sebagai kamus, dan setiap sumber di bawah res akan menjana ID unik di sini!
Kemudian mari kita bincangkan tentang direktori yang berkaitan di bawah direktori sumber semula:PS:Direktori mipmap berikut tidak wujud dalam Eclipse. Semuanya boleh dilukis dalam Eclipse. Pada mulanya, sebenarnya tidak banyak perbezaan. Hanya menggunakan mipmap akan memberikan pengoptimuman prestasi tertentu semasa penskalaan imej, sistem akan memilih imej yang sepadan di bawah hdpi, mdpi, xmdpi dan xxhdpi mengikut skrin. resolusi, supaya anda boleh menyahmampat apk imej orang lain, anda boleh melihat gambar dengan nama yang sama dalam direktori di atas, yang tersedia dalam empat folder, tetapi saiz dan pikselnya berbeza! Sudah tentu, ini tidak mutlak Sebagai contoh, jika kita membuang semua gambar di bawah drawable-hdpi, walaupun telefon bimbit Sumber imej di bawah folder ldpi harus dimuatkan, tetapi tiada imej di bawah ldpi, jadi imej di bawah hdpi masih akan dimuatkan! Di samping itu, terdapat satu lagi situasi: sebagai contoh, jika ia adalah hdpi, ia berada dalam direktori mdpi, tetapi tidak dalam ldpi, maka sumber dalam mdpi akan dimuatkan! Prinsipnya ialah menggunakan tahap ketumpatan yang paling hampir Di samping itu, jika anda ingin menghalang Android daripada memuatkan sumber dalam folder yang berbeza mengikut kepadatan skrin, cuma tambah medan android:anyDensity="false" pada fail AndroidManifest.xml! 🎜>1. Mari kita bercakap tentang
GambarSumber: boleh dilukis: menyimpan pelbagai fail bitmap, (.png, .jpg, .9png, .gif, dsb.) Selain itu, ia mungkin XML yang lain fail jenis boleh lukis mipmap-hdpi: Resolusi tinggi, biasanya kami membuang gambar di sini mipmap-mdpi: Resolusi sederhana, jarang sekali melainkan telefon yang serasi sudah sangat lama mipmap-xhdpi: Leraian ultra tinggi, Bahan skrin telefon bimbit semakin baik dan lebih baik, dan dianggarkan ia perlahan-lahan akan beralih kepada ini pada masa hadapan mipmap-xxhdpi: Peleraian super tinggi, ini tersedia pada mesin canggih Mencerminkan 2. Mari kita bincangkan tentang susun atur sumber: susun atur. : dalam direktori ini Apa yang disimpan ialah fail susun atur kami Di samping itu, pada beberapa model tertentu, kami melakukan penyesuaian skrin, seperti telefon bimbit 480*320, kami akan membuat satu lagi set susun atur, hanya folder seperti susun atur-480x320! 3 Mari kita bincangkan tentang sumber menu: menu: wujud sebelum The. butang menu fizikal, iaitu, kunci menu biasa digunakan pada telefon bimbit, tetapi ia tidak banyak digunakan sekarang Sumber xml yang berkaitan dengan item menu boleh ditulis di sini menu~ 4 Seterusnya, mari kita bincangkan tentang direktori nilai: demens.xml: Tentukan sumber saiz string.xml: Tentukan sumber rentetan styles.xml: Tentukan sumber gaya colors.xml: Tentukan sumber warna arrays.xml: Tentukan sumber tatasusunan attrs.xml: Digunakan lebih banyak semasa menyesuaikan kawalan , menyesuaikan sifat kawalan! Fail tema tema sangat serupa dengan gaya, tetapi ia akan menjejaskan Actvitiy atau Aktiviti tertentu dalam keseluruhan aplikasi, biasanya menukar rupa tetingkap! Ia boleh digunakan melalui setTheme dalam kod Java, atau menambah atribut tema pada <aplikasi...>
PS: Anda mungkin pernah melihat direktori nilai tersebut: values-w820dp, values-v11, dsb. Dalam yang pertama, w mewakili peranti tablet, 820dp mewakili lebar skrin dan v11 bermakna ia akan digunakan selepas API (11 ), iaitu, android 3.0 daripada! 5.
Digunakan untuk menyimpan pelbagai sumber asli (audio, video, beberapa fail XML, dll.), kita boleh mendapatkan aliran binari sumber melalui openRawResource(int id)! Malah, ia serupa dengan Aset, tetapi sumber di sini akan menjana ID sumber dalam fail R 6. Akhir sekali, terdapat dua jenis animasi: animasi atribut dan animasi tween: animator: Fail XML yang menyimpan animasi atribut anim: Fail XML yang menyimpan animasi tween Nah, setelah anda mengetahui sumber yang ada, mari belajar cara menggunakannya:
Seperti yang dinyatakan sebelum ini, semua fail sumber kami akan menghasilkan ID sumber di bawah fail R.java Kami boleh menggunakan ID sumber ini untuk melengkapkan akses sumber Terdapat dua situasi penggunaan: digunakan dalam kod Java dan digunakan dalam kod XML. Digunakan dalam kod Java: Teks Java: Imej: Warna: Layout: Kawalan: dalam kod XML Gunakan: Anda boleh mendapatkannya melalui @xxx, contohnya, dapatkan teks dan gambar di sini: Okay, seterusnya kita akan menganalisis tiga fail yang lebih penting dalam projek:
MainActivity.java, fail susun atur: activity_main dan fail konfigurasi Android: AndroidManifest.xmlPS: Kandungan gambar mungkin berbeza sedikit, saya tidak mempunyai masa untuk membuat gambar, saya harap anda boleh faham~ Kodnya adalah seperti berikut 代码分析: 代码如下: Analisis kod: Kami mentakrifkan susun atur linear LinearLayout dan mentakrifkan seni bina yang perlu kami gunakan dalam ruang nama xml, yang datang daripada ① Kodnya adalah seperti berikut: Analisis kod: Selain di atas: ① Jika apl mengandungi komponen lain, sintaks spesifikasi jenis mesti digunakan . isytihar dalam fail ini
Pelayan: ②Pernyataan kebenaran:
Istiharkan secara eksplisit kebenaran yang diperlukan oleh program dalam fail ini untuk menghalang apl daripada menggunakan perkhidmatan secara salah dan mengakses secara tidak wajar.
sumber, akhirnya meningkatkan keteguhan apl android
Ayat android.permission.SEND_SMS menunjukkan bahawa apl memerlukan kebenaran untuk menghantar mesej dan pengguna akan digesa semasa pemasangan.
Keizinan yang berkaitan boleh didapati dalam manual rujukan sdk! Dalam bahagian ini kami mempunyai pemahaman terperinci tentang projek Hello World kami, apakah direktori yang berkaitan dan fail sumber di bawah res adalah Yang mana, apakah fungsinya, dan cara menggunakan sumber ini! Pada masa yang sama, tiga dokumen terpenting dalam projek dijelaskan secara terperinci melalui lukisan! Pada ketika ini saya percaya anda sudah mempunyai pemahaman umum tentang projek Android! Terima kasih~2 Cara menggunakan sumber ini
Ketahui lebih lanjut tentang tiga fail:
MainActivity.java:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
kelas awam MainActivity memanjangkan AppCompatActivity {
@Override
void dilindungi onCreate(Bundle savedInstance ) {
super.onCreate(savedInstance State);
setContentView(R.layout.activity_main);
}
}布局文件:activity_main.xml:
android:layout_width="match_parent"
android:layout_height ="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android id android :text="@string/hello_world" />
</RelativeLayout> Fail konfigurasi AndroidManifest.xml:
< ;manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jay.com.example.firstapp" >
<aplikasi
android :allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<aktiviti
android:name=".MainActivity" action android:name="android .intent.< action android /aktiviti>
> ;
</manifest>Ringkasan bahagian ini: