Pemberitahuan tolak memainkan peranan penting dalam penglibatan dan pengekalan pengguna dalam apl mudah alih anda, memastikan pengguna sentiasa dikemas kini dan mewujudkan rasa terdesak yang membawa kepada pembelian. Dan dalam Android, kami mendapat faedah tambahan daripada perkhidmatan pemberitahuan Firebase Cloud Messaging (FCM), yang bertindak sebagai orang tengah antara pelayan apl dan peranti Android pengguna. Ia membantu penghantaran pemberitahuan tolak, walaupun jika apl itu tidak aktif atau pengguna menggunakan apl lain pada peranti mereka.
Firebase Cloud Messaging (FCM) digunakan untuk menghantar mesej data dan makluman kepada pengguna, terima kasih kepada sistem pemesejan silang yang mantap. Platform iOS, Web dan Android semuanya disokong oleh FCM. Mesej dengan muatan data sehingga 4kb boleh dihantar menggunakan pemberitahuan tolak FCM.
Dalam artikel ini, kami akan meneroka integrasi langkah demi langkah pemberitahuan tolak ke dalam apl Android dan membincangkan aspek kritikal pelaksanaan. Kami juga akan memperkenalkan beberapa produk dan alatan yang boleh memudahkan dan meningkatkan penglibatan pengguna.
Memahami Pemberitahuan Push Android
Pemberitahuan tolak mudah alih membantu meningkatkan penglibatan pengguna, pengekalan pelanggan dan keseluruhan pengalaman pengguna dalam aplikasi anda. Apabila pemberitahuan tolak digunakan dengan betul, ia boleh meningkatkan keberkesanan apl mudah alih dengan ketara merentas pelbagai domain perniagaan.
Pemberitahuan tolak boleh digunakan untuk kes penggunaan dan tujuan yang berbeza dalam apl Android anda, termasuk:
i) Mengemas kini pengguna tentang status tempahan atau jadual dalam talian mereka.
ii) Berikan penjelasan dan kemas kini untuk pesanan dalam talian yang telah dibuat oleh pengguna.
iii) Menasihati pengguna tentang perubahan di bahagian belakang dan membantu mereka menjejaki pakej mereka.
iv) Mencipta gembar-gembur mengenai acara yang dipautkan kepada apl dan memperkenalkan pengguna kepada tawaran, promosi dan peluang baharu.
v) Menggalakkan pengguna mencuba ciri apl baharu dengan mesej menggoda dan memberitahu mereka tentang kemas kini pelayan dan perubahan bahagian belakang yang lain.
Pendekatan Pelaksanaan Pemberitahuan Push dalam Aplikasi Android
Prasyarat
Anda perlu mempunyai alatan dan perkhidmatan ini untuk berjaya melaksanakan pemberitahuan tolak dalam apl Android FCM anda:
i) Android Studio – Ini ialah IDE yang digunakan untuk pembangunan Android.
ii) Pengetahuan & Pemahaman Asas – Anda memerlukan pemahaman asas tentang pembangunan dan struktur projek Android serta konfigurasi fail nyata.
iii) Akaun Firebase – Anda sepatutnya mempunyai akaun Firebase untuk membuat dan mengurus tetapan projek anda.
iv) Ketersediaan Internet – Ujian integrasi dan persediaan firebase memerlukan sambungan Internet.
Langkah 1. Sediakan Projek Firebase anda
Lawati Firebase Console.
Buat projek anda dengan Memberinya nama dan Klik teruskan.
Untuk konfigurasi lanjut, anda boleh mendayakan atau melumpuhkan perkhidmatan Google Analitis untuk mendapatkan analitis data untuk apl anda.
Untuk melengkapkan persediaan, anda perlu menyemak tetapan projek; maka anda boleh membuat projek anda.
Selepas anda membuat projek anda, anda perlu melakukan konfigurasi projek tambahan untuk pelaksanaan pemberitahuan tolak.
Mendaftarkan apl anda dalam papan pemuka projek
Anda perlu mengklik pada ikon Android dalam papan pemuka untuk menambah apl Android. Seterusnya, masukkan nama pakej Android. Nama pakej ini mestilah sama dengan nama pakej dalam projek anda (iaitu, com.app.demoapp).
Anda juga boleh memasukkan nama panggilan apl anda untuk mengenal pasti apl anda dalam konsol.
Tambah kunci SHA-1 untuk apl anda. Anda perlu menggunakan arahan ini untuk menjana kunci SHA-1 anda dalam terminal anda: Sekarang salin kekunci SHA-1 dan tampalkannya ke dalam konsol Firebase.
./gradlew signingReport
Akhir sekali Klik ‘Daftar Apl’ untuk menyelesaikan konfigurasi.
Sediakan Perkhidmatan Google
Setelah anda selesai mendaftarkan apl anda, anda boleh memuat turun fail google-services.json dan menyimpannya pada komputer anda.
Kini anda perlu menambahkan google-services.json pada projek Android anda, failkan ke direktori apl projek Android anda.
MyApp/ ├── app/ │ ├── src/ │ ├── build.gradle │ ├── google-services.json ├── build.gradle ├── settings.gradle
Tambahkan Firebase SDK
Seterusnya, tambahkan Firebase SDK pada Projek Anda, dalam build.gradle tambah laluan kelas perkhidmatan Google:
buildscript { repositories { google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } }
dalam app/build.gradle tambahkan kebergantungan berikut:-
apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { // ... } dependencies { // Add these lines implementation platform('com.google.firebase:firebase-bom:29.0.4') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' }
Selepas anda menyelesaikan langkah ini, anda boleh mengklik ‘Segerakkan Sekarang’ dalam Android Studio untuk menyegerakkan projek anda dengan Firebase.
Langkah 2. Konfigurasikan Projek Android Anda
build.gradle Peringkat Projek
Buka build.gradle Tahap Projek Anda: Navigasi ke direktori akar projek Android anda dan cari fail build.gradle.
Pastikan repositori google() dan mavenCentral() disertakan dalam bahagian repositori.
buildscript { repositories { // Check that you have these lines google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } } allprojects { repositories { // Check that you have these lines google() mavenCentral() } }
Buat perubahan dalam build.gradle
Cari dan cari fail build.gradle dalam direktori apl projek anda, kemudian tambahkan pemalam google-services di penghujung fail dan tambahkan kebergantungan Firebase dan Firebase Messaging dalam bahagian dependencies.
./gradlew signingReport
Dengan langkah-langkah ini selesai, projek anda dikonfigurasikan dengan kebergantungan Firebase, termasuk Pemesejan Firebase untuk pemberitahuan tolak. Biar kami sekarang meneruskan dengan persediaan perkhidmatan Pemesejan Firebase dan mengendalikan pemberitahuan dalam apl anda.
Langkah 3. Laksanakan FCM
Tambahkan Perkhidmatan untuk Mengendalikan Mesej FCM
Buat kelas baharu bernama MyMessagingService yang memanjangkan FirebaseMessagingService.
Anda perlu mengatasi Kaedah onMessageReceived untuk mengendalikan mesej masuk apabila apl anda berada dalam keadaan latar depan. Kemudian laksanakan logik untuk mengendalikan pemberitahuan dan tunjukkan kepada pengguna secara pilihan.
MyApp/ ├── app/ │ ├── src/ │ ├── build.gradle │ ├── google-services.json ├── build.gradle ├── settings.gradle
Daftar dalam fail AndroidManifest.xml
Buka fail AndroidManifest.xml dalam projek anda.
Kini anda perlu mendaftar MyMessagingService dalam manifes untuk mengendalikan mesej FCM.
buildscript { repositories { google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } }
Langkah 4: Dapatkan Token Pendaftaran FCM
Untuk menerima pemberitahuan tolak, apl anda perlu mendapatkan token pendaftaran FCM. Token ini secara unik mengenal pasti tika apl pada peranti.
Contoh Kod untuk Mengambil Token Peranti
Anda boleh mengambil token pendaftaran FCM dalam FirebaseMessagingService anda atau mana-mana tempat lain yang sesuai dalam apl anda. Mari lihat cara melakukannya dalam FirebaseMessagingService.
Kemas kini MyMessagingService:
apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { // ... } dependencies { // Add these lines implementation platform('com.google.firebase:firebase-bom:29.0.4') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' }
Anda boleh mengambil token dalam Aktiviti atau Fragmen dan menyimpan atau menggunakannya seperti yang diperlukan.
buildscript { repositories { // Check that you have these lines google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } } allprojects { repositories { // Check that you have these lines google() mavenCentral() } }
Menggunakan kaedah ini, anda boleh mendapatkan token pendaftaran FCM dalam apl Android anda. Token boleh diambil sama ada dalam FirebaseMessagingService atau mana-mana Aktiviti atau Fragmen. Token ini penting untuk menghantar pemberitahuan tolak yang disasarkan ke peranti tertentu.
Langkah 5: Hantar Pemberitahuan Tolak
Jika anda ingin menghantar pemberitahuan daripada pelayan, anda perlu membuat permintaan POST ke API FCM.
Anda perlu Dapatkan Kunci Pelayan
- Dalam Firebase Console → Tetapan Projek → “Gambaran Keseluruhan Projek” → “Pemesejan Awan”.
- Dalam "Bukti kelayakan projek", anda akan menemui kunci Pelayan.
Permintaan cURL: Perintah cURL ini akan digunakan untuk menghantar pemberitahuan. Gantikan
./gradlew signingReport
- https://fcm.googleapis.com/fcm/send titik akhir API.
-
H "Keizinan: key=
": Ini ialah pengepala kebenaran dengan kunci pelayan anda. - H "Content-Type: application/json": pengepala jenis kandungan.
- d '{ ... }': Ini ialah muatan JSON yang mempunyai pemberitahuan dan data anda.
Topik Lanjutan
Mengendalikan Mesej Data
Mesej data ialah sejenis mesej yang boleh membawa pasangan nilai kunci tersuai dan dikendalikan secara berbeza daripada mesej pemberitahuan. Mesej data diterima dalam kaedah onMessageReceived FirebaseMessagingService , tidak kira sama ada apl itu berada di latar depan atau latar belakang.
Contoh untuk Mengendalikan Mesej Data
Kemas kini MyMessagingService
MyApp/ ├── app/ │ ├── src/ │ ├── build.gradle │ ├── google-services.json ├── build.gradle ├── settings.gradle
Menguruskan Saluran Pemberitahuan
Bermula dengan Android 8.0 (API tahap 26), semua pemberitahuan mesti diberikan kepada saluran. Ini membolehkan pengguna mengawal tetapan pemberitahuan untuk setiap saluran.
Contoh untuk Membuat Saluran Pemberitahuan
Buat Kaedah untuk Menyediakan Saluran Pemberitahuan:
buildscript { repositories { google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } }
Panggil Kaedah Ini dalam Aktiviti Utama atau Kelas Aplikasi Anda:
apply plugin: 'com.android.application' apply plugin: 'com.google.gms.google-services' android { // ... } dependencies { // Add these lines implementation platform('com.google.firebase:firebase-bom:29.0.4') implementation 'com.google.firebase:firebase-analytics' implementation 'com.google.firebase:firebase-messaging' }
Sebagai alternatif, anda boleh menghubungi NotificationUtils.createNotificationChannel(this); dalam kelas Aplikasi anda jika anda mempunyai satu:
buildscript { repositories { // Check that you have these lines google() mavenCentral() } dependencies { // Add this line classpath 'com.google.gms:google-services:4.3.10' } } allprojects { repositories { // Check that you have these lines google() mavenCentral() } }
Kemas kini Pembuat Pemberitahuan Anda untuk Menggunakan ID Saluran:
apply plugin: 'com.android.application' android { compileSdkVersion 33 defaultConfig { applicationId "com.example.myandroidapp" minSdkVersion 21 targetSdkVersion 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } } dependencies { implementation 'androidx.appcompat:appcompat:1.6.1' implementation 'com.google.android.material:material:1.8.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' implementation 'androidx.legacy:legacy-support-v4:1.0.0' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.5' androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1' // Add Firebase BOM implementation platform('com.google.firebase:firebase-bom:29.0.4') // Add Firebase Messaging dependency implementation 'com.google.firebase:firebase-messaging' } // Add this line at the bottom of the file apply plugin: 'com.google.gms.google-services'
Menguji Pemberitahuan Tolak
Apabila pemberitahuan tolak dilaksanakan, kami perlu melakukan ujian untuk memastikan ia dilaksanakan dengan betul.
Dalam Android Studio, anda boleh membuka logcat, View > Windows Alat > Logcat.
Kami juga boleh menapis output logcat menggunakan teg yang kami gunakan dalam kelas FirebaseMessagingService. Aplikasi mesti dijalankan pada peranti atau melalui emulator.
Apabila pemberitahuan diterima, kita boleh melihat data dalam logcat seperti ini:
import android.app.NotificationChannel; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.os.Build; import androidx.core.app.NotificationCompat; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; public class MyMessagingService extends FirebaseMessagingService { @Override public void onMessageReceived(RemoteMessage remoteMessage) { // Handle the received message if (remoteMessage.getNotification() != null) { // Get the message body String messageBody = remoteMessage.getNotification().getBody(); // Send a notification sendNotification(messageBody); } } private void sendNotification(String messageBody) { Intent intent = new Intent(this, MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_ONE_SHOT); String channelId = getString(R.string.default_notification_channel_id); NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, channelId) .setSmallIcon(R.drawable.ic_notification) .setContentTitle(getString(R.string.app_name)) .setContentText(messageBody) .setAutoCancel(true) .setContentIntent(pendingIntent); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(channelId, "Channel human readable title", NotificationManager.IMPORTANCE_DEFAULT); notificationManager.createNotificationChannel(channel); } notificationManager.notify(0, notificationBuilder.build()); } }
Data mesej boleh dilihat seperti ini:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myandroidapp"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <!-- Add this service --> <service android:name=".MyMessagingService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> <!-- Other activities and services --> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
Kesimpulan
Dalam artikel ini kami mempelajari tentang pemberitahuan tolak, bersama-sama dengan pendekatan langkah demi langkah untuk pelaksanaan. Kami mempelajari cara menyediakan projek dalam Firebase console dan cara melengkapkan konfigurasi yang diperlukan dalam tetapan projek Firebase, supaya anda boleh mula menghantar pemberitahuan Android kepada pengguna Android anda.
Anda perlu bermula dengan menyediakan projek Firebase dan memuat turun fail google-services.json. Selepas itu, anda perlu meletakkan direktori apl fail ini dan mengubah suai fail build.gradle untuk memasukkan kebergantungan Firebase.
Kemudian, anda perlu mencipta kelas yang akan mengendalikan mesej masuk dan mendaftarkan kelas perkhidmatan ini dalam AndroidManifest.xml. Selepas menambah perkhidmatan dalam fail manifes, anda perlu mengambil token FCM yang digunakan untuk mengenal pasti apl anda secara unik, supaya pemberitahuan boleh dihantar ke peranti yang disasarkan.
Pemberitahuan boleh diuji dengan menghantar mesej daripada Firebase Console dan menggunakan logcat Android Studio untuk mengesahkan penghantaran. Untuk mengaktifkan pemberitahuan sebelah pelayan, gunakan permintaan cURL dengan kunci pelayan Firebase anda dan token FCM peranti.
Untuk mengekalkan keserasian dengan versi Android kemudian, anda perlu memproses mesej data dalam 'FirebaseMessagingService` anda dan mengurus saluran pemberitahuan untuk konfigurasi yang canggih.
Pemberitahuan tolak, yang menawarkan kemas kini yang berkaitan dan maklumat tersuai – dan boleh meningkatkan pengekalan pengguna dan kadar penukaran – adalah penting untuk menggalakkan penglibatan pengguna.
Baca dokumen Firebase dan Android SDK rasmi untuk mendapatkan maklumat lanjut dan arahan yang mendalam. Tapak web ini menyediakan panduan menyeluruh dan amalan terbaik industri untuk memasukkan pemberitahuan tolak ke dalam aplikasi anda.
Atas ialah kandungan terperinci Panduan Langkah demi Langkah Pemberitahuan Push Android. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Java menyokong pengaturcaraan asynchronous termasuk penggunaan aliran yang boleh diselesaikan, aliran responsif (seperti ProjectReactor), dan benang maya di Java19. 1.CompletableFuture meningkatkan kebolehbacaan dan penyelenggaraan kod melalui panggilan rantai, dan menyokong orkestrasi tugas dan pengendalian pengecualian; 2. ProjectReactor menyediakan jenis mono dan fluks untuk melaksanakan pengaturcaraan responsif, dengan mekanisme tekanan belakang dan pengendali yang kaya; 3. Thread maya mengurangkan kos konvensional, sesuai untuk tugas I/O-intensif, dan lebih ringan dan lebih mudah untuk berkembang daripada benang platform tradisional. Setiap kaedah mempunyai senario yang berkenaan, dan alat yang sesuai harus dipilih mengikut keperluan anda dan model campuran harus dielakkan untuk mengekalkan kesederhanaan

Di Java, enums sesuai untuk mewakili set tetap tetap. Amalan terbaik termasuk: 1. Gunakan enum untuk mewakili keadaan tetap atau pilihan untuk meningkatkan keselamatan jenis dan kebolehbacaan; 2. Tambah sifat dan kaedah untuk meningkatkan fleksibiliti, seperti menentukan bidang, pembina, kaedah penolong, dan lain -lain; 3. Gunakan enummap dan enumset untuk meningkatkan prestasi dan jenis keselamatan kerana mereka lebih cekap berdasarkan tatasusunan; 4. Elakkan penyalahgunaan enum, seperti nilai dinamik, perubahan kerap atau senario logik kompleks, yang harus digantikan dengan kaedah lain. Penggunaan enum yang betul boleh meningkatkan kualiti kod dan mengurangkan kesilapan, tetapi anda perlu memberi perhatian kepada sempadannya yang berkenaan.

Javanio adalah IOAPI baru yang diperkenalkan oleh Java 1.4. 1) bertujuan untuk penampan dan saluran, 2) mengandungi komponen teras penampan, saluran dan pemilih, 3) menyokong mod tidak menyekat, dan 4) mengendalikan sambungan serentak lebih cekap daripada IO tradisional. Kelebihannya dicerminkan dalam: 1) IO yang tidak menyekat mengurangkan overhead thread, 2) Buffer meningkatkan kecekapan penghantaran data, 3) pemilih menyedari multiplexing, dan 4) memori pemetaan memori sehingga membaca dan menulis fail. Nota Apabila menggunakan: 1) Operasi flip/jelas penampan mudah dikelirukan, 2) Data yang tidak lengkap perlu diproses secara manual tanpa menyekat, 3) Pendaftaran pemilih mesti dibatalkan dalam masa, 4) NIO tidak sesuai untuk semua senario.

