Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android:如何通过SQlite的名称从服务器动态加载图像大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 android的新手,我在从服务器显示来自sqlite的名称遇到问题

即:
我只在sqlite数据库(列名图像)中存储图像名称(文本),我想根据图像想要在imageview中显示sqlite图像名称从服务器加载图像

在服务器中,我在该文件夹中创建一个像Cars这样的文件夹,我用汽车名称存储图像..但是在sqlite中我只是添加一个带有.jpeg文本格式的carname

我的数据库中有两个列名:

>首先是汽车名称
>第二是汽车细节

用户选择汽车名称时,在下一个活动中,用户可以看到带有图像的汽车详细信息.
这里我显示详细信息,但我不知道如何从服务器显示汽车图像

谢谢

这是我的代码

@Override
protected void onCreate(Bundle savedInstanceStatE) 
{


    super.onCreate(savedInstanceStatE);
    setContentView(R.layout.detail_activity);

    detailtext= (TextView) findViewById(R.id.detail);
    imageView= (ImageView) findViewById(R.id.images);

    Intent intent= geTintent();
    final String SELEctedData = intent.getStringExtra("SELEctedItem");
    actionBar.settitle(SELEctedData);

    dbHelper = new sqlLiteDbHelper(this);
    try {
        dbHelper.openDataBase();
    } catch (sqlException E) {
        e.printStackTrace();
    }

    sqliteDatabase = dbHelper.getReadableDatabase();
    cursor=dbHelper.getdetails(sqliteDatabase,SELEctedData);

    if (cursor.moveToFirst()) {

    detailtext.setText(cursor.getString(0));
        String imagename = cursor.getString(1);
        String imageUrl = "http://your_server/car/" + imagename ;

        PiCasso.with(this).load(imageUrl).into(imageView );
    }

注意:Image Field是第4列http://i.stack.imgur.com/lqvOQ.png
在服务器中我将图像放在www.server.com/cars/carnames.jPG中

sqlite中我只用.jpg ex:carnames.jpg粘贴图像名称

sqliteDbHelper

public cursor getdetails(sqliteDatabase db,String img)
    {
        db=this.getReadableDatabase();
        cursor cursor;
        cursor=db.query("record",new String[]{DETAIL,IMAGES,ITEMNO + " as _id"},SUBCATEGORY + "='" +img+"'",null,null);
        return cursor;
    }

解决方法

如果你想从sqlite加载图像,那么我建议你保存文件/文件位置,如果数据存储在本地,为了在所有图像视图上显示单个图像,因为你只是加载一个图像,你可能想要将所有id放入数组并将其传递给db,db查询还应该返回一个图像位置的数组/ arraylist,您应该使用for循环加载到图像视图中,例如我有一个加载一堆的查询来自我的sqlite数据库的图像显示一个名为shoes的特定类别的子类别图像,因此我们有智能鞋,休闲鞋以及更多的图像我传递一个Id作为参数
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;

}

在接收方,然后我横穿我的araylist

for(int i = 0; i <getAllSubCategories.size(); i++ )
  {

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

使用此方法,您可以将图像设置为所有图像视图.

大佬总结

以上是大佬教程为你收集整理的Android:如何通过SQlite的名称从服务器动态加载图像全部内容,希望文章能够帮你解决Android:如何通过SQlite的名称从服务器动态加载图像所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。