大家好,我一直在关注本教程:http://coenraets.org/blog/android-samples/androidtutorial/。我得到了我需要的东西,但现在我遇到了一个问题。基本上,我需要的是能够为每个员工添加一张图片。我想在列表上创建一个缩略图图片,并在详细页上的完整尺寸的照片。我该怎么做呢?
我试着在数据库中添加一个照片标记
String sql = "CREATE TABLE IF NOT EXISTS employee (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"firstName TEXT, " +
"lastName TEXT, " +
"title TEXT, " +
"officePhone TEXT, " +
"cellPhone TEXT, " +
"email TEXT, " +
photo IMAGE," + "managerId INTEGER)";
db.execSQL(sql);
然后我添加了values.put("photo", "@drawable/icon");
。
然后在EmployeeDetails
中,我添加了这一行:
photo = (ImageView) findViewById(R.id.image);
photo.setTag(cursor.getString(cursor.getColumnIndex("photo")));
当然,我导入了ImageView
和protected ImageView photo;
,对于细节布局,我添加了:
<ImageView
android:id="id/image
android:layout_width="wrap_content"
android:layout_heigh=wrap_content
问我是不是说得不够清楚。我试着把一张照片放在员工的详细信息部分,我并不想做缩略图,但问题是,我做了所有的事情,它出来没有错误,但当我运行它时,应用程序崩溃。
发布于 2012-02-10 06:00:46
使用blob存储和从数据库中检索图像,this将提供更好的想法:
您还可以将资源文件夹路径以文本形式存储在数据库中,并使用它从sql中检索路径:然后您的sql:
String sql = "CREATE TABLE IF NOT EXISTS employee (" +
"_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"firstName TEXT, " +
"lastName TEXT, " +
"title TEXT, " +
"officePhone TEXT, " +
"cellPhone TEXT, " +
"email TEXT, " +
"photo Text," +
"managerId INTEGER)";
db.execSQL(sql);
然后,您可以通过以下方式从assets文件夹中获取可绘制内容:
Drawable d = Drawable.createFromStream(getAssets().open("path_from_db"), null);
img.setBackgroundResource(d);
https://stackoverflow.com/questions/9208624
复制相似问题