Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sergioas

SQLITE3 - Nao cria tabela e nao grava dados

Recommended Posts

Pessoal, peço ajuda.

Estou iniciando em android... e fazendo um app basico, iniciando pelo cadastro de usuario...mas nao cria a tabela "usuario" e nem grava no banco...

Segue as classes:

 

public class DBHelper extends SQLiteOpenHelper {

private static String DB_NAME = "goodeal_c2c";
private static int DB_VERSION = 1;

private static String TABLE_USUARIO =
"CREATE TABLE usuario( _id integer primary key autoincrement," +
"nome text"+")";


public DBHelper(Context context){

super(context,DB_NAME,null,DB_VERSION);
}


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(TABLE_USUARIO);


}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String sql = "DROP TABLE usuario";
db.execSQL(sql);
}


}

 

====

 

public class DBUsuarioManager {

private static DBHelper dbHelper = null;

public DBUsuarioManager(Context context) {

dbHelper = new DBHelper(context);

}



public void addUsuario(UsuarioTO usuarioTO){

ContentValues contentValues = new ContentValues();
contentValues.put("nome",usuarioTO.getNome());

SQLiteDatabase db = dbHelper.getWritableDatabase();
db.insert("usuario",null,contentValues);
db.close();


}

public ArrayList<UsuarioTO> selecionaUsuarios(){
SQLiteDatabase db = dbHelper.getReadableDatabase();

String sql = "SELECT * FROM usuario";


Cursor cursor = db.rawQuery(sql,null);
ArrayList<UsuarioTO> usuarios = null;
UsuarioTO usuarioTO = null;

if(cursor != null && cursor.moveToFirst()){

usuarios = new ArrayList<UsuarioTO>();
usuarioTO = new UsuarioTO();

do{
usuarioTO.set_id(Integer.valueOf(cursor.getInt(0)));
usuarioTO.setNome(cursor.getString(1));


usuarios.add(usuarioTO);

}while (cursor.moveToNext());

}

return usuarios;
}

public UsuarioTO selecionaUsuario(Integer _id){
SQLiteDatabase db = dbHelper.getReadableDatabase();
String sql = "SELECT * FROM usuarios WHERE _id = "+_id;
Cursor cursor = db.rawQuery(sql,null);

UsuarioTO usuarioTO = null;

if(cursor != null && cursor.moveToFirst()){


usuarioTO = new UsuarioTO();

do{
usuarioTO.set_id(Integer.valueOf(cursor.getString(0)));
usuarioTO.setNome(cursor.getString(1));




}while (cursor.moveToNext());

}

return usuarioTO;
}

}

 

====

 

public class ActivityCadastrar extends AppCompatActivity {

private static final String EMAIL_PATTERN =
"^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
+ "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

private static final Pattern pattern = Pattern.compile(EMAIL_PATTERN, Pattern.CASE_INSENSITIVE);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cadastrar);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {
// Id correspondente ao botão Up/Home da actionbar
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}


return super.onOptionsItemSelected(item);
}

public void btnAvancar1(View view){

boolean validados = true;

EditText primeiroNome = (EditText)findViewById(R.id.txtPrimeiroNome);
String pNome = primeiroNome.getText().toString();


if(pNome == null || pNome.equals("") || pNome.replace("\\D","").equals("") || pNome.trim().length() <= 2){
validados = false;
primeiroNome.setError("Obrigatório");
}


if(validados){
//gravar no banco
UsuarioTO usuarioTO = new UsuarioTO();
usuarioTO.setNome(pNome);


DBUsuarioManager dbUsuarioManager = new DBUsuarioManager(this);
dbUsuarioManager.addUsuario(usuarioTO);


Intent pgtoReceb = new Intent(this,ActivityRecebimentoPagamento.class);
startActivity(pgtoReceb);
}


}

public static boolean validarEmail(String email){
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}


}

 

=========================

 

