Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
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: 11432 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:

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:

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(){             
......


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

<?xml version="1.0" encoding="utf-8"?>
<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:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receber

Quantidade de visualizações: 8612 vezes
Pergunta/Tarefa:

Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base.

Sua saída deverá ser parecida com:

Informe o salário base: 1450.00
Gratificação: R$ 72,50
Imposto: R$ 101,50
Salário final: R$ 1.421,00

Resposta/Solução:

Veja a resolução comentada deste exercício usando Java console:

package estudos;

import java.text.NumberFormat;
import java.util.Scanner;

public class Estudos {
  public static void main(String[] args) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
    
    // vamos ler o salario base
    System.out.print("Informe o salário base: ");
    double salario_base = Double.parseDouble(entrada.nextLine());
    
    // vamos calcular a gratificação
    double gratificacao = salario_base * (5.0 / 100);
    
    // vamos calcular o imposto
......



PHP ::: Fundamentos da Linguagem ::: Tipos de Dados

Entendendo o tipo de dados NULL do PHP - Aprenda a usar o tipo de dados NULL da linguagem PHP - Atualizada

Quantidade de visualizações: 10579 vezes
O tipo de dados NULL (nulo) do PHP é semelhante aos tipos undef (Perl) e None (Python). Este tipo de dados possui apenas um valor que é usado para indicar que uma variável não possui nenhum valor (não recebeu nenhuma atribuição ainda). Este tipo de dados pode ser escrito NULL, Null, null, etc. Não há distinção de maiúsculas e minúsculas. Veja um exemplo de seu uso:

$nome = "Osmar J. Silva";
$nome = null;  // variável é NULL agora
......


Se quisermos testar se uma variável ainda é NULL, podemos usar a função is_null(). Veja:

<?
  $nome;
 
  if(is_null($nome)){
......


Este código mostrará o seguinte resultado:

A variável $nome ainda é NULL.

Note que, se as advertências estiverem habilitadas na página PHP, a seguinte mensagem será exibida:

Warning: Undefined variable $nome in ...\index.php on line 4

Esta é a forma da linguagem PHP nos advertir de que a variável foi declarada mas não foi inicializada com algum valor.

Esta dica foi revisada, atualizada e testada no PHP 8.


C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercício Resolvido de C++ - Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares

Quantidade de visualizações: 394 vezes
Pergunta/Tarefa:

Escreva um programa em C++ para ler dois números inteiros M e N e, a seguir, imprimir os números pares existentes no intervalo [M, N] e imprimir a multiplicação desses números (os pares). Observe que os valores M e N devem ser fornecidos pelo usuário.

Nota: por se tratar de intervalo fechado [M, N], os números M e N devem ser incluídos na amostra. Além disso, seu código deve assegurar que M seja menor que N.

Sua saída deverá ser parecida com:

Informe o valor de M: 3
Informe o valor de N: 9
Números pares no intervalo [M, N]: 4, 6, 8,
Multiplicação dos números pares no intervalo [M, N]: 192
Resposta/Solução:

Veja a resolução comentada deste exercício em C++:

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char *argv[]){
  // variáveis usadas na resolução do problema
  int m, n, i, multiplicacao = 1;
  
  // vamos pedir para o usuário informar os valores de M e N
  cout << "Informe o valor de M: ";
  cin >> m;
  cout << "Informe o valor de N: ";
  cin >> n;
  
  // M é menor que N?
  if(m >= n){
    cout << "M deve ser menor que N";
  }
  else{
    // mostra os números pares no intervalo
    cout << "Números pares no intervalo [M, N]: ";
......



VB.NET ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como copiar todos os elementos de um vetor para outro em VB.NET usando o método CopyTo() da classe Array

Quantidade de visualizações: 6938 vezes
Nesta dica eu mostro como podemos usar o método CopyTo() da classe Array do VB.NET para copiar todos os elementos de um array para um outro array.

Veja o código completo para o exemplo:

Imports System

Module Program
  Sub Main(args As String())
    ' cria um array de inteiros
    Dim valores() As Integer = {1, 2, 3, 4, 5}

    ' exibe os valores do primeiro array
    For Each valor As Integer In valores
      Console.WriteLine(valor)
    Next

    ' cria um segundo array e copia os elementos
    ' do primeiro para o segundo
    Dim valores2() As Integer = {6, 7, 8, 9, 10, 15, 20}
......


Ao executar este código VB.NET nós teremos o seguinte resultado:

1
2
3
4
5

1
2
3
4
5
15
20


PHP ::: Dicas & Truques ::: PDO (PHP Data Objects)

PHP MySQL - Como efetuar uma conexão PHP + MySQL usando PDO (PHP Data Objects)

Quantidade de visualizações: 13331 vezes
O acesso e manipulação de informações em uma base de dados MySQL usando PDO está se tornando muito popular nos dias atuais. Nesta dica eu mostrarei como podemos efetuar uma conexão PHP + MySQL usando o construtor da classe PDO, passando a ele os parâmetros de conexão.

Veja o código completo para o exemplo:

<html>
<head>
<title>Estudando PHP</title>
</head>
<body>

<?php
  $server = "localhost";
  $user = "root";
  $pass = "osmar1234";
  $db = "estudos";
   
  try{
    $conn = new PDO("mysql:host=$server;dbname=$db", 
......


Se você forneceu todos os parâmetros de conexão corretamente, execute a página PHP e você terá o seguinte resultado:

Conexão efetuada com sucesso.


Desafios, Exercícios e Algoritmos Resolvidos de PHP

Veja mais Dicas e truques de PHP

Dicas e truques de outras linguagens

Quem Somos

Osmar J. Silva
Programador Freelancer
WhatsApp +55 (062) 98553-6711

Goiânia-GO
Programador Freelancer - Full Stack Developer, Professional Java Developer, PHP, C/C++, Python Programmer, wxWidgets Professional C++ Programmer, Freelance Programmer. Formado em Ciência da Computação pela UNIP (Universidade Paulista Campus Goiânia) e cursando Engenharia Civil pela PUC-Goiás. Possuo conhecimentos avançados de Java, Python, JavaScript, C, C++, PHP, C#, VB.NET, Delphi, Android, Perl, e várias tecnologias que envolvem o desenvolvimento web, desktop, front-end e back-end. Atuo há mais de 20 anos como programador freelancer, atendendo clientes no Brasil, Portugal, Argentina e vários outros paises.
Entre em contato comigo para, juntos, vermos em que posso contribuir para resolver ou agilizar o desenvolvimento de seus códigos.
José de Angelis
Programador Freelancer
WhatsApp +55 (062) 98243-1195

Goiânia-GO
Programador Freelancer - Formado em Sistemas de Informação pela Faculdade Delta, Pós graduado em Engenharia de Software (PUC MINAS), Pós graduado Marketing Digital (IGTI) com ênfase em Growth Hacking. Mais de 15 anos de experiência em programação Web. Marketing Digital focado em desempenho, desenvolvimento de estratégia competitiva, analise de concorrência, SEO, webvitals, e Adwords, Métricas de retorno. Especialista Google Certificado desde 2011 Possui domínio nas linguagens PHP, C#, JavaScript, MySQL e frameworks Laravel, jQuery, flutter. Atualmente aluno de mestrado em Ciência da Computação (UFG)
Não basta ter um site. É necessário ter um site que é localizado e converte usuários em clientes. Se sua página não faz isso, Fale comigo e vamos fazer uma analise e conseguir resultados mais satisfatórios..

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á 12 usuários muito felizes estudando em nosso site.