4. OnKeyUp. Obtenha um código de barras em um scanner com emulação de tecladoAplicativo no TSD e comunicação com 1C: Enterprise 8.3 através do serviço HTTP. Parte 5 (Menu, objeto complementar)
Cada aplicativo possui variáveis globais. Por exemplo, um deles é o nome do banco de dados. Não sei o quanto isso está correto do ponto de vista do kotlin-way. Para definir variáveis globais para um aplicativo, faremos o seguinte.
Crie um novo projeto
Navigation Drawer Activity
. Nele vamos aprender a trabalhar com o menu e criar uma página com as configurações. Ao lado de MainActivity, crie uma nova classe
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" } }
No
AndroidManifest.xml
na tag
<application
, adicione a linha
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>
Só isso. Agora, de qualquer parte do aplicativo, podemos pegar nossas variáveis referindo-se a elas como
MyApp.
Passamos para a segunda parte. Vamos brincar com o menu. Vamos decidir imediatamente que teremos nosso próprio menu para cada fragmento. Agora, no projeto, fica assim.
Crie um novo menu.
New - Menu resource file
Coloque o seguinte texto no arquivo.
orderInCategory
indica a posição do menu. Menos é maior. Recordamos o
BASIC
e o número 10, 20, 30 - Portanto, sempre teremos a oportunidade de adicionar outro item entre os elementos. -!>
<?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>
Acreditamos que nossa Atividade principal não possui menu próprio. Portanto, excluímos com ousadia a função
override fun onCreateOptionsMenu(menu: Menu): Boolean {
E no arquivo
ui/gallery/GalleryFragment
, redefinimos duas funções.
override fun onCreate(savedInstanceState: Bundle?) { setHasOptionsMenu(true)
E no final, adicionamos a função
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) }
Só isso. Por analogia para cada fragmento, agora podemos adicionar nosso próprio menu.