E aí eu instalei o windows 10 no computador de casa antes de instalar no do serviço. Vai que dá algum problema, né?
Tudo lindo, rodando, testei alguns dias, sem problemas. Mandei instalar no do serviço. Fui pra casa. Cheguei hoje... Liguei... Bonitinho... Abre o browser... Pera, cadê a Internet? Será que ele apagou as configurações de wi-fi? Como assim, que wi-fi?
Pois é, nem a luzinha do note de wi-fi tava mais acendendo. Tentei reiniciar. Nada. A mensagem era que o serviço de Wi-fi (WLAN AutoConfig) não estava startado. Fui na esperança, mandei o Start, deu "Windows cannot start the WLAN Autoconfig service on local computer". Ah, que bom, starta no computador do vizinho pra mim então.
Quando fui instalar, ele relatou incompatibilidade do software de VPN. Mas em casa também tinha dado isso e correu tudo bem. De qualquer forma, fui lá e desinstalei. Cisco VPN, está em Programs and Features, no Control Panel. Reiniciei com shutdown -r -t 0 porque tava sem paciência. Nada. Tentei usar uma internet de cabo para verificar se os drivers estavam atualizados. Funcionavam normal.
Reiniciei de novo, dessa vez com shutdown -r apenas. Deu tela azul (aeeee! Conhecia a tela azul do windows 10 em menos de uma hora de uso neste computador!). Reiniciou. Estava normal. Minha wi-fi de volta.
quinta-feira, 8 de outubro de 2015
terça-feira, 1 de setembro de 2015
Problemas com a biblioteca apache no android 6
Fiquei duas horas e meia tentando resolver ontem, mais uma hora e meia hoje. Meu problema era um erro que encontrei no meu projeto, com a biblioteca do apache, para fazer webrequests. Achava que o problema era a migração para o Android Studio. E eu não pretendo voltar ao eclipse.
O erro que aparece é:
"error: package org.apache.http does not exist"
Procurei na internet e encontrei diversas recomendações. A primeira foi adicionar uma biblioteca do apache na lista de dependencies. Adicionei, mas ele ainda não encontrava a classe org.apache.http.client.utils.URLEncodedUtils. Uma outra sugestão foi forçar o uso da biblioteca apache, colocando o código android { useLibrary 'org.apache.http.legacy' } no gradle.
Encontrei pessoas falando para usar uma biblioteca chamada Volley, que deve substituir a do apache. E pensei em ajustar o projeto para usar. Descobri que a LVL, biblioteca do android para verificar licença, não está adaptada. Não encontrei qualquer versão dela que estivesse. Mesmo a versão oficial do site. Só bastante gente xingando por não terem adaptado ainda, pois a versão Marshmallow do android (6.0) vai cortar a biblioteca apache.
Nesse momento, me dei conta de que tinha atualizado o arquivo gradle para usar a última API do Android, a 23, do Marshmallow, assim que migrei para o Android Studio. Estava usando a API 19 como máxima antes, muito atrasado. Mudei para 22. Tudo voltou a funcionar.
O erro que aparece é:
"error: package org.apache.http does not exist"
Procurei na internet e encontrei diversas recomendações. A primeira foi adicionar uma biblioteca do apache na lista de dependencies. Adicionei, mas ele ainda não encontrava a classe org.apache.http.client.utils.URLEncodedUtils. Uma outra sugestão foi forçar o uso da biblioteca apache, colocando o código android { useLibrary 'org.apache.http.legacy' } no gradle.
Encontrei pessoas falando para usar uma biblioteca chamada Volley, que deve substituir a do apache. E pensei em ajustar o projeto para usar. Descobri que a LVL, biblioteca do android para verificar licença, não está adaptada. Não encontrei qualquer versão dela que estivesse. Mesmo a versão oficial do site. Só bastante gente xingando por não terem adaptado ainda, pois a versão Marshmallow do android (6.0) vai cortar a biblioteca apache.
Nesse momento, me dei conta de que tinha atualizado o arquivo gradle para usar a última API do Android, a 23, do Marshmallow, assim que migrei para o Android Studio. Estava usando a API 19 como máxima antes, muito atrasado. Mudei para 22. Tudo voltou a funcionar.
Marcadores:
android,
android 6.0,
android studio,
apache,
api 23,
marshmallow,
org.apache.http.client.utils,
org.apache.http.client.utils.URLEncodedUtils,
URLEncodedUtils
sexta-feira, 13 de março de 2015
Relacionamento 1:1 no Nhibernate
Ah, a alegria de fazer o relacionamento 1:1 funcionar no NHibernate! Faz anos que tento!
A solução descrita aqui é para FluentNHibernate e usando IAutoMappingOverride.
No map da classe que corresponde a entidade que tem o ID apontando para a outra, não precisa fazer nada. Já no outro map, é necessário colocar este código:
-
mapping.HasOne(m => m.[outra classe]).PropertyRef(b => b.[classe dona do map]);
-
-
Como a gente entende mais vendo código que falando, aqui vai o exemplo:
-
SQL
create table Mother
(
ID int
)
-
create table Daughter
(
ID int,
Mother_ID int
)
-
-
Entidades
class Mother
{
int ID { get; set; }
Daughter Daughter { get; set; }
}
-
class Daughter
{
int ID { get; set; }
Mother Mother { get; set; }
}
-
-
Mappings
public class MotherMap : IAutoMappingOverride<Mother>
{
public void Override(AutoMapping<Mother> mapping)
{
mapping.HasOne(m => m.Daughter).PropertyRef(b => b.Mother);
}
}
-
public class DaughterMap : IAutoMappingOverride<Daughter>
{
public void Override(AutoMapping<Daughter> mapping)
{
}
}
-
A solução descrita aqui é para FluentNHibernate e usando IAutoMappingOverride.
No map da classe que corresponde a entidade que tem o ID apontando para a outra, não precisa fazer nada. Já no outro map, é necessário colocar este código:
-
mapping.HasOne(m => m.[outra classe]).PropertyRef(b => b.[classe dona do map]);
-
-
Como a gente entende mais vendo código que falando, aqui vai o exemplo:
-
SQL
create table Mother
(
ID int
)
-
create table Daughter
(
ID int,
Mother_ID int
)
-
-
Entidades
class Mother
{
int ID { get; set; }
Daughter Daughter { get; set; }
}
-
class Daughter
{
int ID { get; set; }
Mother Mother { get; set; }
}
-
-
Mappings
public class MotherMap : IAutoMappingOverride<Mother>
{
public void Override(AutoMapping<Mother> mapping)
{
mapping.HasOne(m => m.Daughter).PropertyRef(b => b.Mother);
}
}
-
public class DaughterMap : IAutoMappingOverride<Daughter>
{
public void Override(AutoMapping<Daughter> mapping)
{
}
}
-
Assinar:
Postagens (Atom)