0
나는 안드로이드에서 꽤 새로운 편이어서 내 질문은 매우 흔하게 들릴지도 모른다. parse.com에서 일부 데이터를 다운로드 할 때 진행률 표시 줄을 나타나게하고 데이터 다운로드가 완료되고 listView에 표시되면 사라지게하려고합니다. Parse에서 문서를 살펴 봤지만 툴을 어떻게 사용할 수 있는지 명확하지 않습니다. 내가 .. 내가 백그라운드에서 작업을하기 위해 몇 가지 스레드를 사용해야하고, UI를 바쁜 키핑 여부를 .. 내 코드 노호보고 제가 관리 할 수있는 방법을 이해하는 데 도움이 바랍니다parse.com에서 일부 데이터를 다운로드 할 때 진행률 표시 줄
ListViewsAllReports
public class ListViewsAllReports extends Activity implements OnClickListener{
Button aReportsBackButton;
ListView aReports;
lvAdapterAllReports lvAdapterAllReports;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_views_all_reports);
Parse.initialize(this, "hm9VwSWl4hyrI1ZbkrvEXXkwdvXSxZLZYbheDaFs", "4BmzC3n9qrt0OhceQJ8yzp3iKrIU7rdsAhf2FSQW");
setUpUI();
}//onCreate
public void setUpUI(){
aReportsBackButton=(Button)findViewById(R.id.AllReportsBackButton);
aReportsBackButton.setOnClickListener(this);
aReports=(ListView)findViewById(R.id.AllReportsLV);
lvAdapterAllReports = new lvAdapterAllReports(getApplicationContext(), "Animal");
aReports.setAdapter(lvAdapterAllReports);
registerForContextMenu(aReports);
}//void setUpUI()
을 이해
lvAdapterAllReports
public class lvAdapterAllReports extends ParseQueryAdapter<ParseObject> {
private Vector<Animal> animalList ;
public lvAdapterAllReports(Context context, String className){
super(context, className);
animalList = new Vector<Animal>();
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("Animal");
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(List<ParseObject> objects, ParseException e) {
// TODO Auto-generated method stub
if (e == null) {
for (int i = 0; i < objects.size(); i++) {
Animal animal = new Animal();
animal.setValueFromParse(objects.get(i));
animalList.add(animal);
}//for
}//if
}//void done()
});//anonymous class
}//constructor
public View getItemView(ParseObject object, View v, ViewGroup parent) {
LinearLayout linearLayout;
if (v == null) {
linearLayout = (LinearLayout)View.inflate(getContext(), R.layout.mycasesviews, null);
}
else{
linearLayout = (LinearLayout)v;
}
super.getItemView(object, v, parent);
final Animal a = new Animal();
a.setValueFromParse(object);
((TextView)linearLayout.findViewById(R.id.myCaseViewLostOrFound)).setText(a.getmLostOrFound());
((TextView)linearLayout.findViewById(R.id.myCaseViewAnimalType)).setText(a.getmType());
((TextView)linearLayout.findViewById(R.id.myCaseViewDate)).setText(a.getmDate()+"");
((Button)linearLayout.findViewById(R.id.myCaseViewContactButton)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(getContext(), ContactOwner.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("UserId", a.getmOwnerId());
getContext().startActivity(intent);
}
});
final ImageView img = (ImageView)linearLayout.findViewById(R.id.myCaseViewImage);
ParseFile fileImage = (ParseFile)object.getParseFile("Image");
if (fileImage != null) {
fileImage.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data, ParseException e) {
if (e==null) {
Bitmap resultImage = BitmapFactory.decodeByteArray(data, 0, data.length);
img.setImageBitmap(resultImage);
}//if
}//done
});//anonymous class
}//if fileImage
return linearLayout;
}//getItemView
}//class