Se tem um tema dentro da estrutura de Arquitetura de Informação que eu gosto, esse tema é sem dúvida o Sketching, quer seja pelo meu passado desenhista, quer seja pela sua praticidade. O Processo de arquitetura de informação de forma simplista consiste na propotipagem, é o desenvolvimento de protótipos que se tornam o que chamamos…
Arquitetura de Informação – Sketching
Oportunidade Apache Flex + Java – Desenvolvedor Pleno – Rio de Janeiro
Olá pessoal! Que tal vir morar no Rio de Janeiro, atuar com desenvolvimento Apache Flex + Java, trabalhando para uma grande multinacional na Barra da Tijuca? A Match Latam é uma multinacional e ela atua aqui no Brasil também com desenvolvimento, e um de seus grandes cases é o portal ParPerfeito, dentre outros. Se você [...]
Introdução ao Android Screencasts
? Android: o retorno da série. Um bom tempo após o primeiro tutorial sobre android (? http://www.dclick.com.br/2011/02/24/android-configuracoes-iniciais-e-hello-world/? ), estou de volta, e desta vez com 14 screencasts sobre os mais variados temas em desenvolvimento para esta plataforma que cresce espantosamente a cada dia. O conteúdo destes screencasts, que abordam temas como: ? Activity LifeCycle, Alerts, User Interface, Intents, Lists,…
Mac OS X do Snow para o Lion… lentidão
Um post r?pido para compartilhar algo que pode ser ?til a mais algu?m…
Recentemente fiz o upgrade do meu Macbook Pro do Mac OS X Snow Leopard para o Lion, depois de todas as atualiza??es de software, no uso do dia a dia notei que o Lion estava absurdamente lento, Google Chrome, Mozilla Firefox, o Eclipse (esse estava de chorar e desanimador de t?o lento que estava)
Lendo os blogs, achei 2 dicas que resolveram o problema:
1 – Verificar e reparar as permiss?es de acesso ao HD
Caminho: Finder > Applications > Utilities > Disk Utility
Selecionar o drive que representa o Mac, depois clicar no bot?o: Verify Disk Permissions, esperar finalizar e depois no bot?o: Repair DIsk Permissions
Link do post com as dicas: Speed up Mac OS X Lion
Desde post tamb?m revisei as configura??es do Spotlight.
2 – Limpar os caches
Abrir o Finder > Menu: Go > Go Folder | ou executar o atalho: Shift + Command + G
Digite: ~/Library/Caches
Apague o conte?do deste diret?rio
Caso n?o tenha total seguran?a se deve apagar todos os arquivos e diret?rios, fa?a um backup, copiando o conte?do da pasta para outro diret?rio. Obs.: esse passo n?o ? necess?rio, mas caso queria alguma garantia de o que fazer se algo der errado ter? as c?pias.
Aten??o: alguns diret?rios e arquivos n?o ser?o exclu?dos pois est?o em execu??o, por exemplo, cache referente ao Finder e a alguns outros aplicativos do Mac OS X.
Reinicie seu Mac.
Link do post com a dica: OSX Lion – Clear your caches!
Feito estes procedimentos, os aplicativos e o Mac OS X Lion passou a ter uma performance e resposta aceit?vel, assim como tinha no Mac OS X Snow Leopard.
Veja também:
Cacoo – Ferramenta de diagramação colaborativa online
Ontem, estava procurando uma ferramenta para desenhar diagramas, que me desse mais op??es de diagramas e fosse mais flexivel do que todas as demais ferramentas que j? havia utilizado at? o momento. Realizando uma busca no Google acabei encontrando a Cacoo.
Site | Google Chrome Web Store
At? o presente momento, utilizando a ferramenta, gostei da facilidade de uso e da quantidade de elementos gr?ficos dispon?veis para utilizar nos diagramas, est? atendendo bem a minha necessidade de cria??o de diagramas.
Veja também:
Desenvolvendo para iOS utilizando Phonegap
Hoje existem diversas plataformas no mundo mobile e cada uma com uma linguagem especÃfica, dessa forma, existe um custo elevado para portar uma mesma aplicação para todas as plataformas, esse custo elevado no desenvolvimento de projetos acaba criando uma barreira muito grande para que pequenas empresas possam usufruir desse ambiente que cresce exponencialmente a cada [...]
O eCommerce brasileiro em 2011
O portal E-commerce Brasil realizou recentemente uma pesquisa com as principais lojas virtuais do pa?s com o objetivo de saber mais sobre as plataformas utilizadas.
Plataforma Pr?pria x Tercerizada

ERP?

Atendimento Online

Selos de Seguran?a

Como expor os produtos no e-commerce
Categorias

Fotos

Uma vis?o geral sobre os e-commerces analisados


Testes Unitários com JUnit – De volta ao básico
Já que ultimamente estamos falando bastante de testes unitários, principalmente aqui na DClick, vamos revisar uma das ferramentas essenciais para executar essa tarefa: JUnit. Mais especificamente, vamos fazer alguns testes com o JUnit 4.8.1, que pode ser encontrado para download no site do projeto, ou até mesmo no repositório do maven.
A proposta desse post é apresentar a ferramenta para quem ainda não conhece, e relembrar ou até mesmo mostrar algumas funcionalidades muito úteis para nosso dia a dia de desenvolvimento.
Um pouco sobre a nova versão
Nas versões anteriores do JUnit, da 3.* pra baixo para ser mais exato, era necessário criar as classes de testes seguindo uma hierarquia pré-definida do JUnit para que os testes fossem executados. Era necessário extender uma das classes de Test Case do JUnit, e seus métodos precisavam seguir um padrão de nome especÃfico definido pelo framework.
Com a versão 4.* e a introdução ao suporte a Java 5, agora todas as configurações de testes unitários em JUnit são feitas via anotações, o que na minha opinião é muito mais rápido e fácil, tornando muito mais agradável e flexÃvel escrever testes unitários. Agora é possÃvel definir umahierarquia especÃfica para os testes do projeto, podendo abstrair muitas inicializações e padrões do sistema, facilitando o reaproveitamento e aumentando a velocidade de desenvolvimento. Afinal a maior parte do tempo gasto em desenvolvimento é com os testes.
Porém, com anotações, perdemos o acesso direto aos métodos de asserção de valores que as super classes definiam. A solução adotada foi tornar todos esses métodos estáticos e públicos, em uma classe especÃfica para guardá-los: org.junit.Assert.
Pode parecer uma solução não muito elegante do ponto de vista de código, e de fato não é quando consideramos código que será distribuÃdo e deploiado, porém é uma solução que faz total sentido no escopo dos testes unitários, tornando fácil o uso e acesso a tais funcionalidades.
Asserções
Para testar nosso código, o JUnit fornece os métodos de assert. O conceito é muito simples, todo método de asserção recebe um valor que é o correto esperado pelo teste, e o outro valor que é o devolvido pelo seu código. A comparação é executada, e o teste falha caso sejam diferentes e passa caso sejam iguais. Apenas com esse conceito é possÃvel testar todo o código, basta saber quais são os valores que devem ser testados para garantir o funcionamento do código.
A chave para escrever um teste unitário que cobre muito bem o seu código, é colocar as asserções nos valores realmente relevantes ao funcionamento do sistema. Algumas vezes por exemplo, não é preciso testar um valor intermediário gerado pelo código, apenas o resultado final, outras vezes esse valor intermediário gerado é crucial para o resultado final, e portanto deve ser verificado também.
Quando eu menciono ‘valores’, entenda que um valor pode ser qualquer objeto Java, portanto é muito importante implementar o equals e hashcode de seus objetos de resposta que serão testados pelo JUnit.
Exemplo Prático
Vamos criar um exemplo de classe de testes com o JUnit 4 para vermos como funciona na prática a execução de testes unitários.
Se você utiliza o Eclipse, você já possui instalado o plugin de execução de testes do JUnit, caso você não tenha tal plugin, recomendo que instale posi facilita muito a execução e depuração dos testes.
Vamos criar uma classe de testes:
|
1
2 3 |
public class JUnitTestCase
|
Repare que apesar do nome parecer que segue algum padrão, não é necessário que a classe tenha nenhuma dessas palavras em seu nome. Porém esta classe ainda não é uma classe de testes do JUnit. Para torná-la um teste, crie um método da seguinte forma:
|
1
2 3 4 |
@Test
public void metodoQualquer()
|
Repare na anotação org.junit.Test. Essa anotação diz que nosso método ‘metodoQualquer’ é um teste do JUnit. Perceba também que seu retorno é ‘void’ e ele não recebe nenhum argumento. Agora nossa classe é um teste propriamente dito. Simples assim. Vamos adicionar uma asserção agora para ver o funcionamento da mesma. Dentro do método que acabamos de criar, adicione a seguinte chamada:
|
1
|
Assert.assertEquals(“2 dividido por 2 deveria ser 1.”, 1, 2 / 2);
|
Repare que o primeiro argumento do método, é a mensagem que vai aparecer caso o método falhe. Mude o valor obtido (último argumento) para ver a mensagem de erro.
Esse é o básico de execução de testes. Por mais simples que possa parecer, esse é o ponto de partida. Agora existem outras funcionalidades qua ajudam a escrever testes mais complexos, por exemplo, se precisarmos criar um objeto mais complexo para nossos testes, fazemos o seguinte, adicione o seguinte código em nossa classe de testes:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
private String stringLocal;
@Before @Test @Test @After |
Rode o teste e veja o que aparece no console.
Repare que a String é inicializada e setada novamente pra ‘null’ 3 vezes. Isso porque nossa classe possui 3 métodos de testes, e os métodosanotados com @Before rodam sempre antes de todos os métodos de teste. O mesmo vale para os métodos anotados com @After, só que estes rodam depois de executar os métodos de teste.
Só com essas duas anotações é possÃvel criar cenários que estão sempre ‘zerados’ e corretamente incializados para cada teste que será executado em sua classe. Perceba que com isso é possÃvel separa melhor as asserções em suas classes em mais métodos, deixando mais especÃfico e focado cada método de teste.
Porém algumas vezes queremos inicializar algum objeto para o teste todo, sem precisar de algo especÃfico para cada execução. Nesse caso existem duas outras anotações que podem ser úteis. Adicione o seguinte trecho em nossa classe de testes:
|
1
2 3 4 5 6 7 8 9 |
Só existe um restrição com essa abordagem, e acho que está claro no código qual que é: o escopo dessas chamadas é estático. Repare que os métodos precisam ser estáticos, e portanto as incializações só servirão para propriedades que são estáticas em sua classe de testes.
Essa funcionalidade possui esse comportamento porque o JUnit instancia um novo objeto da sua classe de testes para cada método que será rodado, dessa forma ele garante um melhor isolamento dos testes, tornando-os mais unitários por assim dizer. Dessa forma somente métodos estáticos são garantia de execução antes de todos os outros métodos.
Rode o teste e veja a ordem das mensagens em seu console.
Próximos passos
Essa foi uma introdução muito simples do JUnit e testes unitários. Acho que já passou pela sua cabeça muitas formas de inicializar, integrar e rodar testes em sua aplicação usando JUnit, o que é ótimo, mas ainda existem boas práticas para criar testes assim como existem boas práticas para escrever código, afinal testes são linhas de código também.
O segredo de um bom teste unitário é o quanto ele consegue cobrir do funcionamento do código, sem que seja necessário escrever um teste extremamente detalhado que deixe o código acoplado demais, e não permita muita mudança no código original. Se você investir tempo demais testando TODOS os valores possÃveis de suas classes de maneira extremamente detalhada, quando o cliente pedir que um requisito mude, você com certeza vai ter a sensação de trabalho jogado fora, e desânimo por ter que escrever tudo novamente. A idéia é utilizar padrões de design para testes unitários, de forma que se mantenha a cobertura de código no 85%+ e ainda deixe os testes bem flexÃveis a mudança. DifÃcil mas não impossÃvel, e sim, é muito mais difÃcil e trabalhosos escrever testes realmente bons, do que escrever o código que será testado.
Por @Gust4v0_H4xx0r
Mudanças para 2012

2012 será mais um ano de ascensão dos dispositivos mobile em todo o mundo. Mesmo que aqui no Brasil tudo seja mais lento, com preços mais altos, estamos seguindo em frente. Já temos frameworks javascript adaptados ? s telinhas, como o Sencha, ? e o jQueryMobile, além do Flex Mobile, claro. Outras tecnologias estão crescendo a cada dia, e a quantidade de informação que é “jogada” para nós programadores aumenta em um ritmo alucinante. Seguindo esta tendência, estamos também nos adaptando, e para que tudo fique bem claro ao leitor, decidi comentar as principais mudanças do site neste post.
Neste novo ano estaremos adotando algumas mudanças que visam melhorar a qualidade de nossas obras. As principais mudanças que estão por vir são:
1)? Fim do suporte por email: Nestes quatro anos de suporte por email, pude observar diversos prós e contras, e sempre tentei agradar a “gregos e troianos”. Nunca fiz nenhuma distinção de quem comprou ou quem não comprou meus livros, sempre respondendo as dúvidas em menos de 48 horas. Todo esse tempo foi um aprendizado enorme, e agora tenho a necessidade de “lapidar” este processo de suporte. Observei que muito das dúvidas dos leitores eram repetidas e que sempre respondia ? s mesmas questões. Observei também que, ? s vezes, dava prioridade a alguém que não tinha comprado um livro, e deixava “na fila” uma outra pessoa que tinha dúvidas relativas aos livros. Também cheguei ao ponto de responder 10, 15 e-mails por dia, tornando uma tarefa bastante trabalhosa. Neste contexto, estarei “movendo” o suporte para um fórum especial, aberto a qualquer pessoa e destinado a sanar dúvidas dos livros. Falarei mais deste fórum em um outro post, mas deixo claro que, para quem é leitor, terá como sempre o suporte 100% garantido.
2)? eBOOKs serão predominantes: Todo o processo de criação/distribuição de um ebook é perfeito aos olhos do autor se não fosse a pirataria. Realmente encontrar meus livros que consumiram várias horas de preparo e trabalho nos torrents por aà não é uma sensação boa. Mas eu quero acreditar que isso é possÃvel! Eu quero acreditar que o brasileiro é gente honesta, que deseja pagar por um conteúdo útil sem ser “assaltado”. Por isso, em 2012, eu vou priorizar o desenvolvimento de eBooks, cobrando um preço justo, e com a meta de criar muito mais ebooks do que já foi criado atualmente.
3)? Flex não será prioridade: Nestes últimos quatro anos tenho me dedicado muito ao Flex. Fui o primeiro a escrever um livro sobre Adobe Flex no Brasil e desde então foram quase 10 livros abordando o tema. Sei que está chegando o momento em que eu terei que “dissipar” o meu conhecimento para outras áreas, pois o tema Flex já está bastante difundido, felizmente hoje em dia existe bastante conteúdo dedicado a cultura Flex e só não aprende quem não quer. Veja que, para quem escreve livros, as tecnologias saturam, mas não morrem. Este é o caso do Flex, o conteúdo está saturado, eu não tenho muito mais a escrever, por isso o foco será distribuÃdo para outras áreas. O livro “Adobe Air em Ação” será o último livro a ser escrito para a tecnologia Flex, e não haverá mais edições previstas. O suporte continuará normalmente para quem comprou qualquer livro sobre Flex.
4)? Mobile será prioridade: Daremos certa prioridade ao desenvolvimento mobile, e dependendo de novas tecnologias que deverão surgir, estaremos pesquisando e publicando material sobre elas. Isso significa que determinados livros poderão conter menos páginas, por exemplo, 100, mas que expliquem um conceito ou tecnologia emergente.
5)? Tendências serão prioridade:? A rapidez com que uma tecnologia emerge abre uma lacuna de desinformação para nós tupiniquins. E a? idéia? é preencher esta lacuna com um livro. Por exemplo, ainda não temos um livro sobre SENSHA, muito menos EXTJS. Um livro sobre HTML 5, custa nada mais, nada menos que 73 reais. Nem temos um livro sobre a linguagem SCALA ou sobre DJANGO. Enfim, existe muito assunto para se escrever.
6)? Site flex.etc.br deixa de conter informações sobre os livros:? Todas as informações estarão no site danielschmitz.com.br. O blog flex continua, mas aos poucos deixará de ser atualizado.
Resumindo:
- Vamos publicar ebooks com qualidade e a preços atraentes, sobre diversos temas. Contamos com a aprovação de vocês, enviando crÃticas e sugestões, .
- Haverá um fórum dedicado ao suporte dos livros.
- Estaremos em breve publicando quais serão os primeiros eBooks a serem lançados e contamos com a sua opinião. Mande ideias !
[Android] Instalando a MIUI ROM no Motorola Milestone 2
Depois de ver o Motorola Milestone 1 do @jandersonfc e do @horochovec rodando a MIUI ROM (Android) e ver que os respectivos aparelhos estavam impressionantemente r?pido, resolvi enfim entrar na onda e atualizar meu Motorola Milestone 2 para a MIUI ROM. Instalei (12/12/2011) a vers?o MIUI-1.12.02 a qual utilizar a vers?o Android 2.3.7 como base.
Site Oficial (vers?o em Ingl?s)
Para atualizar meu Motorola Milestone 2 para a MIUI ROM, tentei seguir o tutorial indicado pelo @plcosta, neste [link], mas confesso que depois de 3 tentativas frustradas desanimei, ent?o pedi uma ajuda para o @horochovec, para usar voltar a ROM original do Milestone 2 e recome?ar o processo de atualiza??o do zero. Finalmente tivemos a id?ia de olhar um tutorial de instala??o do CyanogenMod para o Milestone 2 [link], em resumo bastou seguir os passos indicados necesse tutorial que consegui realizar a instala??o da MIUI ROM no meu Milestone 2.
Realizei uma mescla dos 2 tutoriais para realizar a instala??o…
O que posso dizer, agora que estou usando a MIUI ROM?
Recomendo, quem instalar vai gostar muito.
Quer instalar a MIUI ROM tamb?m?
Caso queira mesmo, a seguir segue algumas instru??es conforme realizei a instala??o.
Aten??o: ? necess?rio lembrar que esse procedimento ? por sua conta e risco.
Obs.: com um pouco de aten??o, voc? tamb?m vai conseguir instalar a MIUI ROM no seu Milestone sem fazer nenhuma besteira.
Voc? tem o Motorola Milestone 1?
Mesmo n?o sendo o meu objetivo aqui, o @horochovec j? vez um [post] no blog dele que descreve os passos para a instala??o. (Sinceramente a instala??o no Milestone 1 me parece bem mais f?cil e r?pida que no Milestone 2 hehe)
N?o est? afim de apanhar como eu na instala??o no seu Milestone 2?
A seguir irei listar o passo a passo que realizei.
Obs.: no meu caso eu utilizo um Mac, ent?o tenha acess?vel um computador com Windows para te facilitar a vida. Se algo der errado n?o se desespere, ? s? voltar a ROM original do aparelho e recome?ar o procedimento para instala??o da nova ROM, para voltar esta ROM original ? que ser? necess?rio o Windows.
O que voc? vai precisar para realizar a instala??o da MIUI ROM
- Gingerbreak – para rootear o celular
- UPDATE_1.12.02_0.zip – MIUI ROM que utilizei e instalei no meu Milestone 2
- Bootmenu v0.8.6-v2.zip – arquivo do menu do boot para voc? conseguir selecionar e instalar a MIUI ROM
- Bootstrap – Droid 2 Bootstrap (Android Market) – necess?rio para acessar o bootmenu
- Rsd Lite – Aplicativo da Motorola para instalar SBF, serve para atualizar o Bootloader do aparelho e caso precise voltar a ROM original do aparelho, voc? ir? utilizar este aplicativo para realizar a tarefa. Lembrando que este aplicativo ? exclusivo e s? possui vers?o para MS. Windows.
Aten??o: sempre que voc? for executar o Rsd Lite para instalar uma SBF, tenho o m?ximo de cuidado, o procedimento deve ser executado e conclu?do 100%, este ? o ?nico procedimento que pode causar a perda irrevers?vel do aparelho.
- SBFs : Bootloader 70.13 e Vers?o original da ROM do Milestone 2 ( vers?o 2.2 Brazil, a primeira linha )
Tenha esses arquivos listados acima no seu computador, para facilitar sua vida =]
Procedimento para instalar a MIUI ROM no Motorola Milestone 2
Caso voc? queira ser cautelos@ e realizar um backup do seu celular, veja este [ link 1 - ROM original | 2 - aplicativos e dados ]. Eu particularmente n?o vi utilidade pr?tica nisto, pois ? tudo ou nada, queria a nova ROM no meu aparelho hehe.
Lembrando que os passos descritos a seguir foram os que eu utilizei na instala??o…
Sempre que for executar esse procedimento, fa?a com a bateria carregada.
Passos:
1 - Copie os arquivos: Gingerbreak.apk, UPDATE_1.12.01_0.zip, Bootmenu v0.8.6-v2.zip para o SD Card do aparelho
1.1 - Caso voc? tenha feito o download do Bootstrap.apk, copie este arquivo tamb?m para o SD Card
2 - Renomeie o arquivo UPDATE_1.12.01_0.zip para update.zip, este procedimento ? para facilitar o processo de instala??o.
3 - Verifique no aparelho, nas configura??es do Android a op??o Aplica??es(Programas) submenu, Desenvolvimento se as op??es, Fontes desconhecidas e Depura??o USB est?o ativas.
4 - Atrav?s do Gerenciador de arquivos localize o arquivo Gingerbreak.apk clique sobre ele e instale. Fa?a o mesmo para o Bootstrap, caso voc? tenha este.
4.1 – Caso tenha optado em n?o baixar este, acesse o Market do Android e instale por l? (Droid 2 Bootstrapper).
4.2 - Execute o aplicativo Gingerbreak, pois ? necess?rio rootear o aparelho para continuar a instala??o. A execu??o desse aplicativo ir? reinicar o aparelho, n?o se preocupe.
5 - Execute o Droid 2 Bootstrapper, neste aplicativo clique:
5.1 - Bootstrap Recovery
5.2 - Reboot Recovery
6 - Seu aparelho ser? reiniciado e exibir? um menu (em verde) com algumas op??es, onde o bot?o (+) do volume sobre, o (-) desce e o bot?o de tirar foto representa (ok/enter)
6.1 - Selecione: “install zip from sdcrad”
6.2 - Localize e selecione o arquivo: Bootmenu v0.8.6-v2.zip e (ok)
6.3 - Ap?s a instala??o, selecione a op??o do menu: “GO Back” (ok)
6.4 - Selecione a op??o: “Reboot System now” (ok)
7 - Seu aparelho ser? reiniciado novamente e exibir? um menu (azul), onde neste os comando para (ok/enter) ? o bot?o onde voc? liga o aparelho (power)
7.1 - Selecione: “Boot” (power)
7.2 - Selecione: “Set default: [boot Menu]“ (power)
7.3 - Selecione: “nomal” (power)
7.4 - Selecione: “Go Back” (power) 2x
7.5 - Selecione: “Recovery” (power)
7.6 - Selecione: “Custom Recovery” (power)
8 - Voc? ver? novas op??es no menu e uma imagem Android BootMenu, neste menu o comando para (ok/enter) ? o bot?o onde voc? liga o aparelho (power)
8.1 - Selecione: “Wipe data/Factory Reset” (power) Nesta op??o todos as informa??es na mem?ria embarcada do aparelho ser?o limpas.
8.2 - Selecione: “advanced” (power)
8.2.1 - Selecione: “Wipe Dalvik Cache” (power)
8.2.2 - Selecione: “Wipe Baterry Stats” (power)
8.2.3 - Volte ao menu anterior
8.3 - Necess?rio repetir o passo 8.1 - Selecione: “Wipe data/Factory Reset” (power)
8.4 - Selecione: “Apply update from sdcard” (power)
8.5 - Ap?s finalizar a instala??o, selecione a op??o: “reboot system now”
9 - Seu aparelho ir? iniciar e exibir o s?mbolo da motorola em vermelho, diferente a ROM default do MotoBlur, nesta etapa ? aguardar e esperar a MIUI ROM ser carregada. (Demorou uns 3 minutos ou 5 minutos at? entrar pela primeira vez)
Estou esperando a um bom tempo e n?o entrou, o que eu fa?o?
Bom caso voc? esteja em desespero vendo seu celular em um loop infinto, dizendo que est? carregando o Android e at? agora nada. N?o se desespere, eu passei por isso 3 vezes at? conseguir instalar a MIUI ROM.
Mantenha a calma.
Nessa situa??o voc? vai precisar do Rsd Lite, um computaor MS. Windows.
Como j? havia indicado para fazer download dos arquivos .sbf, neste momento ? que se faz uso deles.
Passos:
1 - Desligue o aparelho
2 - Ligue o aparelho segurando o bot?o power e a ceta para cima do teclado do Milestone 2
3 - Quando observar que a tela ligou, por?m est? preta, solte os bot?es
Aten??o: m?ximo cuidado nesse momento, mantenha o cabo USB sempre conectado, nunca pare o procedimento, esta etapa ? cr?tica e pode danificar o seu aparelho caso n?o seja executada corretamente.
4 - Verifique e certifique-se de que a vers?o do Bootloader ? a 70.13 (caso voc? nunca instalou nenhuma ROM deve ser)
4.1 - Caso n?o for a vers?o indicada, plugue o cabo usb no celular e no computador e na aplica??o Rsd Lite, selecione o arquivo .sbf referente ao bootloader, depois desligue e ligue novamente para acessar o bootloader.
4.2 - Estando na vers?o correta e com o aparelho ligado via usb, utilizando o Rsd Lite, selecione o arquivo .sbf referente a ROM original do aparelho.
5 - Terminando a instala??o, mantenha o aparelho conectado no computador at? o Android ser carregado totalmente, somente depois disso voc? poder? desconectar o cabo usb.
6 - Voc? est? com seu aparelho de volta ao estado de quando voc? comprou e tirou ele da caixa.
7 - Provavelmente voc? ter? que logar no MotoBlur, execute o seu login at? que acesse totalmente ao Android.
8 - Voltei ao passo 1 do procedimento de instala??o da ROM.
Aeee, acessou a tela da MIUI, ufa… hora de fazer o ajuste fino
Voc? perceber? que estar? com a MIUI em Ingl?s, mas isto n?o ? um problema, basta alterar o idioma para portugu?s.
- Altera o idioma para Portugu?s (Brasileiro) [link]
- A ilumina??o do teclado n?o vem habilitada inicialmente, para arrumar isto, veja este [link]
- Calibrar a bateria do aparelho para um melhor rendimento [link]
- A MIUI n?o vem com um teclado Swype, ent?o instalei: TouchPal Keyboard e o dicion?rio para Portugu?s Brasileiro
Um grande vil?o do consumo de bateria ? o 3G no aparelho que fica ativo 100% do tempo desde que este esteja habilitado, para resolver isso instalei o aplicativo APN Brasil Pro (Android Market), que possui um recurso que melhora o gerenciamento do 3G e ajuda consideravelmente a aumentar o tempo de vida da bateria do aparelho.
Deixo registrado aqui meus agredimentos a galera que me ajudou com dicas e links e informo que esses passos que descrevi foi uma mescla dos posts:
- @ajudandroid – MIUI VERS?O 1.11.18 “ATUALIZADA PARA VERS?O 1.12.02 04/12/2011
- Clube do Android – CyanogenMod 7 Android 2.3.5 para Milestone 2







