Determine light level, Sensor.TYPE_LIGHT.

Example to determine light level using Android light sensor:

Determine light level, Sensor.TYPE_LIGHT.


package com.example.androidsensor;

import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView textLIGHT_available, textLIGHT_reading;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textLIGHT_available
= (TextView)findViewById(R.id.LIGHT_available);
textLIGHT_reading
= (TextView)findViewById(R.id.LIGHT_reading);

SensorManager mySensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);

Sensor LightSensor = mySensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
if(LightSensor != null){
textLIGHT_available.setText("Sensor.TYPE_LIGHT Available");
mySensorManager.registerListener(
LightSensorListener,
LightSensor,
SensorManager.SENSOR_DELAY_NORMAL);

}else{
textLIGHT_available.setText("Sensor.TYPE_LIGHT NOT Available");
}
}

private final SensorEventListener LightSensorListener
= new SensorEventListener(){

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub

}

@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_LIGHT){
textLIGHT_reading.setText("LIGHT: " + event.values[0]);
}
}

};

}


<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:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
tools:context=".MainActivity" />

<TextView
android:id="@+id/LIGHT_available"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/LIGHT_reading"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>


Related:
- Access temperature sensor, TYPE_TEMPERATURE and TYPE_AMBIENT_TEMPERATURE.

Access temperature sensor, TYPE_TEMPERATURE and TYPE_AMBIENT_TEMPERATURE.

The temperature sensors (Sensor.TYPE_TEMPERATURE/Sensor.TYPE_AMBIENT_TEMPERATURE) are used to determine temperature of the phone, for internal hardware. They are not available on all device. (It's not available on my HTC One X and HTC Flyer!)

Sensor.TYPE_TEMPERATURE is deprecated, use Sensor.TYPE_AMBIENT_TEMPERATURE instead.

Example:
package com.example.androidsensor;

import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.app.Activity;
import android.widget.TextView;

public class MainActivity extends Activity {

TextView textTEMPERATURE_available, textTEMPERATURE_reading;
TextView textAMBIENT_TEMPERATURE_available, textAMBIENT_TEMPERATURE_reading;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textTEMPERATURE_available
= (TextView)findViewById(R.id.TEMPERATURE_available);
textTEMPERATURE_reading
= (TextView)findViewById(R.id.TEMPERATURE_reading);
textAMBIENT_TEMPERATURE_available
= (TextView)findViewById(R.id.AMBIENT_TEMPERATURE_available);
textAMBIENT_TEMPERATURE_reading
= (TextView)findViewById(R.id.AMBIENT_TEMPERATURE_reading);

SensorManager mySensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);

Sensor TemperatureSensor = mySensorManager.getDefaultSensor(Sensor.TYPE_TEMPERATURE);
if(TemperatureSensor != null){
textTEMPERATURE_available.setText("Sensor.TYPE_TEMPERATURE Available");
mySensorManager.registerListener(
TemperatureSensorListener,
TemperatureSensor,
SensorManager.SENSOR_DELAY_NORMAL);

}else{
textTEMPERATURE_available.setText("Sensor.TYPE_TEMPERATURE NOT Available");
}

Sensor AmbientTemperatureSensor
= mySensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
if(AmbientTemperatureSensor != null){
textAMBIENT_TEMPERATURE_available.setText("Sensor.TYPE_AMBIENT_TEMPERATURE Available");
mySensorManager.registerListener(
AmbientTemperatureSensorListener,
AmbientTemperatureSensor,
SensorManager.SENSOR_DELAY_NORMAL);
}else{
textAMBIENT_TEMPERATURE_available.setText("Sensor.TYPE_AMBIENT_TEMPERATURE NOT Available");
}
}

private final SensorEventListener TemperatureSensorListener
= new SensorEventListener(){

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub

}

@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_TEMPERATURE){
textTEMPERATURE_reading.setText("TEMPERATURE: " + event.values[0]);
}
}

};

private final SensorEventListener AmbientTemperatureSensorListener
= new SensorEventListener(){

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// TODO Auto-generated method stub

}

@Override
public void onSensorChanged(SensorEvent event) {
if(event.sensor.getType() == Sensor.TYPE_AMBIENT_TEMPERATURE){
textAMBIENT_TEMPERATURE_reading.setText("AMBIENT TEMPERATURE: " + event.values[0]);
}
}

};

}


<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:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world"
tools:context=".MainActivity" />

<TextView
android:id="@+id/TEMPERATURE_available"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/TEMPERATURE_reading"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/AMBIENT_TEMPERATURE_available"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/AMBIENT_TEMPERATURE_reading"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>


Related:
- Determine light level, Sensor.TYPE_LIGHT.

Read Aperture, Exposure Time, and ISO from Exif

The post "Read EXIF of JPG file" demonstrate how to read Exif from JPG file using ExifInterface. Start from API Level 11, Exif tag of TAG_APERTURE, TAG_EXPOSURE_TIME and TAG_ISO was added in the android.media.ExifInterface class. You can simple modify the code in "Read EXIF of JPG file" to read Aperture, Exposure Time, and ISO from Exif.

