SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Android:Como carregar a imagem dinamicamente do servidor pelo nome do SQLite


Se você deseja carregar imagens do SQlite, sugiro que salve o arquivo/local do arquivo se os dados estiverem armazenados localmente, para a exibição de uma única imagem em todas as visualizações de imagem é porque você está carregando apenas uma única imagem, talvez você queira para colocar todos os seus ids em um array e passá-lo para o db, a consulta db também deve retornar um array/arraylist de locais de imagem que você deve carregar em suas visualizações de imagem usando um for loop por exemplo, eu tenho uma consulta que carrega um monte de imagens do meu banco de dados SQLite, isso exibe imagens de subcategoria de uma determinada categoria chamada sapatos, então temos imagens de smart shoes , Casual shoes e mais eu passo um an Id como parâmetro
  public ArrayList<CategoryItem> getAllSubCategories(int mtargetID) throws SQLException{



    ArrayList<CategoryItem> myshoes = new ArrayList<>();
    // Select All Query



    String sQuery = " SELECT "+Constant.CATEGORY_TB_ID+",  "+Constant.SUB_DESCRIPTION+
            ", "+Constant.SUB_IMAGEPATH+" FROM  "+Constant.CATEGORY_TABLE+
    " INNER JOIN "+Constant.SUB_CATEGORY_TABLE+" ON "+Constant.CATEGORY_TB_ID +" = " +Constant.SUB_CATEGORY_FK
   + " WHERE "+Constant.CATEGORY_TB_ID +" = ?";

    String[] args = new String[1];
    args[0] = String.valueOf(mtargetID);


    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(sQuery, args);

    // looping through all rows and adding to list
    if (cursor.moveToFirst()) {
        do {
            CategoryItem myShoesItem = new CategoryItem();

            //my shoe image path on external storage
            myShoeItem.setmCategoryImgPath(cursor.getString(2));
            //i add my image paths to my array list
            myshoes.add(myShoeItem);
        } while (cursor.moveToNext());
    }

    // return my arraylist for display into my imageview
    return mshoes;

}

no lado receptor eu então atravesso minha lista de arays
   for(int i = 0; i <getAllSubCategories.size(); i++ )
  {

       imageView.setImageUri(getAllSubCategories.get(i).getmCategoryImgPath())
   }

com este método, você definirá imagens para todas as suas visualizações de imagem.