Aplikasi pada TSD dan komunikasi dengan 1C: Enterprise 8.3 melalui HTTP-Service. Bagian 5 (Menu, objek pengiring)

4. OnKeyUp. Dapatkan kode batang dari pemindai dengan emulasi keyboard

Aplikasi pada TSD dan komunikasi dengan 1C: Enterprise 8.3 melalui HTTP-Service. Bagian 5 (Menu, objek pengiring)


Setiap aplikasi memiliki variabel global. Misalnya, salah satunya adalah nama database. Saya tidak tahu seberapa benar ini dari sudut pandang kotlin-way. Untuk mengatur variabel global untuk suatu aplikasi, kami akan melakukan hal berikut. Buat proyek baru Navigation Drawer Activity . Di dalamnya kita akan belajar bekerja dengan menu, dan membuat halaman dengan pengaturan. Di sebelah MainActivity, buat kelas baru

 class MyApp: Application() { companion object { var baseUrl = "http://192.168.0.1/unf/hs/inntsd/v1/" const val dbName = "mws_db" var user1C = "tsd" var pass1C = "123123" } } 

Di AndroidManifest.xml di <application tag, tambahkan baris android:name=".MyApp"

AndroidManifest.xml
 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.domain.myapp"> <application android:name=".MyApp" 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"> <activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> 


Itu saja. Sekarang, dari bagian mana pun dari aplikasi, kita dapat mengambil variabel dengan merujuknya sebagai MyApp.

Kami lolos ke bagian kedua. Mari bermain dengan menu. Mari kita segera memutuskan bahwa kita akan memiliki menu kita sendiri untuk setiap fragmen. Sekarang dalam proyek ini terlihat seperti ini.

res
gambar

Buat menu baru. New - Menu resource file Tempatkan teks berikut dalam file. orderInCategory menunjukkan posisi menu. Kurang lebih tinggi. Kami mengingat BASIC dan nomor 10, 20, 30 - Jadi kami akan selalu memiliki kesempatan untuk menambahkan item lain di antara elemen-elemen. -!>

 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/gallery_clear" android:orderInCategory="10" android:title="" app:showAsAction="never" /> <item android:id="@+id/gallery_send" android:orderInCategory="20" android:title="" app:showAsAction="never" /> </menu> 

Kami percaya bahwa Aktivitas utama kami tidak memiliki menu sendiri. Karena itu, kami dengan berani menghapus fungsinya

 override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu; this adds items to the action bar if it is present. menuInflater.inflate(R.menu.main, menu) return true } 

Dan di file ui/gallery/GalleryFragment , ui/gallery/GalleryFragment mendefinisikan ulang dua fungsi.

 override fun onCreate(savedInstanceState: Bundle?) { setHasOptionsMenu(true) //,      . super.onCreate(savedInstanceState) } override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_gallery, menu) //  . super.onCreateOptionsMenu(menu, inflater) } 

Dan pada akhirnya kami menambahkan fungsi

 override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.getItemId()) { R.id.gallery_clear -> Log.d("MenuDebug", " ") R.id.gallery_send -> Log.d("MenuDebug", " ") } return super.onOptionsItemSelected(item) } 

Itu saja. Dengan analogi untuk setiap fragmen, sekarang kita dapat menambahkan menu kita sendiri.

Source: https://habr.com/ru/post/id474596/


All Articles