所以我正在制作一款拥有超过200张日落照片的应用程序(由我自己拍摄:P)。我希望通过android.R.layout.simple_gallery_item
全部显示它们我尝试将它们全部扔在drawable文件夹中,然后对每个文件进行位图并将其绘制在屏幕上,但我收到内存不足错误。
存储这些jpg的最佳方法是什么?
我能想到的唯一两种方法是:
(PS:如果说不清楚,我是Android开发的新手)
谢谢!
代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
System.out.println("Noobs");
ArrayList<Image> img = new ArrayList<Image>();
for (int i=1; i<3; i++) {
int imageResource = getResources().getIdentifier("@drawable/bm" + String.valueOf(i), null, getPackageName());
img.add(ImageView.setImageResource(imageResource));
System.out.println("Did Pic "+String.valueOf(i));
}
System.out.println("Come so far!");
ListAdapter picAdapt = new ArrayAdapter<Image>(this, android.R.layout.simple_gallery_item, img);
ListView picListView = (ListView) findViewById(R.id.gallery);
picListView.setAdapter(picAdapt);
} }
答案 0 :(得分:4)
我建议您使用毕加索http://square.github.io/picasso/
或滑行https://github.com/bumptech/glide
这两个可以帮助您获得和优化您的图像
答案 1 :(得分:0)
ArrayList<Integer> img = new ArrayList<Integer>();
for (int i=1; i<3; i++) {
int imageResource = getResources().getIdentifier(mContext.getPackageName() + ":drawable/bm" + String.valueOf(i), null, null);
img.add(imageResource);
}
ImageView imageView = findViewById(R.id.<UR_ID>);
imageView.setImageResource(img.get(0));