Você está aqui: Android Java ::: android.content ::: Context

Entenda e aprenda a usar o contexto da aplicação (application context) no Android

Quantidade de visualizações: 11730 vezes
O contexto da aplicação (application context) é o repositório central para a funcionalidade de todas as aplicações de nível superior no Android. Usamos este contexto quando queremos acessar configurações e recursos compartilhados entre as várias janelas (activities) da aplicação.

O contexto da aplicação é acessado por meio da classe Context (no pacote android.content). Esta classe é abstrata e sua implementação é fornecida pelo sistema Android. Veja sua posição na hierarquia de classes:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

java.lang.Object 
   android.content.Context 

Algumas sub-classes diretas e indiretas de Context são: ContextWrapper, MockContext, AbstractInputMethodService, AccessibilityService, AccountAuthenticatorActivity, Activity, ActivityGroup, AliasActivity, Application, BackupAgent, BackupAgentHelper, ContextThemeWrapper e ExpandableListActivity.

A forma mais comum de se obter o contexto da aplicação Android é por meio de uma chamada ao método getApplicationContext(). O retorno deste método é um objeto da classe Context. Veja um trecho de código no qual usamos o contexto para obter o nome da aplicação:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivo.estudos;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class EstudosActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button = (Button) findViewById(R.id.btn);         
        button.setOnClickListener(new View.OnClickListener(){             
           public void onClick(View v) {                 
        	 // vamos obter o contexto da aplicação
             Context contexto = getApplicationContext();
             // vamos usar o contexto para obter o nome da aplicação
             String nomeAplicacao = contexto.getResources().getString(R.string.app_name);
        	   
             Toast.makeText(contexto, 
        	"O nome da minha aplicação Android é: " + nomeAplicacao, 
        	Toast.LENGTH_SHORT).show();             
           }         
        });
    }
}

O nome da aplicação foi definido em um arquivo string.xml da seguinte forma:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Estudos</string>
</resources>

Note que, como a classe Activity herda de Context, é comum passarmos a referência this para códigos que pedem um Context (quando estamos codificando dentro de uma Activity). Esta prática não é muito recomendada pelos experts em Android, visto que pode provocar vazamentos de memória. sempre que algum método ou construtor pedir um Context, obtenha-o por meio do método getApplicationContext().

Link para compartilhar na Internet ou com seus amigos:

Android Java ::: android.widget ::: Toast

Como usar a classe Toast em suas aplicações Android

Quantidade de visualizações: 9910 vezes
Um objeto da classe pública Toast (do pacote android.widget) nos oferece uma forma de exibir uma pequena e rápida mensagem aos usuários de nossas aplicações Android. A mensagem exibida aparecerá como uma view flutuante sobre a tela atual da aplicação e não receberá foco. O objetivo é alertar o usuário sobre o sucesso ou fracasso de alguma atividade, aguardar alguns segundos e fazer a mensagem desaparecer.

Veja a posição desta classe na hierarquia de classes do Android SDK:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

java.lang.Object 
   android.widget.Toast 

Eis um exemplo de como usar um objeto desta classe para exibir uma breve mensagem quando o usuário clicar um botão na view:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivo.estudos;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class EstudosActivity extends Activity
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button button = (Button) findViewById(R.id.btn);         
        button.setOnClickListener(new View.OnClickListener(){             
           public void onClick(View v) {                 
              Toast.makeText(EstudosActivity.this, 
        	 "Bem-vindo à minha aplicação Android", 
        	 Toast.LENGTH_SHORT).show();             
           }         
        });
    }
}

O botão usado neste exemplo foi criado em um layout XML com a seguinte declaração:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<Button 
    android:id="@+id/btn"
    android:layout_height="wrap_content"     
    android:layout_width="wrap_content"     
    android:text="Clique" />

Veja que aqui nós usamos o método estático makeText() da classe Toast para exibir a mensagem ao usuário. A constante Toast.LENGTH_SHORT faz com que a mensagem seja exibida por um curto período de tempo.


Android Java ::: android.widget ::: Button