Peço ajuda...obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por babylon
      Olá galera tudo bem?
      Deixa eu perguntar, estava mexendo no meu site e queria adicionar em html essa tabela porem esta dando erro pois fica assim:
       

      Porem gostaria que ficasse assim:

      Segue o código da tabela:
      <center><table border="0">
          <tr>
      <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Bicicleta<br> <font color="#0092df">..</font>Track Bikes<br> <font color="#0092df">..</font>Aro 29 TKS</b></a></span><br><br><font size="5"><center><span style="background-color: #A1CD44">DE:</span></font> <br><font size="5"><s>R$ 1.999,99</center></font></s> </td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itembicicleta.jpg"><br><font size="5"><center><span style="background-color: #A1CD44">COM - 60%:</span></font> <br><font size="5">1.199,99</font></center></a></td>
             <td><font color="#ffffff">....</font></td>
              <td bgcolor="#0092df" width="24%"><a href="/categorias?ename=smartphones"><span style="font-size: 20px; color: #ffffff;"><b> <font color="#0092df">..</font>Monitor 24"<br> <font color="#0092df">..</font>Samsung<font color="#0092df">aa.aa</font><br> <font color="#0092df">..</font>1ms 144hz</b></a></span></center></td><td><p><a href="/categorias?ename=smartphones"><img src="/static/img/itemmonitor.jpg"></a></td>
          </tr>
          </table></center>
      O que estaria errado, pois não sei como colocar nessa tabela outro fundo de outra cor, veja que usei td bgcolor="#0092df" para o azul escuro mas não sei como usaria pro "#e4f1fb" para o fundo ficar de azul claro em baixo bem como não ficou correto em altura o "DE:" com o "COM - 60%:".
      Bom é isso, obg.


    • Por clovis.sardinha
      Bom dia.
      Meu problema é o seguinte:
      Estou fazendo uma tabela e preciso mostrar o usuário e várias cidades que pertencem a este usuário.
      O resultado do array é o seguinte:

      Quando passo para a tabela os valores de cidade se repetem para o mesmo usuário até o final e retorna fazendo o mesmo para o próximo usuário. 
      Veja abaixo

       
      Meu código para a tabela é a seguinte:
      <tr> <td align="left"><?php echo $usuario['nome'] ?></td> <td align="left"><?php echo $usuario['nome_orgao'] ?></td> <td align="left"><?php echo $usuario['nome_funcao'] ?></td> <?php foreach($destinos as $key=>$destino):?> <?php $key=0;?> <td align="left"> <?php foreach($destino as $chave=> &$cidade): ?> <?php echo $cidade['cid_nome']."-";?> <?php endforeach;?> </td> <?php $key+=$key; ?> <?php endforeach;?> <td><?php echo date('d/m/Y', strtotime( $usuario['created_at'])) ?></td> <td align="left"><a href="<?php echo base_url('UserAdmin/Usuario/getUsuarioById')."/".$usuario['id_user'] ?>">DETALHES</a></td> </tr> <?php endforeach ?> Onde estou errando? O que tenho de fazer para percorrer este array de modo a aparecer apenas as cidades pertencentes a cada usuário?

    • Por pashaa
      Como podem ver a google não aceita mais a SDK da unity ads por motivos da empresa
      Então resolvi remover toda a SDK do meu código. Libs,linhas de comando, tudo. e mesmo assim ainda ela acusa que tenho a sdk dentro do meu app
      Já tenho mais ou menos 1 ano programando em android e nunca tinha visto algo sobre ou esse erro persistir já que tirei tudo de dentro do app
      A minha dúvida é, onde estou errando? Onde deixei alguma coisa sobre essa sdk?Que inclusive coloquei pra teste a uns 5 meses atrás e até tinha esquecido dela kk
      Peço que me ajudem dando sugestões de como remover por completo pois eu praticamente reverti o processo de adicionar a SDK e todo tipo de linha relacionada a unity.ads
       

    • Por OSVALDO ARANTES JÚNIOR
      Preciso validar um acesso a uma pagina, que so pode ser acessada uma vez a cada 20 respostas certas, estou usando  if( $query->num_rows % 20 == 0 ) , so que toda vez que a pagina carrega, executa o comando poderiam me dar uma dica de como prosseguir depois das vinte respostas para 40 e depois somente com 60.. 80...  e assim redirecionar automaticamente de 20 em 20.
    • Por Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.