내 로컬 SQL dB에 저장된 이미지 URL을 가져 와서 이미지보기에 표시하려고하는데 이미지가 null 인 경우 오류가있는 방법이 있습니다. 이미 이미지 이름을 읽고 있는데 완벽하게 작동하지만 이미지 uri cant 표시되지 않으므로 URI가 String 형식으로 가져 오기 때문에 먼저 b 디코딩해야 표시됩니다. 커서가 URI를 가져오고 디코딩하여 표시 할 목록보기로 보낼 때 디코딩하는 방법이 있습니다.
아래 코드를 참조하십시오 : ----------- >>>>>>>>>> 가져온 데이터가 표시되는 클래스
public class NewsFeed_Viewoverlay extends Activity {
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.newsfeed_viewoverlay);
DatabaseHelper helper;
ImageView list_image;
VideoView list_video;
helper= new DatabaseHelper(this.getApplicationContext());
list_image= (ImageView) findViewById(R.id.list_image);
list_video = (VideoView)findViewById(R.id.list_video);
//-------------------------------------------------------------------->>>>>>>>XXXXXXXXXXX<<<<<<<<<<-----------------------
Cursor cursor = helper.getCursor();
startManagingCursor(cursor);
//setup for MApping in view fields
String [] fromFieldNames=new String[]{helper.KEY_NAME,helper.KEY_IMAGE};
//list_image.setImageBitmap(BitmapFactory.decodeFile(helper.KEY_IMAGE));
// list_video.setVideoURI(Uri.parse(helper.KEY_FILE));
int[] toViewID= new int[]{R.id.title, R.id.list_image};
SimpleCursorAdapter myadaptor= new SimpleCursorAdapter(this, R.layout.list_row, cursor,fromFieldNames,toViewID );
ListView mylist= (ListView)findViewById(R.id.list);
mylist.setAdapter(myadaptor);
Log.i("READ-->Path in DB->", "" + helper.KEY_NAME + helper.KEY_IMAGE);
}
---------------------- >>>>>>> The Database class for cursor ----------------
public void Insert(String imgpath, String vidPath, String name ) throws SQLException {
db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(KEY_IMAGE, imgpath);
values.put(KEY_FILE, vidPath);
values.put(KEY_NAME,name);
db.insert(TABLE_Images, null, values);
db.close();
Log.i("INSERTED-->Path in DB->", "" + imgpath);
Log.i("INSERTED-->Path in DB->", "" + vidPath);
Log.i("INSERTED-->Path in DB->", "" + name);
}
public static final String[] KEY= new String[] {KEY_ID,KEY_NAME,KEY_IMAGE,KEY_FILE};
public Cursor getCursor()
{
String where=null; ContentResolver resolver;
db= this.getReadableDatabase();
//db.rawQuery("select image , name from images",null);
//Cursor cursor = db.rawQuery("select _id, name from images",null);
Cursor cursor= db.query(true,TABLE_Images,KEY,where,null,null,null,null,null,null);
if (cursor!=null)
{
cursor.moveToFirst();
}
return cursor;
}
링크를 참조하거나 대안이 있는지 적어도 알려주십시오.
데이터베이스에서 URI를 검색 한 후 URI 형식으로 구문 분석해야합니다.
Uri mUri = Uri.parse("Data you got from db");
그 후에는 ImageView
.
imageView.setImageURI(mUri);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다