A. android 我图片保存在drawable中。名字是从数据库中读出来,怎么让名字与图片匹配急急急
在Android开发中,若图片保存在drawable文件夹内,每张图片确实会自动生成一个ID,并存储在R文件中。为了将图片名称与ID关联,一种方法是直接将这些ID保存在数据库中,使用时直接调用对应的ID即可。这样,你可以在应用中通过ID快速访问图片资源。
另一种方法则是将图片名称直接存储在数据库中,当需要加载图片时,通过读取数据库中的图片名称,再使用R.id.图片名称的形式来引用图片资源。这种方式能够直接通过名称访问图片,提高了代码的可读性和灵活性。
具体实现时,可以考虑以下步骤:首先,在drawable文件夹中放置图片,并生成对应的ID;其次,在数据库中存储图片名称或ID;最后,在需要使用图片的地方,通过读取数据库中的信息,获取图片名称或ID,然后加载图片。
例如,假设你已经将图片名称保存在数据库中,那么在加载图片时,可以使用类似如下的代码:
java
String imageName = database.queryImageName();
int resourceId = getResources().getIdentifier(imageName, "drawable", getPackageName());
ImageView imageView = findViewById(R.id.imageView);
imageView.setImageResource(resourceId);
这种方法不仅方便,还能避免直接使用硬编码的资源ID,提高代码的维护性和可扩展性。
B. android开发中下载图片并且保存到sd卡中,不通过点击什么的怎么完成,代码如下
OutputStream os = openFileOutput("test.png", MODE_WORLD_READABLE);
byte[] buff = new byte[1024];
int hasRead = 0;
while((hasRead = is.read(buff)) > 0){
os.write(buff, 0, hasRead);
}
is.close();
os.close();
你这里不是已经存文件了吗,只是这种是存在app的私有目录中
如果要存在指定位置,就用
FileOutputStream fout = new FileOutputStream(path,append);
这种啊
C. android中的ImageView显示默认图片
android中的ImageView显示默认图片有两种方式:
在xml中增加图片的引用,android:src="@drawable/image"即可。
在java代码中设置
ImageView image = (ImageView) findViewById(R.id.image);
image.setImageResource(R.drawable.image);
注意,需要先将image图片,放到res/drawabl目录下。
D. 当Android旋转屏幕导致横竖屏切换时,如何保存当前Fragment的实例
总结了以下几种情况:
设备旋转时保存Activity的交互状态: onSaveInstanceState();
设备旋转时保存Fragment的交互状态: setRetainInstance(true);
设备旋转时保存WebView的数据:
android:configChanges="keyboardHidden|orientation|screenSize";
设备旋转时保存在自定义View中绘制的图形。
如果Fragment不包含WebView,只是简单的UI View,像是TextView, Button, CheckBox, ImageView... 不建议使用setRetainInstance方法,只需要记住当前fragment的index,然后在设备旋转后根据数据重新实例化一个fragment。因为不包含大量数据,旋转的过程中几乎可以用“无缝切换”来形容。
如果包含WebView还是采用针对WebView的方法(题主的情况)。所以要看情况而定。