sexta-feira, 24 de junho de 2016

DOS - EXCLUIR ARQUIVO - "O nome do arquivo ou a extensão é muito grande."

Ao tentar excluir um arquivo é exibida a mensagem "O nome do arquivo ou a extensão é muito grande."

Para excluir o arquivo no Prompt do DOS como administrador, entre no diretório até o arquivo e digite:
DIR /X

Como resultado irá aparecer:
24/04/2014  19:30             1.079 PREVIE~3.CLA PreviewResolutionService$SerializeExcepti
onWrapperException.class                      .
24/04/2014  19:30    1.079 PREVIE~3.CLA PreviewResolutionService$SerializeExceptionWrapperException.class

Para excluir, digite o comando:
del PREVIE~3.CLA

Pronto, basta excluir a estrutura de diretórios. Para isso, entre em um nível superior do diretório e digite o comando:
del /f /s /q workspace

Regards

quarta-feira, 27 de janeiro de 2016

ANDROID - A versão 4 não está disponível para qualquer configuração de dispositivo: todos os dispositivos que podem receber a versão 4 receberiam a versão 5

Ao publicar uma aplicação no Google Play, aparece a seguinte mensagem:

  • versão 4 não está disponível para qualquer configuração de dispositivo: todos os dispositivos que podem receber a versão 4 receberiam a versão 5.

  • Alguns dispositivos estão qualificados para executar vários APKs. Em tais casos, o dispositivo receberá o APK com o código de versão superior.

Solução:
No meu caso, a aplicação contém alguns recursos do OPENGL, nesse caso, é necessário adicionar no AndroidManifest.xml as respectivas texturas:

 <supports-gl-texture android:name="GL_OES_compressed_ETC1_RGB8_texture" />
<supports-gl-texture android:name="GL_OES_compressed_paletted_texture" />
<supports-gl-texture android:name="GL_AMD_compressed_3DC_texture" />
<supports-gl-texture android:name="GL_AMD_compressed_ATC_texture" />
<supports-gl-texture android:name="GL_EXT_texture_compression_latc" />
<supports-gl-texture android:name="GL_EXT_texture_compression_dxt1" />
<supports-gl-texture android:name="GL_EXT_texture_compression_s3tc" />
<supports-gl-texture android:name="GL_IMG_texture_compression_pvrtc" />

Regards




terça-feira, 8 de dezembro de 2015

Android - esconder teclado - hide keyboard on activity start

Em algumas situações é necessário esconder o teclado ao iniciar uma activity, nesse caso, uma das soluções é configurar o arquivo AndroidManifest.xml a tag android:windowSoftInputMode:


 android:windowSoftInputMode="stateHidden"  />

Regards



segunda-feira, 23 de novembro de 2015

ANDROID - "facebook_app_id" is translated here but not found in default locale [ExtraTranslation]

Quando é feito a integração do Android com a API 4.x do Facebook, é necessário traduzir as mensagens para melhorar a comunicação de seu APP. Nesse caso são definidas as mensagens no arquivo string.xml no diretório "values-pt-rBR":

<string name="com_facebook_like_button_not_liked">Curtir</string>
<string name="com_facebook_like_button_liked">Curtiu</string>
<string name="com_facebook_loginview_log_out_button">Encerrar sessão Facebook</string>
<string name="com_facebook_loginview_log_in_button">Entrar</string>
<string name="com_facebook_loginview_log_in_button_long">Conectar-se ao Facebook</string>
<string name="com_facebook_loginview_logged_in_as">Autenticado como: %1$s</string>
<string name="com_facebook_loginview_logged_in_using_facebook">Autenticado com Facebook</string>
<string name="com_facebook_loginview_log_out_action">Sair</string>
<string name="com_facebook_loginview_cancel_action">Cancelar</string>
<string name="com_facebook_loading">Carregando...</string>
<string name="com_facebook_internet_permission_error_title">AndroidManifest Error</string>
<string name="com_facebook_internet_permission_error_message">WebView login requires INTERNET permission</string>
<string name="com_facebook_tooltip_default">New! You\'re in control - choose what info you want to share with apps.</string>
<string name="com_facebook_image_download_unknown_error">Unexpected error while downloading an image.</string>
<string name="com_facebook_share_button_text">Compartilhar</string>
<string name="com_facebook_send_button_text">Enviado</string>

Ao gerar a APK, pode ocorrer o seguinte erro:

Error:(21) Error: "facebook_app_id" is translated here but not found in default locale [ExtraTranslation]

Solução:
Basta definir o locale no resources do idioma onde foram traduzidas as mensagens:
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="pt-rBR">
...
</resources>


Regards

segunda-feira, 16 de novembro de 2015

ANDROID - REMOVER ACTIVITIES DA PILHA - Remove all the previous activities from the back stack

Em algumas situações é necessário remover as activities que estão na pilha. Nesse caso podemos utilizar os seguintes parâmetros:

Intent intent = new Intent(LoginNovoCidadaoActivity.this, ActionBarDrawerActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);

Nesse caso serão removidas as activities da pilha e redirecionado para a nova activity ActionBarDrawerActivity. Basicamente iremos remover o histórico de activities da pilha.

Regards

quarta-feira, 14 de outubro de 2015

ANDROID - JSON - ERROR - com.google.gson.JsonParseException: The JsonDeserializer

Ao fazer o parse de um JSON, estava ocorrendo o seguinte erro:

com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@3211ceb3 failed to deserialize json object "Ocorreu" given the type java.util.ArrayList<meupackage.MinhaClasse>
            at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:64)
            at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:92)
            at com.google.gson.JsonDeserializationVisitor.visitUsingCustomHandler(JsonDeserializationVisitor.java:80)
            at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:101)
            at com.google.gson.JsonDeserializationContextDefault.fromJsonPrimitive(JsonDeserializationContextDefault.java:85)
            at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:56)
            at com.google.gson.Gson.fromJson(Gson.java:551)
            at com.google.gson.Gson.fromJson(Gson.java:498)
            at com.google.gson.Gson.fromJson(Gson.java:467)
            at com.google.gson.Gson.fromJson(Gson.java:417)
            at meupackage.getJsonIndiceRotatividade(Helper.java:101)
            at meupackage.IndiceRotatividadeFragment.onTaskComplete(IndiceRotatividadeFragment.java:150)
            at meupackage.IndiceRotatividadeTask.onPostExecute(IndiceRotatividadeTask.java:86)
            at meupackage.IndiceRotatividadeTask.onPostExecute(IndiceRotatividadeTask.java:19)
            at android.os.AsyncTask.finish(AsyncTask.java:632)
            at android.os.AsyncTask.access$600(AsyncTask.java:177)
            at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5942)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)

O problema estava no objeto que estava sendo trafegado. Ele deve obrigatóriamente ser serializável. Nesse caso, basta implementar a interface Serializable no modelo (VO / TO).

Regards




quinta-feira, 24 de setembro de 2015

ANDROID - "location provider requires ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission"

Ao utilizar o recurso de GPS e estiver  ocorrendo o erro descrito, significa que faltaram permissões a serem  adicionadas no AndroidManifest.xml:

   
   

Essas permissões serão apresentadas durante o processo de instalação.

Regards