Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用数组适配器从列表视图中的parse.com检索图像_Android_Listview_Parse Platform_Android Arrayadapter - Fatal编程技术网

Android 使用数组适配器从列表视图中的parse.com检索图像

Android 使用数组适配器从列表视图中的parse.com检索图像,android,listview,parse-platform,android-arrayadapter,Android,Listview,Parse Platform,Android Arrayadapter,我的数据存储在parse.com上。我试图检索一个图像和一个字符串,并将其放置在列表视图中。我有一个适配器,我一直用它来抓取文本,但不确定如何处理图像。有一句话我特别需要帮助 public class AppetizerAdapter extends ArrayAdapter { protected Context mContext; protected List mAppetizer; public AppetizerAdapter(Context context, List appeti

我的数据存储在parse.com上。我试图检索一个图像和一个字符串,并将其放置在列表视图中。我有一个适配器,我一直用它来抓取文本,但不确定如何处理图像。有一句话我特别需要帮助

public class AppetizerAdapter extends ArrayAdapter {

protected Context mContext;
protected List mAppetizer;

public AppetizerAdapter(Context context, List appetizer) {
    super(context, R.layout.custom_appetizers, appetizer);

    mContext = context;
    mAppetizer = appetizer;
}

// inflates each row of the app
@Override
public View getView(final int position, View convertView, ViewGroup parent) {

    // initialize view holder
    ViewHolder holder;
    if (convertView == null) { // If no items in the view to be displayed
        convertView = LayoutInflater.from(mContext).inflate(
                R.layout.custom_appetizers, null);

        // initialize the views
        holder = new ViewHolder(); // creates a new view
        holder.aPPetizer = (TextView) convertView // calls the view
                .findViewById(R.id.appetizer);

        holder = new ViewHolder();
        holder.appetizerImage = (ImageView) convertView
                .findViewById(R.id.appetizerImage);

        // call the view and setTag to the parameter (holder)
        convertView.setTag(holder);

    } else { // if view is previously displayed

        // initialize holder
        holder = (ViewHolder) convertView.getTag();

    }

    // get the position of the row
    ParseObject appetizerObject = (ParseObject) mAppetizer.get(position);

    // title
    String appetizers = appetizerObject.getString("appetizers"); 
    holder.aPPetizer.setText(appetizers);

    // image
    ???
    holder.appetizerImage.setImageResource();

    return convertView; // return the view
}

public static class ViewHolder {

    // declaration of variables
    TextView aPPetizer;
    ImageView appetizerImage;

}
我遇到的问题是:

// title
String appetizers = appetizerObject.getString("appetizers");

这允许我将字符串存储在“开胃菜”列中,这是一个字符串,但对于图像,我不确定如何对其进行编码。

假设您可以从
开胃菜对象
引用获取图像的url,您只需从网络下载位图并将其设置为ImageView的位图

虽然有很多方法可以手动实现,但我建议使用库来管理下载和缓存过程。根据我的经验,我使用了以下库:

  • 毕加索:
  • 滑翔:

它们都有一个非常简单(和类似)的api。

你可以让它显示图像的URL。你可以告诉我如何操作吗?你如何向数据库添加项目?通过你的电话?或者手动通过phpMyAdmin?我在解析中有它们。服务器是Herokuyes。我不知道那是什么。我将投票支持你的问题,希望更多的人看到:)我试过毕加索。我在build.gradle中添加了依赖项:compile'com.squareup.picasso:picasso:2.5.2'。我还添加了.jar文件,但随后出现了一个错误,即该文件是重复的,我将其删除。我不知道在哪里放置MAVEN dependency?对于图像,我在标题代码下面添加了另一个视图(holder.appetizerImage)和此代码:Picasso.with(getContext()).load(appObject.getParseFile(“imageFiles”).getUrl()。放入(holder.appetizerImageView);->给我一个错误:stack=java.lang.NoClassDefFoundError:解析失败:Lcom/squareup/picasso/picasso;在com.lizg.recipedidirectory.AppetizerAdapter.getView(AppetizerAdapter.java:64)第64行是我为以毕加索开始的图像编写的代码。使用…您使用的是Android Studio吗?如果是这样,您只需将编译'com.squareup.picasso:picasso:2.5.2'添加到build.gradle(应用程序级别的版本)中即可。如果以这种方式包含.jar文件,则无需添加它。是的,我使用的是Android Studio。好的,很好,这就是我所做的,但是我在从后端服务器检索图像文件时遇到了问题。我清理并重建了项目,现在似乎可以正常工作:)