Java ANDROID:将图像从解析检索到ANDROID活动
我创建了一个列表视图。当我单击ListView的单个项目时,我正在调用一个活动来显示单个项目视图。正在分析TextView数据。但是当我试图从parse调用一个图像时,它没有加载(该图像托管在单独的在线位置)。如果有人能告诉我如何在这里加载图片 我的文件url 编辑代码 //////////////// 单项视图Java ANDROID:将图像从解析检索到ANDROID活动,java,android,listview,android-fragments,parse-server,Java,Android,Listview,Android Fragments,Parse Server,我创建了一个列表视图。当我单击ListView的单个项目时,我正在调用一个活动来显示单个项目视图。正在分析TextView数据。但是当我试图从parse调用一个图像时,它没有加载(该图像托管在单独的在线位置)。如果有人能告诉我如何在这里加载图片 我的文件url 编辑代码 //////////////// 单项视图 import android.content.*; import android.net.*; import android.os.Bundle; import android.sup
import android.content.*;
import android.net.*;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.*;
import android.view.View;
import android.widget.*;
import com.parse.*;
import com.parse.ParseException;
public class SingleItemView extends AppCompatActivity {
String objectId;
protected TextView txtv;
protected TextView txtv1;
protected ImageView txtv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_item_view);
txtv =(TextView)findViewById(R.id.txt123);
txtv1 =(TextView)findViewById(R.id.txt1234);
txtv2 =(ImageView)findViewById(R.id.txt12345);
Intent i =getIntent();
objectId = i.getStringExtra("objectId");
ParseQuery<ParseObject> query = ParseQuery.getQuery("_User");
query.getInBackground(objectId, new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
String username = object.getString("firstname");
txtv.setText(username);
String position = object.getString("position");
txtv1.setText(position);
String img_ = object.getString("image");
txtv2.setImageURI(Uri.parse(img_));
} else {
// something went wrong
}
}
});
}
}
导入android.content.*;
导入android.net。*;
导入android.os.Bundle;
导入android.support.design.widget.FloatingActionButton;
导入android.support.design.widget.Snackbar;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.util.*;
导入android.view.view;
导入android.widget.*;
导入com.parse.*;
导入com.parse.ParseException;
公共类SingleItemView扩展了AppCompatActivity{
字符串objectId;
受保护的文本视图txtv;
受保护的文本视图txtv1;
受保护的ImageView txtv2;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u single\u item\u视图);
txtv=(TextView)findViewById(R.id.txt123);
txtv1=(TextView)findViewById(R.id.txt1234);
txtv2=(ImageView)findViewById(R.id.txt12345);
Intent i=getIntent();
objectId=i.getStringExtra(“objectId”);
ParseQuery=ParseQuery.getQuery(“_User”);
getInBackground(objectId,newgetcallback(){
公共无效完成(ParseObject对象,parsee异常){
如果(e==null){
字符串用户名=object.getString(“firstname”);
txtv.setText(用户名);
字符串位置=object.getString(“位置”);
txtv1.setText(位置);
String img_=object.getString(“图像”);
setImageURI(Uri.parse(img_));
}否则{
//出了点问题
}
}
});
}
}
片段文件
import android.content.*;
import android.os.Bundle;
import android.support.v4.app.*;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import com.parse.FindCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.ArrayList;
import java.util.List;
public class Individuals extends android.support.v4.app.ListFragment
implements FindCallback<ParseObject> {
private List<ParseObject> mOrganization = new ArrayList<ParseObject>();
SearchView sv;
IndividualsAdaptor adaptor;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.individuals, container, false);
}
@Override
public void onViewCreated(View view, Bundle b) {
super.onViewCreated(view, b);
sv = (SearchView) view.findViewById(R.id.ser1);
adaptor = new IndividualsAdaptor(getActivity(), mOrganization);
setListAdapter(adaptor);
ParseQuery.getQuery("_User").findInBackground(this);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
@Override
public boolean onQueryTextChange(String text) {
adaptor.getFilter().filter(text);
return true;
}
});
}
@Override
public void done(List<ParseObject> scoreList, ParseException e) {
if (e == null) {
Log.d("score", "Retrieved " + scoreList.size() + " _User");
mOrganization.clear();
mOrganization.addAll(scoreList);
((IndividualsAdaptor) getListAdapter()).updateBackupList(mOrganization);
((IndividualsAdaptor) getListAdapter()).notifyDataSetChanged();
} else {
Log.d("score", "Error: " + e.getMessage());
}
}
@Override
public void onListItemClick(android.widget.ListView l, android.view.View v, int position, long id) {
super.onListItemClick(l, v, position, id);
ParseObject prs = mOrganization.get(position);
String objectId = prs.getObjectId();
Intent i = new Intent(getActivity(), SingleItemView.class);
i.putExtra("objectId", objectId);
startActivity(i);
}
}
导入android.content.*;
导入android.os.Bundle;
导入android.support.v4.app.*;
导入android.util.Log;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.*;
导入com.parse.FindCallback;
导入com.parse.ParseException;
导入com.parse.ParseObject;
导入com.parse.ParseQuery;
导入java.util.ArrayList;
导入java.util.List;
公共类个人扩展了android.support.v4.app.ListFragment
实现FindCallback{
私有列表组织=新建ArrayList();
SearchView sv;
个体接受器;
@凌驾
CreateView上的公共视图(布局、充气机、视图组容器、捆绑包保存状态){
返回充气机。充气(右布局。个人,容器,假);
}
@凌驾
已创建公用void onview(视图,捆绑包b){
super.onViewCreated(视图,b);
sv=(SearchView)view.findviewbyd(R.id.ser1);
适配器=新的个人适配器(getActivity(),mOrganization);
setListAdapter(适配器);
graseQuery.getQuery(“_User”).findInBackground(this);
sv.setOnQueryTextListener(新的SearchView.OnQueryTextListener(){
@凌驾
公共布尔值onQueryTextSubmit(字符串文本){
返回false;
}
@凌驾
公共布尔值onQueryTextChange(字符串文本){
adapter.getFilter().filter(文本);
返回true;
}
});
}
@凌驾
已完成公共作废(列表分数列表,Parsee异常){
如果(e==null){
Log.d(“score”,“Retrieved”+scoreList.size()+“_User”);
组织。清除();
mOrganization.addAll(记分表);
((IndividualsAdaptor)getListAdapter()).updateBackupList(组织化);
((IndividualsAdaptor)getListAdapter()).notifyDataSetChanged();
}否则{
Log.d(“分数”,“错误:+e.getMessage());
}
}
@凌驾
public void onListItemClick(android.widget.ListView l、android.view.view v、int位置、长id){
super.onListItemClick(左、右、位置、id);
ParseObject prs=mOrganization.get(位置);
字符串objectId=prs.getObjectId();
Intent i=新的Intent(getActivity(),SingleItemView.class);
i、 putExtra(“objectId”,objectId);
星触觉(i);
}
}
在Manifest.xml
中定义
然后使用Picasso
或Gilde
解析它们各自实例中的图像,并传递正在解析中查询的图像URL。这些库将解析URL并在ImageView中返回图像
其他类似问题:
最后,在编辑答案中链接的一些代码后,该代码开始工作。通过此代码,您可以
为每个对象id动态调用图像
您是否正在使用parse objectcheck获取检索中的URL此答案经过一些编辑后,您的第一个链接正在工作。。但只有对于占位符图像,你才能知道如何使用动态图像检查我的问题我更新了@Sneh Pandya
import android.content.*;
import android.net.*;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.util.*;
import android.view.View;
import android.widget.*;
import com.parse.*;
import com.parse.ParseException;
public class SingleItemView extends AppCompatActivity {
String objectId;
protected TextView txtv;
protected TextView txtv1;
protected ImageView txtv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_single_item_view);
txtv =(TextView)findViewById(R.id.txt123);
txtv1 =(TextView)findViewById(R.id.txt1234);
txtv2 =(ImageView)findViewById(R.id.txt12345);
Intent i =getIntent();
objectId = i.getStringExtra("objectId");
ParseQuery<ParseObject> query = ParseQuery.getQuery("_User");
query.getInBackground(objectId, new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
if (e == null) {
String username = object.getString("firstname");
txtv.setText(username);
String position = object.getString("position");
txtv1.setText(position);
String img_ = object.getString("image");
txtv2.setImageURI(Uri.parse(img_));
} else {
// something went wrong
}
}
});
}
}
import android.content.*;
import android.os.Bundle;
import android.support.v4.app.*;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.*;
import com.parse.FindCallback;
import com.parse.ParseException;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.ArrayList;
import java.util.List;
public class Individuals extends android.support.v4.app.ListFragment
implements FindCallback<ParseObject> {
private List<ParseObject> mOrganization = new ArrayList<ParseObject>();
SearchView sv;
IndividualsAdaptor adaptor;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.individuals, container, false);
}
@Override
public void onViewCreated(View view, Bundle b) {
super.onViewCreated(view, b);
sv = (SearchView) view.findViewById(R.id.ser1);
adaptor = new IndividualsAdaptor(getActivity(), mOrganization);
setListAdapter(adaptor);
ParseQuery.getQuery("_User").findInBackground(this);
sv.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String text) {
return false;
}
@Override
public boolean onQueryTextChange(String text) {
adaptor.getFilter().filter(text);
return true;
}
});
}
@Override
public void done(List<ParseObject> scoreList, ParseException e) {
if (e == null) {
Log.d("score", "Retrieved " + scoreList.size() + " _User");
mOrganization.clear();
mOrganization.addAll(scoreList);
((IndividualsAdaptor) getListAdapter()).updateBackupList(mOrganization);
((IndividualsAdaptor) getListAdapter()).notifyDataSetChanged();
} else {
Log.d("score", "Error: " + e.getMessage());
}
}
@Override
public void onListItemClick(android.widget.ListView l, android.view.View v, int position, long id) {
super.onListItemClick(l, v, position, id);
ParseObject prs = mOrganization.get(position);
String objectId = prs.getObjectId();
Intent i = new Intent(getActivity(), SingleItemView.class);
i.putExtra("objectId", objectId);
startActivity(i);
}
}
URL url = null;
try {
url = new URL("image url" + object.getString("image"));
} catch (MalformedURLException e1) {
e1.printStackTrace();
}
Bitmap bmp = null;
try {
bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
} catch (IOException e1) {
e1.printStackTrace();
}
txtv2.setImageBitmap(bmp);
// something went wrong