Samsung Pays $1B to Apple with 30 Truck Loads of 5 Cent Coins? It's NOT TRUE.

A funny story is sweeping the internet. Samsung paid $1.05 billion to Apple by sending 30 trucks containing five-cent coins.

According to PaperBlog, the trucks were sent to Apple's main office in California this morning. Initially, the security of the company prevented the intrusion. However, Apple CEO Tim Cook received a call from the chief executive of Samsung that they have sent the payment for the fine ruled by the jury in the recently concluded patent battle of the two tech giants.

The funny thing is, the story originated from a meme of the popular website 9Gag.com. Thus, the news report is a hoax.

Details: http://au.ibtimes.com/articles/378402/20120829/samsung-pay-apple-1-billion-coins-five.htm

Modificando a LockScreen com o Widget Locker - Tutorial



Bom dia,boa tarde ou boa noite. ^^

Uma das coisas que mais fico perplexo no Android é o "poder ilimitado" de customização. Já postei antes um tema que deixá seu "droid" com a cara do Windows 7.  Másss hoje vou explicar como modificar a sua LockScreen com o aplicativo WidgetLocker.  
Mas atenção, o nível da modificação que vamos fazer não é tão simples quanto apenas instalar um mero e simples aplicativos (dependendo de alguns pode ser molezaaa)