Como detectar um clique em um botão do Android usando setOnClickListener() e exibir uma mensagem AlertDialog

Quantidade de visualizações: 1568 vezes
O método setOnClickListener() nos permite definir a ação que será disparada ao clicarmos em um botão. Note que primeiro nós localizamos o botão no arquivo XML de layout usando o método findViewById() da classe View.

Comece analisando o arquivo XML de layout no qual criamos um botão e o colocamos como filho de um elemento LinearLayout:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
  http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  tools:context=".MainActivity">

  <Button xmlns:android="
    http://schemas.android.com/apk/res/android"
    android:id="@+id/btn_enviar"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/btn_enviar"
    android:textAllCaps="false"
    />
</LinearLayout>

E agora o código Java no arquivo MainActivity.java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package com.example.estudosandroid;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // vamos detectar um clique no botão e exibir uma mensagem AlertDialog
    Button button = (Button) findViewById(R.id.btn_enviar);
    button.setOnClickListener(new View.OnClickListener(){
      public void onClick(View view) {
        AlertDialog dialogo = new
          AlertDialog.Builder(MainActivity.this).create();
        dialogo.setTitle("Aviso");
        dialogo.setMessage("Esta é uma mensagem de aviso");
        dialogo.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
          new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which){
              dialog.dismiss(); // fecha o AlertDialog
            }
          }
        );
        dialogo.show();
      }
    });
  }
}



Android Java ::: androidx.appcompat.app ::: AppCompatActivity

Como usar o método startActivity() da classe Activity ou AppCompatActivity do Android para mudar de telas

Quantidade de visualizações: 1738 vezes
Por mais simples que nossas aplicações Android sejam, elas serão compostas de duas ou mais telas, ou seja, duas ou mais Activity ou AppCompatActivity. Nesta dica mostrarei como usar o método startActivity() dessas duas classes para levar o usuário da primeira tela para a segunda. Lembre-se de que AppCompatActivity herda de Activity e, nos dias atuais, é a classe preferida para representar as telas individuais das aplicações Android.

Comece criando um novo projeto no Android Studio. Escolha Empty Activity e dê o nome "App Duas Telas" ao projeto. Observe que o Android Studio já criou uma Activity ou AppCompatActivity com o nome MainActivity.java.

Vamos nos certificar de que esta Activity é de fato a tela principal da aplicação. Abra o arquivo AndroidManifest.xml e veja se seu elemento <activity> se parece com o que temos abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<activity android:name=".MainActivity">
  <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>

Se tudo estiver Ok, vamos agora criar a segunda tela. Clique com o botão direito em cima do pacote "com.example.appduastelas" e escolha New -> Activity -> Empty Activity. Dê o nome "SegundaTela", desmarque a opção Launcher Activity e clique o botão Finish.

Se você observar o arquivo AndroidManifest.xml novamente, você verá que a segunda tela já foi adicionada lá.

Agora vamos examinar o arquivo XML de layout para a primeira tela (layout\activity_main.xml):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="16dp"
  android:orientation="vertical"
  tools:context="com.example.appduastelas.MainActivity">

  <Button
   android:id="@+id/abrir_tela"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_marginTop="20dp"
   android:onClick="abrirSegundaTela"
   android:text="@string/abrir_tela" />
</LinearLayout>

Note que temos um elemento <LinearLayout> e, dentro dele, um elemento <Button>. No botão nós declaramos o método abrirSegundaTela para seu atributo onClick. Não esqueça de atualizar o arquivo strings.xml para refletir o texto do botão "@string/abrir_tela".

Pronto. Agora vamos ver o arquivo XML de layout para a segunda tela (layout\activity_segunda_tela.xml):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:padding="16dp"
  android:orientation="vertical"
  tools:context="com.example.appduastelas.SegundaTela">

  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Sou a segunda tela."/>
</LinearLayout>

Nesse layout nós temos um elemento <LinearLayout> e, dentro dele, um elemento <TextView>, que serve apenas para exibir um texto qualquer na segunda tela.

