7.02.2011

O Google valoriza o Java..rodando no Android com HTML 5


Olá ...Hello... موجة...שלוֹם...

Quero mostrar o quanto a Google está valorizando o Java e hoje a Oracle não entende ou não que entender a o fenômeno Java perdeu força e Google pode ser uma estratégia... 
Desenvolvi uma pequena aplicação para Symbian, fiz a aplicação utilizando apenas a ferramenta Web Runtime da Nokia, ou seja, é uma aplicação HTML e Javascript que roda no celular, isto não desmerece em nada a aplicação, na verdade eu gostei bastante da idéia e comecei a pensar em como portar esta aplicação para um Android, e a versão Android já esta pronta.

Mas seguindo com o que eu queria publicar aqui, para Symbian a Nokia tem o Web Runtime, um conjunto de bibliotecas que permite o desenvolvimento de aplicações mobile apenas com HTML e Javascript, mas não encontrei nada parecido para o Android, entãodepois de pesquisar um pouquinho, consegui o seguinte passo a passo:

Crie uma aplicação Android normal com uma activity, edite o arquivo res/layout/main.xml para que fique assim:
1
2
3
4
5
6
7
 version="1.0" encoding="utf-8"?>
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
  android:id="@+id/webView" android:layout_width="fill_parent"
  android:layout_height="fill_parent" />
>
Agora, na activity adicione este código no método onCreate:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        web = (WebView) findViewById(R.id.webView);
        WebSettings settings = web.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        settings.setSupportMultipleWindows(true);
        settings.setSupportZoom(false);
        settings.setPluginsEnabled(true);
        web.setVerticalScrollBarEnabled(true);
        web.setHorizontalScrollBarEnabled(false);
        // Our application's main page will be loaded
        web.loadUrl("file:///android_asset/index.html");
    }
Agora é só colocar a sua aplicação escrita com html e javascript na pasta assets e tudo vai funcionar que é uma beleza 
E para melhorar um pouco a iteração do javascript com o OS você pode criar classes java normalmente e utilizar o método WebView.addJavascriptInterface(objetoJava, “nomeNoJavascript”) para adicionar “interfaces” do javascript para o android.
A re-escrita para Android, com isto fica bem fácil portar uma aplicação WebRuntime de Symbian para Android.

Claro que os objetos nativos do WebRuntime como “widget”, “device” e “menu” não existem neste caso, mas nada impede de quem precisar implementar e disponibiliza-los par a sua aplicação utilizando o addJavascriptInterface …
Aguardo as sugestões, dúvidas...as discordâncias também.

No comments:

Node.js?

  Node.js? It is JS or Javascript yes, it is the basis.  Yes the old Javascript that today has a strong front and back end stack, the same s...