Mekanisme pemuatan kelas Java dilaksanakan melalui kelas, dan aliran kerja terasnya dibahagikan kepada tiga peringkat: memuatkan, menghubungkan dan memulakan. Semasa fasa pemuatan, kelas muat turun secara dinamik membaca bytecode kelas dan mencipta objek kelas; Pautan termasuk mengesahkan ketepatan kelas, memperuntukkan memori kepada pembolehubah statik, dan rujukan simbol parsing; Inisialisasi melakukan blok kod statik dan tugasan pembolehubah statik. Pemuatan kelas mengamalkan model delegasi induk, dan mengutamakan loader kelas induk untuk mencari kelas, dan cuba bootstrap, lanjutan, dan appliclassloader pada gilirannya untuk memastikan perpustakaan kelas teras selamat dan mengelakkan pemuatan pendua. Pemaju boleh menyesuaikan kelas, seperti UrlClassl

HashMap melaksanakan penyimpanan pasangan nilai utama melalui jadual hash di Java, dan terasnya terletak di lokasi data yang cepat. 1. Mula -mula gunakan kaedah hashcode () kunci untuk menghasilkan nilai hash dan mengubahnya menjadi indeks array melalui operasi bit; 2 Objek yang berbeza boleh menghasilkan nilai hash yang sama, mengakibatkan konflik. Pada masa ini, nod dipasang dalam bentuk senarai yang dipautkan. Selepas JDK8, senarai yang dipautkan terlalu panjang (panjang lalai 8) dan ia akan ditukar kepada pokok merah dan hitam untuk meningkatkan kecekapan; 3. Apabila menggunakan kelas tersuai sebagai kunci, sama () dan kaedah hashcode () mesti ditulis semula; 4. HashMap secara dinamik mengembangkan kapasiti. Apabila bilangan elemen melebihi kapasiti dan multiplies oleh faktor beban (lalai 0.75), mengembangkan dan mengembalikan; 5. hashmap tidak selamat benang, dan concu harus digunakan dalam multithreaded