Para finalizar, só precisamos escrever o método abrirSegundaTela() na MainActivity.java. Veja o código completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package com.example.appduastelas;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }

  // método usado para abrir a segunda tela
  public void abrirSegundaTela(View view) {
    Intent intent = new Intent(this, SegundaTela.class);
    startActivity(intent);
  }
}

Veja que dentro do método abrirSegundaTela(), que recebe uma View com parâmetro, nós criamos um novo objeto da classe Intent e fornecemos o nome da segunda tela. Em seguida fazemos uma chamada ao método startActivity() passando o Intent recém-criado como argumento.

Pronto! É só isso. Execute a aplicação, clique no botão e veja a segunda tela ser exibida. Pressione o botão Voltar e repita quantas vezes quiser. Agora é só criar mais telas e desenvolver vários e vários apps Android.


Vamos testar seus conhecimentos em

Domínios de Deformações

O dimensionamento de uma seção transversal de um elemento linear concreto armado, sujeito a solicitações normais, de acordo com a NBR 6118 - "Projeto de estruturas de concreto" - é realizado com base em hipóteses básicas.

A respeito dessas hipóteses, analise as informações a seguir, indicando V para as verdadeiras e F para as falsas:

( ) A distribuição das deformações ocorre de forma não linear ao longo da altura da seção.

( ) As deformações nas barras de armadura são idênticas às deformações do concreto que as envolve.

( ) Admite-se que todas as tensões de tração existentes serão resistidas pelo concreto e pela armadura.

( ) Adota-se o diagrama parábola-retângulo idealizado para o concreto comprimido.

Assinale a alternativa que contém a sequência correta:

A) V - V - F - F.

B) V - F - F - F.

C) F - V - F - V.

D) F - V - V - V.

E) V - F - F - V.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

A viga de fundação é também chamada de viga baldrame. É utilizada para conectar sapatas isoladas e distribuir melhor o peso da estrutura para as camadas do solo. A partir disso, projete uma viga de fundação para os pilares P1 e P2, indicados na figura, sendo a taxa no solo σs = 0,4.

Considere: P1 = P2 = 1.800KN.

Dimensões P1 e P2 = 25cmX100cm.



A) a = 400cm e b = 280cm.

B) a = 365cm e b = 250cm.

C) a = 250cm e b = 365cm.

D) a = 345cm e b = 230cm.

E) a = 405cm e b = 315cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual função é usada para retornar o tamanho de uma string em Python?

A) count_chars()

B) str_len()

C) size()

D) length()

E) len()
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Fundações

Fundações diretas ou rasas

As sapatas são elementos da fundação rasa dimensionadas de modo que as tensões de tração nelas atuantes resistam por meio de uma armadura disposta com essa finalidade, sendo produzidas com concreto armado. Considerando a importância da utilização desse tipo de fundação nas edificações, dimensione uma sapata para um pilar de 30X100 com carga 2.000KN para um σs = 0,5Mpa.

Observações:

- A sapata não deverá ter nenhuma dimensão menor que 60cm.

- Os valores de a e b devem ser escolhidos de modo que a relação entre a e b seja, no máximo, igual a 2,5.

- Os valores de a e b devem ser escolhidos de forma que os balanços da sapata, em relação às faces do pilar, sejam iguais nas duas direções.

Assinale a alternativa correta.

A) a = 240cm e b = 170cm.

B) a = 250cm e b = 190cm.

C) a = 230cm e b = 150cm.

D) a = 245cm e b = 180cm.

E) a = 220cm e b = 130cm.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

for i in range(10, 1, -1):
  print(i, end="  ")

A) 9 8 7 6 5 4 3 2 1

B) 1 2 3 4 5 6 7 8 9 19

C) 10 9 8 7 6 5 4 3 2

D) 10 9 8 7 6 5 4 3 2 1

E) 9 8 7 6 5 4 3 2 1 0
Verificar Resposta Estudar Cards Todas as Questões

Veja mais Dicas e truques de Android Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 43 usuários muito felizes estudando em nosso site.