¿Cómo puedo mostrar los datos que cree por defecto en sqlite, en un listview? ANDROID

espero se encuentren bien, y espero que alguien me pueda ayudar por favor, lo más urgente posible si está dentro de las posibilidades.

Les cuento, quiero visualizar en un listview, los datos que tengo ingresados de forma directa en SQLite, y me ha costado demasiado, cabe mencionar que no tengo clases creadas, ni nada, está todo directo de la base de datos, de verdad les agradecería de sobremanera que me ayudaran.

Les adjunto mi clase de conexión.

package com.example.taller_final;  import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;  public class DB {     //TABLA USUARIOS public static final String KEY_ROWID = "_id"; public static final String KEY_NOMBRE = "_nombreusuario"; public static final String KEY_PASS = "_pass";  //TABLA RECETAS public static final String KEY_RECETA = "_idR"; public static final String KEY_NOMBRER = "_nombreR"; public static String DATABASE_TABLE_R;  public final String DATABASE_TABLE_I="Ingredientes";  private final String DATABASE_NAME="BD"; private final String DATABASE_TABLE="usuarios"; private final int DATABASE_VERSION = 1;   public String[] estructura(){     String[] recetas = new String[6];     recetas[0] = "CREATE TABLE Recetas(id INTEGER, NOMBRE TEXT)";     recetas[1] = "INSERT INTO Recetas VALUES(1, 'PANTRUCAS')";     recetas[2] = "INSERT INTO Recetas VALUES(2, 'TALLARINES CON CARNE  MOLIDA')";     recetas[3] = "INSERT INTO Recetas VALUES(3, 'CAZUELA')";     return recetas; }   private Context ourContext; private DBHelper ourHelper; private SQLiteDatabase ourDatabase;  public DB(Context ourContext) {      this.ourContext = ourContext; }   public DB open() throws SQLException {     ourHelper = new DBHelper(ourContext);     ourDatabase = ourHelper.getWritableDatabase();      return  this; }  public void close(){     ourHelper.close(); }    public String getUsuarios(){     String [] columns = new String[] {KEY_ROWID, KEY_NOMBRE, KEY_PASS};     Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null,             null, null, null, null);     String result = "";      int iRowID = c.getColumnIndex(KEY_ROWID);     int iName = c.getColumnIndex(KEY_NOMBRE);     int iPass = c.getColumnIndex(KEY_PASS);      for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {         String id = c.getString(iRowID);         String name = c.getString(iName);         String pass = c.getString(iPass);          result = result + id + ": " + name + " " + pass + "\n";     }     c.close();     return result; }  public long guardarUsuarios(String nombreUsuario, String pass){     ContentValues cv = new ContentValues();     cv.put(KEY_NOMBRE, nombreUsuario);     cv.put(KEY_PASS, pass);      return ourDatabase.insert(DATABASE_TABLE, null, cv);  }   public static class DBHelper extends SQLiteOpenHelper {      private static final String DATABASE_NAME = "DB";     private static final int DATABASE_VERSION = 1;     private static Cursor rawQuery;      private String DATABASE_TABLE = "usuarios";     private String DATABASE_RECETAS = "recetas";     private String DATABASE_INGREDIENTES = "ingredientes";      //USUARIO     public static final String KEY_ROWID = "_id";     public static final String KEY_NOMBRE = "_nombreusuario";     public static final String KEY_PASS = "_pass";      //RECETAS     public String[] estructura(){         String[] recetas = new String[6];         recetas[0] = "CREATE TABLE Recetas(id_recetas INTEGER, NOMBRE_RECETA      TEXT)";         recetas[1] = "INSERT INTO Recetas VALUES(1, 'PANTRUCAS')";         recetas[2] = "INSERT INTO Recetas VALUES(2, 'TALLARINES CON      SALSA')";         recetas[3] = "INSERT INTO Recetas VALUES(3, 'CAZUELA')";         return recetas;     }      //INGREDIENTES     public String[] estructura1(){         String[] ingredientes = new String[6];         ingredientes[0] = "CREATE TABLE Ingredientes(id_ingrediente INTEGER,      NOMBRE_INGREDIENTES TEXT)";         ingredientes[1] = "INSERT INTO Ingredientes VALUES(1, 'TOMATE')";         ingredientes[2] = "INSERT INTO Ingredientes VALUES(2, 'HARINA')";         ingredientes[3] = "INSERT INTO Ingredientes VALUES(3, 'CARNE')";         return ingredientes;     }      //R/I     public String[] estructura2(){         String[] RI = new String[6];         RI[0] = "CREATE TABLE RI(id_recetas INTEGER FOREIGN KEY REFERENCES      Recetas, id_ingredientes INTEGER FOREIGN KEY REFERENCES Ingredientes)";         RI[1] = "INSERT INTO RI VALUES(1, 2)";         RI[2] = "INSERT INTO RI VALUES(2, 1)";         RI[3] = "INSERT INTO RI VALUES(3, 3)";         return RI;     }       private final Context ourContext;     private DBHelper ourHelper;     private SQLiteDatabase ourDatabase;        public DBHelper(Context context){         super(context, DATABASE_NAME, null, DATABASE_VERSION);         ourContext = context;     }      public DBHelper open() throws SQLException{         ourHelper = new DBHelper(ourContext);         ourDatabase = ourHelper.getWritableDatabase();         return this;     }       @Override     public void onCreate(SQLiteDatabase db) {          //CREAR TABLA USUARIOS         String sqlCode = "CREATE TABLE " + DATABASE_TABLE + " (" +                 KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +                 KEY_NOMBRE + " TEXT NOT NULL, " +                 KEY_PASS + " TEXT NOT NULL);";         db.execSQL(sqlCode);          //INTENTO DE CREAR TABLA RECETA         String sqlCode1 = "CREATE TABLE " + DATABASE_TABLE_R + " (" +                 KEY_RECETA + " INTEGER PRIMERY KEY AUTOINCREMENT, " +                 KEY_NOMBRER + " TEXT NOT NULL);";         db.execSQL(sqlCode1);        }      @Override     public void onUpgrade(SQLiteDatabase db, int i, int i1) {         db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);         onCreate(db);          //DROP RECETA         db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE_R);         onCreate(db);      }      public Cursor validarUsuario(String usu, String pas){         Cursor mcursor = null;         mcursor=this.getReadableDatabase().query("usuarios", new String[]      {"_id", "_nombreusuario", "_pass"},                 "_nombreusuario like '" + usu + "' " + "and _pass like'" +      pas + "'",                 null, null, null, null);          return mcursor;     }      public Cursor recuperar(int idReceta, String nombreReceta){         Cursor cursor = null;         cursor = this.getReadableDatabase().query("recetas", new String[]      {"id_recetas", "nombre_receta"},                  "id_recetas like '" + idReceta + "' " + "and nombre_receta      `introducir el código aquí`like'" + nombreReceta + "'",                   null, null, null, null);         return cursor;     } 

Lo último, del cursor recuperar, es como me imagino que puede ser, pero no sé si en su totalidad este bien, espero de verdad que alguien me pueda ayudar.

Desde ya, ¡muchas gracias!

Utilizando banco de dados interno no android studio (SqliteOpenHelper)

estou criando um aplicativo que avisa a hora certa de tomar os medicamentos. Para isso, estou usando um banco de dados nativo do android que é o SQLiteOpenHelper e um Expandable ListView. Porém, não estou conseguindo obter exito em meu objetivo.

A minha intenção é criar uma tabela com o nome “usuarios” para cadastrar cada usuário e uma outra tabela com nome do usuário como nome da tabela. Veja o exemplo abaixo:

** TABELA USUARIOS ** –> Contém os usuários abaixo

1 André

2 Luiz

3 Alexandre

4 Souza

** TABELA André ** –> Contém os medicamentos relacionados ao André. Veja abaixo:

1 Dorflex

2 Dipirona

etc…. Até que todos tenham seus respectivos remédios relacionados a suas pessoas.

No meu aplicativo, a pessoa pode cadastrar um novo usuário sem que seja necessário relacionar instantaneamente um novo medicamento a ele. (Ela pode só criar um usuário como por Ex.: Fernando, adicionando-o a TABELA USUARIOS, sem que se crie a TABELA FERNANDO para adicionar medicamentos. Essa tabela irá ser criada assim que o usuário do app adicionar um remédio e relacioná-lo ao usuário FERNANDO).

Galera o meu problema maior é que eu estou usando um Expandable ListView customizado….

O que eu quero é seguir mais ou menos o design abaixo na minha mainActivity

Expandable ListView

How to create a Twitch chatbot for Android in Java

I recently got into Android Dev with Android Studio and Java.

Since most of my projects are chat bots, i thought it would be cool to implement a Twitch chat bot that could run on my Android mobile phone. I’ve used Python requests and twitchio api to build my bot. I don’t know much about web dev and i have no front-end experience.

The main problem i think is…how do I create a high-performance bot that does not consume too much battery?

Another problem could be, should i make it more server-side? Or should i find a way to accomplish the battery problem, without a server to rely on?

What do you think?

What SDK version should i use for implementation?

I’m also looking for docs to build this project. I will appreciate any resource related to the twitchio api, and in general, to the sdk and android studio. Which i can use to make the transition from Python.

If needed…i can provide the actual code of my python twitch bot on github.

Problemas com transparência no android studio

Olá, tenho uma APP no android studio que tem um LinearLayout com transparência mas os filhos dessa LinearLayout estão também a herdar a transparência, e eu não queria, como faço para somente o LinearLayout ter a transparência?

Codigo:

<?xml version="1.0" encoding="utf-8"?>         <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"             xmlns:app="http://schemas.android.com/apk/res-auto"             xmlns:tools="http://schemas.android.com/tools"             android:layout_width="match_parent"             android:background="@drawable/fundo"             android:layout_height="match_parent"             tools:context=".MainActivity">              <LinearLayout                 android:layout_width="match_parent"                 android:layout_height="match_parent"                 android:orientation="vertical">                   <ImageView                     android:id="@+id/imageView"                     android:layout_width="match_parent"                     android:layout_height="71dp"                     android:layout_marginTop="30sp"                     app:srcCompat="@drawable/ic_logo" />                  <TextView                     android:id="@+id/textView2"                     android:layout_width="match_parent"                     android:layout_height="wrap_content"                     android:text="@string/wellcome"                     android:layout_marginTop="20sp"                     android:textAlignment="center"                     android:textColor="#FFF"                     android:textSize="30sp" />                  <LinearLayout                     android:layout_width="392dp"                     android:layout_height="550dp"                     android:layout_gravity="center_horizontal"                     android:layout_marginTop="5sp"                     android:alpha="0.5"                     android:background="@drawable/ll"                     android:orientation="vertical">                      <EditText                         android:id="@+id/editText2"                         android:layout_width="370dp"                         android:layout_height="60dp"                         android:layout_gravity="center_horizontal"                         android:layout_marginTop="10sp"                         android:background="@drawable/edittext"                         android:ems="10"                         android:inputType="textPersonName"                         android:paddingLeft="10dp"                         android:textColorHint="#FFF"                         android:hint="E-mail ou Telemovel"                         android:textColor="#fff" />                      <EditText                         android:id="@+id/editText3"                         android:layout_width="370dp"                         android:layout_height="60dp"                         android:paddingLeft="10dp"                         android:layout_gravity="center_horizontal"                         android:layout_marginTop="12sp"                         android:background="@drawable/edittext"                         android:ems="10"                         android:inputType="textPassword"                         android:hint="Password"                         android:textColorHint="#FFF"                         android:textColor="#fff" />                      <Button                         android:id="@+id/button"                         android:layout_width="370dp"                         android:layout_marginTop="10sp"                         android:background="#FA3D3D"                         android:textColor="#fff"                         android:layout_height="58dp"                         android:layout_gravity="center_horizontal"                         android:text="Entrar" />                 </LinearLayout>             </LinearLayout>          </RelativeLayout> 

Implementación base de datos SQL en Android studio

Quería realizar una consulta a algún conocedor sobre bases de datos en Android. Implementé una pequeña base de datos (32 datos en una sola fila) en Andorid como prueba para evaluar cuál es la forma más optima (en lo que respecta al tiempo de carga) para las persistencias de mi aplicación. Contrastando entre tres métodos (bases de datos, internal storage y shared preferences) veo que en lo que respecta al tiempo de carga de los datos la base de datos es mucho más lenta que los otros dos métodos. Quiero cerciorarme que eso no se debe a una implementación poco optima en mi código (anexo abajo), ya que soy principiante en la programación de bases de datos.

Muchas gracias.

public class DatabaseHandler extends SQLiteOpenHelper {     private static final int DATABASE_VERSION = 1;     private static final String DATABASE_NAME = "contactsManager";     private static final String TABLE_PARAMETERS = "parameters";     private static final String KEY_ID = "id";     private static final String KEY_NAME = "name";       public DatabaseHandler(Context context) {         super(context, DATABASE_NAME, null, DATABASE_VERSION);         //3rd argument to be passed is CursorFactory instance     }      // Creating Tables     @Override     public void onCreate(SQLiteDatabase db) {         String CREATE_CONTACTS_TABLE = " CREATE TABLE " + TABLE_PARAMETERS + "("                 + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_NAME + " INTEGER);";          db.execSQL(CREATE_CONTACTS_TABLE);     }      @Override     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {         // Drop older table if existed         db.execSQL("DROP TABLE IF EXISTS " + TABLE_PARAMETERS);          // Create tables again         onCreate(db);     }      void addValueInt(int keyName) {         SQLiteDatabase db = this.getWritableDatabase();          ContentValues values = new ContentValues();         values.put(KEY_NAME , keyName); // Contact Name         // Inserting Row         db.insert(TABLE_PARAMETERS, null, values);         //2nd argument is String containing nullColumnHack         db.close(); // Closing database connection     } }  // Save data in DB when the button is clicked     saveDB.setOnClickListener(new View.OnClickListener() {                 @Override                 public void onClick(View v) {                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                     db.addValueInt(500);                     db.addValueInt(250);                     db.addValueInt(700);                     db.addValueInt(700);                 }             });  // Load DB data when a button is clicked         loadDB.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View v) {               long inittime = System.currentTimeMillis();               db.getIntData(1);               db.getIntData(2);               db.getIntData(3);               db.getIntData(4);               db.getIntData(5);               db.getIntData(6);               db.getIntData(7);               db.getIntData(8);               db.getIntData(9);               db.getIntData(10);               db.getIntData(11);               db.getIntData(12);               db.getIntData(13);               db.getIntData(14);               db.getIntData(15);               db.getIntData(16);               db.getIntData(17);               db.getIntData(18);               db.getIntData(19);               db.getIntData(20);               db.getIntData(21);               db.getIntData(22);               db.getIntData(23);               db.getIntData(24);               db.getIntData(25);               db.getIntData(26);               db.getIntData(27);               db.getIntData(28);               db.getIntData(29);               db.getIntData(20);               db.getIntData(31);               db.getIntData(32);               db.getIntData(33);               db.getIntData(34);               db.getIntData(35);               db.getIntData(36);               db.getIntData(37);               db.getIntData(38);               db.getIntData(39);               db.getIntData(40);               db.getIntData(41);               db.getIntData(42);               db.getIntData(43);               db.getIntData(44);               db.getIntData(45);               db.getIntData(46);               db.getIntData(47);               db.getIntData(48);               db.getIntData(49);               db.getIntData(50);               db.getIntData(51);               db.getIntData(52);               long finaltime = System.currentTimeMillis();               long ttime = finaltime-inittime;               System.out.println("Total time data base storage: "+ ttime);             }         });   } 

Problema al Pausar un Cronometro en Android

Estoy intentado crear un cronometro en Android Studio usando Java. Aún soy un novato asi que probablemente haya una falla trivial en el codigo que cause el problema.

La aplicación consiste de un cronometro simple y un boton que inicia y pausa el conteo.

Cuando presiono el botón “Stop”, el texto del boton cambia a “Start”, la variable de control cambia, etc. El problema sucede cuando presiono el boton “Start” nuevamente, el cronómetro salta al tiempo transcurrido durante la pausa.

En otras palabras, si pauso a los 16 segundos, y espero 10 segundos para reanudar el cronometro, este salta a los 26 segundos y continua.

Espero que puedan resolver mi duda ya que por mas que busqué no encontré una solución, o talvez no se como encontrarla.

Adjunto el codigo y espero sus sugerencias.

Gracias.

import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;  import android.view.View; import android.widget.Button; import android.widget.Chronometer; import android.os.SystemClock;   public class MainActivity extends AppCompatActivity {      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main);          final Chronometer chronometer = findViewById(R.id.chronometerExample);          final Button buttonStart = findViewById(R.id.buttonStartChronometer);          buttonStart.setOnClickListener(new View.OnClickListener() {             boolean isRunning = false;             boolean isFirstRunning = true;              @Override             public void onClick(View view) {                 if (isFirstRunning == true) {                     long systemCurrTime = SystemClock.elapsedRealtime();                     chronometer.setBase(systemCurrTime);                     isRunning = true;                     isFirstRunning = false;                     buttonStart.setText("Stop");                     chronometer.start();                 } else {                     if (isRunning == true) {                         chronometer.stop();                         isRunning = false;                         buttonStart.setText("Start");                     } else {                         chronometer.start();                         isRunning = true;                         buttonStart.setText("Stop");                      }                 }             }         });          Button buttonRestart = (Button)findViewById(R.id.buttonRestartChronometer);         buttonRestart.setOnClickListener(new View.OnClickListener() {             @Override             public void onClick(View view) {                 long systemCurrTime = SystemClock.elapsedRealtime();                 chronometer.setBase(systemCurrTime);             }         });     } } 

Съезжают элементы интерфейса в Android Studio

Работаю с Android Studio, во время тестирования приложения на реальном устройстве съезжают все элементы интерфейса, не только метки, и в итоге находятся совершенно не там, где должны быть(если находятся у края, то в итоге оказываются за границами экрана). Пытался создать новый проект, поиграться с Layout: ставил RelativeLayout(который и указан на скриншотах), ставил ConstrativeLayout – особых плодов это не дало. С чем это может быть связано и как это исправить? Android Studio последней версии 3.4.2 Stable, версия андроид на телефоне 5.1. Спасибо. Код из content_main.xml(после создания проекта было добавлено лишь 2 метки и изменено их положение, ничего более добавлено не было):

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:app="http://schemas.android.com/apk/res-auto"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     app:layout_behavior="@string/appbar_scrolling_view_behavior"     tools:context=".MainActivity"     tools:showIn="@layout/activity_main" >      <TextView         android:id="@+id/textView"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true"         android:layout_alignParentEnd="true"         android:layout_marginTop="25dp"         android:layout_marginEnd="161dp"         android:text="TextView" />      <TextView         android:id="@+id/textView2"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true"         android:layout_alignParentEnd="true"         android:layout_marginTop="487dp"         android:layout_marginEnd="97dp"         android:text="TextView" /> </RelativeLayout> 

Как должно быть Как получается

como crear notificacion desde una clase en android studio?

Hola alguien me puedes decir por que con este codigo no consiguo crear la notificacion cuando la app de abre? el codigo de la clase Player es este quiero que cuando la app se abra se inicie la notificacion hasta que cierre la app

import android.app.PendingIntent; import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; import android.support.v4.app.NotificationCompat;  public class Player extends Service implements MediaPlayer.OnCompletionListener {     @Override     public IBinder onBind(Intent intent) {         return null;     }      public void onCompletion(MediaPlayer paramMediaPlayer) {}      public void onCreate()     {         super.onCreate();         PendingIntent localPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, MainActivity.class), 0);         startForeground(1337, new NotificationCompat.Builder(this)                 .setSmallIcon(R.mipmap.ic_launcher)                 .setContentTitle("My Awesome App")                 .setContentText("Doing some work...")                 .setContentIntent(localPendingIntent).build());     } }