Android:如何通过SQlite的名称从服务器动态加载图像

6 sqlite android imageview 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 );
    }
Run Code Online (Sandbox Code Playgroud)

注意: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,null,null);
        return cursor;
    }
Run Code Online (Sandbox Code Playgroud)

And*_*n K 1

您有向服务器发出路径“url”请求吗?像这样:

http://server_ip/api/images?imageName= "您在此处创建的名称"

那么您是否需要使用一些库从服务器加载图像,请参阅:

安卓毕加索

所以,像这样:

Picasso.with(context).load("http://server_ip/api/images?imageName="The name you image here.png/jpeg").into(imageView);
Run Code Online (Sandbox Code Playgroud)