Penghitungan Java bukan sahaja mewakili pemalar, tetapi juga boleh merangkum tingkah laku, membawa data, dan melaksanakan antara muka. 1. Penghitungan adalah kelas yang digunakan untuk menentukan contoh tetap, seperti minggu dan negeri, yang lebih selamat daripada rentetan atau bilangan bulat; 2. Ia boleh membawa data dan kaedah, seperti nilai lulus melalui pembina dan menyediakan kaedah akses; 3. Ia boleh menggunakan suis untuk mengendalikan logik yang berbeza, dengan struktur yang jelas; 4. Ia boleh melaksanakan antara muka atau kaedah abstrak untuk membuat tingkah laku yang berbeza dari nilai penghitungan yang berbeza; 5. Beri perhatian untuk mengelakkan penyalahgunaan, perbandingan kod keras, pergantungan pada nilai ordinal, dan penamaan dan bersiri yang munasabah.

Kunci untuk mengendalikan pengecualian di Java adalah untuk menangkap mereka, mengendalikan mereka dengan jelas, dan tidak menutup masalah. Pertama, kita mesti menangkap jenis pengecualian tertentu seperti yang diperlukan, elakkan tangkapan umum, dan mengutamakan pemeriksaan pemeriksaan. Pengecualian runtime harus dinilai terlebih dahulu; Kedua, kita mesti menggunakan rangka kerja log untuk merekodkan pengecualian, dan mencuba semula, melancarkan atau membuang berdasarkan jenis; Ketiga, kita mesti menggunakan blok akhirnya untuk melepaskan sumber, dan mengesyorkan cuba-dengan-sumber; Keempat, kita mesti secara munasabah menentukan pengecualian adat, mewarisi runtimeexception atau pengecualian, dan membawa maklumat konteks untuk debugging mudah.

Corak reka bentuk singleton di Java memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan titik akses global melalui pembina swasta dan kaedah statik, yang sesuai untuk mengawal akses kepada sumber yang dikongsi. Kaedah pelaksanaan termasuk: 1. 2. Pemprosesan Safe Thread, memastikan bahawa hanya satu contoh yang dibuat dalam persekitaran berbilang threaded melalui kaedah penyegerakan atau penguncian cek berganda, dan mengurangkan kesan prestasi; 3. 4. Pelaksanaan penghitungan, menggunakan penghitungan Java untuk secara semulajadi menyokong serialisasi, keselamatan thread dan mencegah serangan reflektif, adalah kaedah ringkas dan boleh dipercayai. Kaedah pelaksanaan yang berbeza boleh dipilih mengikut keperluan khusus
