Disponiblilizar banco de dados junto com apk no Google Play

29 respostas
F

Boa tarde,

Tenho um aplicativo com um banco de dados com dados já cadastrados. Vou disponibilizar o apk no google play, como que faço para instalar o banco junto com o apk?
Quando instalo o apk no disposotivo o banco vem vazio.

29 Respostas

A

o teu aplicativo tem de gerar o banco de dados na hora que é instalado.

cria uma classe DatabaseHelper extends SQLiteOpenHelper, e ali tu cria o banco via linha de código.

F

Ele faz isso, to querendo saber qto aos dados ja cadastrados. Já tem isso. Os dados foram adicionados externamente. Ja fiz criar o bd com essa classe DatabaseHelper extends SQLiteOpenHelper.

O que acontece é qdo instalo o apk no device, o banco vem vazio. Queria que os dados ficasse no banco na instalação do apk.

A

Nem resolveu a dúvida anterior e já tá com outra? hehehe

F

o projeto ta pronto e o banco já com dados. Não é duvida minha essa.

F

A H Gusukuma, como que resolvo esse problema? É viável fazer todos os inserts no banco assim que o app cria o banco?

V

Na mesma maneira que você criar as tabelas você faz um insert.

V

Pega o script do banco que você tem e usa, a parte de insert.

F

Mas existe outra forma? Não quer fazer inserts. Quer instalar o app ja com os dados.

V

Da uma “googlada” ai, eu mesmo nunca vi isso.

F

mas tem como fazer os inserts apenas uma unica vez?

V

Posta ai a classe que você cria a estrutura do banco.

A

Não entendi.

F

Um momento, por favor. Mas ja adianto que uso a classe DatabaseHelper extends SQLiteOpenHelper.

F

A H Gusukuma , o projeto ta pronto no eclipse e os dados no banco foram cadastrados por fora do android, externamente, via php, cms

F

Valeio Bezerra, Fiz assim:

package br.com.abraselam.banco;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;


public class DB extends SQLiteOpenHelper{

 private static String dbName = "abrasel.db";
 private static String sql_diferenciais = "CREATE TABLE IF NOT EXISTS [diferenciais] ([_id] integer primary key, [title] text, [image] text, [status] integer, [sort_order] integer, [date_add] text, [date_edt] text);"; 
 
 private static int version = 1;
 
 public DB(Context ctx) {
  super(ctx, dbName, null, version);
  // TODO Auto-generated constructor stub
 }

 @Override
 public void onCreate(SQLiteDatabase db) {
  db.execSQL(sql_diferenciais);
/*  
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (1, 'Música ao vivo', '', 0, 0, '12-11-2013 19:54:26', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (2, 'Estacionamento', '', 0, 0, '12-11-2013 20:02:27', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (3, 'Ambiente climatizado', '', 0, 0, '12-11-2013 20:02:59', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (4, 'Brasil Sabor', '', 0, 0, '12-11-2013 20:03:11', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (5, 'Acesso à WI-FI', '', 0, 0, '12-11-2013 20:03:26', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (6, 'Delivery', '', 0, 0, '12-11-2013 20:03:34', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (7, 'Acessibilidade', '', 0, 0, '12-11-2013 20:03:43', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (8, 'Bar em Bar', '', 0, 0, '12-11-2013 20:03:52', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (9, 'Espaço p/ eventos', '', 0, 0, '12-11-2013 20:04:02', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (10, 'Manobrista', '', 0, 0, '12-11-2013 20:04:11', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (11, 'Brinquedoteca', '', 0, 0, '12-11-2013 20:04:43', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (12, 'Cardápio Traduzido', '', 0, 0, '12-11-2013 20:04:52', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (13, 'Happy Hour', '', 0, 0, '12-11-2013 20:05:06', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (14, 'Reservas', '', 0, 0, '12-11-2013 20:05:19', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (15, 'Programa Boas Práticas', '', 0, 0, '12-11-2013 20:05:37', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (16, 'Área exclusiva p/ Fumantes', '', 0, 0, '12-11-2013 20:05:49', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (17, 'PAS - Programa Alimentos Seguro', '', 0, 0, '12-11-2013 20:06:00', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (18, 'Código de Conduta do Setor de Bares e Restaurantes', '', 0, 0, '12-11-2013 20:06:13', '');");
  db.execSQL("INSERT INTO diferenciais (_id, title, image, status, sort_order, date_add, date_edt) VALUES (19, 'Vinhos', '', 0, 0, '12-11-2013 20:06:34', '');");
*/  
 }

 @Override
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
 // db.execSQL("DROP TABLE IF EXISTS diferenciais");
 // onCreate(db);
  
 }
 
 public SQLiteDatabase getDatabase(){    
        return this.getWritableDatabase();    
    }   

}

Desse jeito sempre que carregar vai inserir.

A

Isso eu entendi, o que não entendi foi o “Não é duvida minha essa”.

F

A dúvida é de uma amigo. Entendeu? E ele não quer dar inserts, por isso abri esse topico.

A

Ah. Estão terceirizando até dúvida.

F

Ta postado como crio o banco e as tabelas.

F

Estou fazendo em parceria com ele, entendeu? E estamos com essa dúvida.

F

A H Gusukuma, pode me ajudar?

F

Poderia me ajudar? Alguma solução para isso?

F

Alguém?

F

Como não tenho resposta alguma, pesquisei e encontrei uma alternativa.

F

Incrivel a ajuda que dão aqui. Obrigado.

A

Cara, sinceramente você é um ingrato.
Tem recebido ajuda o tempo todo, e quando uma ajuda demora um pouco mais, só reclama.
Esquece toda ajuda recebida, não vejo você agradecer, muito menos ajudar os outros.
Também esquece que aqui somos voluntários.

Passar bem!

F

Não é ser ingrato. Sei que o pessoal daqui tem outras atividades. Não quero ser chato, mas se abri o post é porque tenho dúvidas, não importa se a dúvida é minha ou não, ficam tirando onda?

Consegui solucionar. Obrigado pela ajuda.

Declaro como Resolvido.

V

Já foi dada a resposta é tanto que no que você mandou a classe com os inserts porém comentados, qual o problema de fazer isso ? Eu concordo com o colega acima, você é o cara que tem mais dúvidas de android e mesmo assim fica na ingratidão.

P

A ingratidão é a pior merda que existe.

Nos meus anos de GUJ, vejo este tipinho de gente passar por aqui e reclamar com mimimi de que não tem ajuda, que demoram,etc.

Gente lazy mesmo, acomodados ou que não entendem que cada um aqui dá a ajuda que PODE ou que QUER dar.

Poucos vão dar o peixe, muitos estão aqui para ajudar o padawan a se desenvolver e pescar por si mesmo.

Mas o gordo tetudo da 5a dimensão, a ameba acéfala, o pigmeu jockey de tamanduá, não entende e acha que todos tem a obrigação de ajudá-lo.

Lamento fera, você está equivocado.

OBS: Esta mensagem é para todos os lazy que frequentam aqui.
Receberá minha indiferença quanto sua dúvida sempre que eu perceber que não fez o básico de sua lição de casa.

Criado 4 de dezembro de 2013
Ultima resposta 26 de fev. de 2014
Respostas 29
Participantes 5