Android + SQLite

13 respostas
tiago.vt

Pessoa desenvolvi um programa que usa o SQLite no emulador do android quando executo a primeira vez o programa ele cria normalmente o banco de dados e as tabelas, porém quando executo em algum celular android ele não cria e quando entro em alguma interface que usa o banco de dados ocorre o erro, segui exemplos de livro e tutoriais na net. É necessário dar alguma permissão algo do tipo?

13 Respostas

Marky.Vasconcelos

Se voce já tinha o aplicativo instalado no aparelho com uma estrutura de dados diferente no SQLite, voce precisa mudar o inteiro VERSION que voce passa no método para iniciar o Helper.

Ou entao desinstalar e instalar denovo.

tiago.vt

Marky.Vasconcelos:
Se voce já tinha o aplicativo instalado no aparelho com uma estrutura de dados diferente no SQLite, voce precisa mudar o inteiro VERSION que voce passa no método para iniciar o Helper.

Ou entao desinstalar e instalar denovo.

Removi o aplicativo e instalei de novo, e o problema continua

atsuki

Bom dia, Eu já tive este tipo de problema. No meu caso eu não havia configurado as permissões (internet e gps) e portanto quando instalava no smart ele não conseguia ler os dados e consequentemente não gravava nada no bd.
Boa sorte.

F

pessoal estou com este problema . instalei o apk no celular e na hora de acessar alguma tela q usa sqlite nao funciona, as permissoes ja foi dado

tiago.vt

Faz o que o Marky.Vasconcelos falo remove a aplicação completa do cel e do emulador, eu fiz umas alterações no emulado so que no emulador não estava criando, ae quando removi a app completa do emulador e foi criar de novo também fico dando erro e através do LogCat, consegui encontra o erro.

F

fiz o q pediu e realmente esta dando erro no log do emulador, mas quando rodo o emulador , consigo criar tabelas , fazer dowload no servidor importando dados no sqlite, mas quando jogo no celular ele nao faz nada quando se trato de tela com sqlite.

o erro segue abaixo:

01-30 13:44:10.323: ERROR/vold(26): Error opening switch name path /sys/class/switch/test (No such file or directory)

01-30 13:44:10.323: ERROR/vold(26): Error bootstrapping switch /sys/class/switch/test (No such file or directory)

01-30 13:44:10.323: ERROR/vold(26): Error opening switch name path /sys/class/switch/test2 (No such file or directory)

01-30 13:44:10.323: ERROR/vold(26): Error bootstrapping switch /sys/class/switch/test2 (No such file or directory)

nao sei se tem alguma coisa haver , mas no emulador funciona tudo…

atsuki

O LogCat da apenas esse erro? logo abaixo não há nenhum " java.lang.SecurityException"?

F

ok da sim segue abaixo

01-30 13:44:26.443: ERROR/System(51): Failure starting core service

01-30 13:44:26.443: ERROR/System(51): java.lang.SecurityException

01-30 13:44:26.443: ERROR/System(51):     at android.os.BinderProxy.transact(Native Method)

01-30 13:44:26.443: ERROR/System(51):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)

01-30 13:44:26.443: ERROR/System(51):     at android.os.ServiceManager.addService(ServiceManager.java:72)

01-30 13:44:26.443: ERROR/System(51):     at com.android.server.ServerThread.run(SystemServer.java:176)

01-30 13:44:26.453: ERROR/AndroidRuntime(51): Crash logging skipped, no checkin service
atsuki

Leia: http://developer.android.com/reference/java/lang/SecurityException.html
http://developer.android.com/guide/topics/security/security.html

roda a aplicação no step-by-step, acha o ponto que está lançando essa exceção e ficará fácil descobrir o motivo do problema e gerenciar ou evitar a exceção.

tiago.vt

fmbjava:
ok da sim segue abaixo

01-30 13:44:26.443: ERROR/System(51): Failure starting core service

01-30 13:44:26.443: ERROR/System(51): java.lang.SecurityException

01-30 13:44:26.443: ERROR/System(51):     at android.os.BinderProxy.transact(Native Method)

01-30 13:44:26.443: ERROR/System(51):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)

01-30 13:44:26.443: ERROR/System(51):     at android.os.ServiceManager.addService(ServiceManager.java:72)

01-30 13:44:26.443: ERROR/System(51):     at com.android.server.ServerThread.run(SystemServer.java:176)

01-30 13:44:26.453: ERROR/AndroidRuntime(51): Crash logging skipped, no checkin service

você adiciono a permissão no arquivo AndroidManifest.xml ??

atsuki

Sim, o ADT gera o arquivo manifest automaticamente, mas temos de adicionar as permissões manualmente, o formato é o seguinte:

<android> <manifestAdditions> <![CDATA[ ><manifest> <uses-permission android:name="android.permission.NOME_DA_PERMISSAO" /> </manifest> ]]> </manifestAdditions> </android>

existem dezenas de permissões. Se, por exemplo, seu app receber dados da internet, sem a permissão correta o android não vai “permitir” que o aplicativo realize nenhuma conexão, o mesmo é válido pro GPS, câmera, microfone etc etc.

Segue lista e descrição das permissões: http://developer.android.com/reference/android/Manifest.permission.html

F

segue meu arquivo manifest com as permissoes

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="br.com.comboio" android:versionCode="1" android:versionName="1.0">
	
		<!-- Permissões GPS -->
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />

	<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
   
	<uses-permission android:name="android.permission.ACCESS_GPS" />
	<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS" />
	<uses-permission android:name="android.permission.ACCESS_CELL_ID" />
	<uses-permission android:name="android.permission.ACCESS_CELL_NUMBER" />
	<uses-permission android:name="android.permission.WRITE_SETTINGS" />
	<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
	<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
	
	<uses-sdk android:minSdkVersion="3" />

	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name="ActivityComboio" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>

		</activity>

		<activity android:name="MenuPrincipal">
		</activity>
		
		<activity android:name="MenuConsulta">
		</activity>
		
		<activity android:name="MenuDowload">
		</activity>
		
		<activity android:name="ActivityDowloadFuncionario">
		</activity>
	
		<activity android:name="ActivityDowloadMaterial">
		</activity>
		
		<activity android:name="ActivityConsFunc">
		</activity>
		
		<activity android:name="ActivityConsOper">
		</activity>
		
		<activity android:name="ActivityConsMat">
		</activity>
						
		<activity android:name="ActivityDowloadOperacao">
		</activity>
					
		<activity android:name="Banco">
		</activity>
				
		<activity android:name="br.com.web.BuscaMaterialActivity"
			android:label="Download Material" android:screenOrientation="nosensor"
			android:windowSoftInputMode="stateHidden">
			>
        </activity>		
        
        	<activity android:name="br.com.web.BuscaFuncionarioActivity"
			android:label="Download Funcionario" android:screenOrientation="nosensor"
			android:windowSoftInputMode="stateHidden">
			>
        </activity>	
        
         	<activity android:name="br.com.web.BuscaOperacaoActivity"
			android:label="Download Operações" android:screenOrientation="nosensor"
			android:windowSoftInputMode="stateHidden">
			>
        </activity>		
      	       

	</application>
</manifest>
F

deu certo pessoal muito obrigado pela ajuda

era o chip do celar que estava com problemas

obrigado

Criado 21 de janeiro de 2012
Ultima resposta 1 de fev. de 2012
Respostas 13
Participantes 4