私は解析サーバーを使用するプロジェクトに取り組んでいます。これはtinderのように動作し、ユーザーは近くの他のユーザーの名前とイメージをダウンロードして表示することができます。パースから画像をダウンロード
これは、アプリに表示されたときに名前と画像が正しく一致しない1つのバグを受け入れます。
アプリは最初にローカルユーザーのアレイをダウンロードして作成しますが、これは問題なく動作します。
私は、次のコードを使用して、その画像をダウンロード:
ParseQuery<ParseUser> query = ParseUser.getQuery();
query.whereWithinKilometers("location", parseCustLocation, searchRadius);
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(final List<ParseUser> objects, ParseException e) {
if (e==null){
Log.d("state", "215 query successful");
if (objects.size()>0) {
for (final ParseUser user : objects){
Log.d("state", "231"+user.getUsername());
//TextView text = (TextView) findViewById(R.id.Name);
Users.add(user);
sUsers.add((String) user.get("Name"));
locations.add((ParseGeoPoint) user.get("location"));
parseFiles.add((ParseFile) user.get("image"));
}
for (ParseFile file : parseFiles) {
file.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data, ParseException e) {
if (e==null){
Log.d("state", "174 we've got data");
Bitmap bmp = BitmapFactory.decodeByteArray(data,0,data.length);
bitmaps.add(bmp);
if (sUsers.size()==bitmaps.size()){
swipeAdapter.updateData(sUsers,bitmaps);
}
}
}
});}
私の知る限り、私は問題がライン例えば、私は、のように
Bitmap bmp = BitmapFactory.decodeByteArray(data,0,data.length);
bitmaps.add(bmp);
であると思います私は2つの配列を持っています(bitmapFactoryは、ビットマップ[]の任意の部分にビットマップを置いているようです):
私は
bitmaps[0] = Billys image,
bitmaps[1] = Sarahs image,
bitmaps[2] = Jims image,
NOTEが必要な場合は、明らかに: ビットマップは、私は、デバッガを使用してステップバイステップのアプリを実行する場合は、正しい順序であるように見えます。