Ok, quando eu informei que não é tão simples (Láaa em cima ^ rs') é porque necessita de root pelo método que eu  usar. ^^ 

(ALGUMAS LOCK SCREEN'S) ^^
Sobre a modificação que vamos fazer, ela a partir desse momento fica simples. Vamos entrar no aplicativo (apk) e modificar as imagens dos slides para desbloquear a tela. Simples né?



Root Explorer & WIDGET LOCKER.
Esse é o jeito que acho mais simples, e o que eu usei mesmo. Atenção para não fazer nada errado. Como você estará mexendo com arquivos do sistema "DROID", favor não mexer nos arquivos que não estiverem descritos aqui abaixo.

Mãos a obra!
  1. Copie a pasta Mods (que você baixou lá em cima) para algum lugar simples do seu PC (como o desktop).
  2. Abra o Root Explorer (no celular), vá até /data/app.
  3. Encontre com.teslacoilsw.widgetlocker-1.apk.
  4. Copie-o para seu SD Card (deixa apertado, copy, aperta Menu, bookmarks, sd card, e paste).
  5. Monte seu aparelho no PC para ver o SD Card.
  6. Abra o apk no seu PC (com o 7Zip, ou Winrar, ou Ark se for linux, ou qualquer coisa que você saiba usar).
  7. Vá até a pasta Mods, e copie as duas imagens que você quer colocar no WidgetLocker na pasta /res/drawable-hdpi . As imagens normalmente vem em pares se forem para mudar o iPhone Slider, apenas uma para o HTC, e por aí vai.
  8. Monte o cartão no aparelho de novo, e navegue até o sd card pelo Root Explorer.
  9. Copie o apk modificado para dentro de /data/app. Ele vai perguntar se você quer sobrescrever, só dizer que sim.
  10. Deixe apertado no apk e aperte em permissões. Deixe do seguinte jeito:
  11. Reinicie o aparelho e veja a modificação. Lembrando que se você mudou a imagem do iphone_slider, você tem que por o slider do iPhone para ver a modificação, da HTC a mesma coisa, e por aí vai.
DOWNLOAD'S ARQUIVOS:
                 

ROOT EXPLORER (4 SHARED)


            

WIDGET LOCKER (4SHARED)



MOD'S WIDGET (DROPbox)


How Apple Jury Reached a Verdict

Apple Jury Foreman: Here's How We Reached a Verdict

Aug. 27 (Bloomberg) -- The Apple Vs. Samsung Jury Foreman Vel Hogan discusses his experience throughout the billion dollar patent case. He speaks with Emily Chang on Bloomberg Television's "Bloomberg West." (Source: Bloomberg)


CONHECIMENTOS BÁSICOS SOBRE O ANDROID

ANDROID:

  • Um sistema operacional aberto (open source) para telefones móveis baseados em Linux kernel e middleware.
  • Middleware - cuida da comunicação entre diferentes tipos de software (vários fabricantes, as plataformas)
  • Para começar, o Google Android não é, mas a empresa Android Inc.. Fundada (Andy Rubin, Rich Miner, Nick Sears e Chris White) Mais tarde, foi comprado pelo Google, que agora é de um dos principais motores do desenvolvimento em conjunto com a Open Handset Alliance (OHA) (cerca de mais 30 empresas).


Firmware (FW)

  • Parte do software do telefone móvel, controlar todas as suas funções. Sem ela, o telefone seria apenas um pedaço de plástico e uma pilha de componentes eletrônicos.
  • Atualização de firmware normalmente fornece reparar erros críticos (segurança, congelamento do sistema, os aplicativos da queda. Etc) e traz muitas melhorias e novas funcionalidades (suporte, Etc novas aplicações, mudanças nas configurações.).
Kernel ( Núcleo)
  • O núcleo do sistema operacional que controla a actividade de gestão de processos de memória e drivers. Na verdade, supervisiona o telefone funcionando.
  • Temos várias versões modificadas, que enriquecem as funções do kernel novo (como clock do processador), ou melhorar a estabilidade.
Lançador

  • Telefone Ambiente de Trabalho (gráfico sobre o edifício ).
  • Exatamente o que você vê quando você iniciar o telefone, área, widgets, ícones gaveta.
  • Gaveta - aplicações oferecem
  • Widgets - aplicações rodando no seu desktop (relógio, tempo .....)
  • Existem muitos tipos de lançador, cabe a você no que você vai se divertir tanto ADW launcher Launcher, para, Go EX lançador.

Multi-Touch

  • Uma tecnologia que permite ambiente de controle de telefone por dois ou mais dedos sobre o personagem.

Hard reset - Trojhmat

  • Retornando o telefone para as configurações de fábrica.

Root

  • Basta colocar, obter acesso completo ao sistema (os direitos do sistema radicular).
  • Para melhor compreensão é como uma conta de administrador no Windows.


Custom Recovery

  • Modo depois de ligar o telefone móvel utilizado para intervir no sistema.
  • As principais vantagens para piscar Roma, Roma backup atual (NAND) e outros ajustes.


Nandroid - Nandroid backup

  • Backup completo de Roma (Configurações, datas, contatos, tudo é feito o backup).
  • Memória cartão arquivos sobre ele e não fizer backup.
  • Então, cuidado, se a notícia ou qualquer outra coisa armazenada no cartão de modo que você não pode encontrá-lo nenaformátovali e que após restaurar o backup é nandroid você tem aí!


Modo de emergência

  • "O modo de recuperação" ou modo de reflash, flash firmware / ROM, ou para reviver o telefone.

Conceitos básicos sobre o regime do Android:

Flash
  • Atualizando, atualização, carregar update, - firmware, atualização do sistema, fazendo upload de um recurso ou pacote de modificação, Roma .....
  • Ou "upload" sistema "pacote" (geralmente no formato *. Zip *. KDZ) para o telefone.

Reflash
  • O mesmo como Flash, apenas piscando uma mesma versão de qualquer coisa de novo (Re - Flash parcela = recorrente).
  • Exemplo: Eu tenho a versão do firmware versão 10 e 10 re-flash a Ou eu deveria Roma Arc xp v1.0 e flash-lo novamente com a versão 1.0. Isto é chamado reflash.
  • Se usarmos o reflash que você tenha a última versão do firmware que não inclui a língua checa, de modo reflashneme FW (mesma versão) com apenas o apoio da língua checa. Ou quando ocorre um erro na Roma piscando, FW, patch, correção, e assim por diante.

Patch e Fix,

  • Eles podem ser descritas como um "patch" erros a necessidade do sistema ou aplicação.
  • Ou corrigir erros, defeitos.
  • A diferença entre eles é geralmente que o patch adiciona coisas novas (modifica o código fonte, mas não consegue nenhum erro), enquanto a correção "apenas" corrige os erros. Mas isto não pode ser assim.
Tweak 
  • Melhorias (tratamento) do sistema para otimizar o desempenho, definir escondido ou permitir sistema.
  • Exemplos: menor consumo de bateria, melhor trabalhar com a memória RAM, cartão SD mais rápido, ativar a aceleração de hardware, e muitas outras opções.
Expressões comuns apresentadas nas propriedades de 
melhores rom:

Zipalign 

Uma ferramenta que optimiza aplicações (* Apk.), A fim de minimizar o uso de carneiro em uso

JIT

  • Otimiza o sistema de código que é usado com mais freqüência, ou é mais exigente e é posteriormente carregado mais rapidamente.
  • Claro, isso resultou no telefone resposta mais rápida.

ODEX, Deodex

  • ODEX - Aplicação (*. apk) arquivo contendo ODEX otimizado, o que é usado para economia de espaço e mais rápido sistema start-up.
  • Apenas uma falha é a beleza e aplicativos de edição. Como otimizar o arquivo ODEX agora tem o código-fonte em vários lugares e alguns dos "ilegível". Portanto, a funcionalidade e posterior tratamento possível é geralmente tudo custome deodex Roma (-ed).
  • Deodex - Todo o código-fonte estão juntos e pronto para edição. Por exemplo. Para criar um esquema (tema).
  • Contras: aplicações maiores, inicialização mais lento (se eles já perceberam a diferença).

Menu Advanced Power 

  • Adiciona novas opções (por exemplo, reboot, reboot em recuperação personalizado) fora do menu.