2014-01-09 3 views
0

пока у меня есть приложение для Android, которое может сохранять данные (простой текст) в базу данных sqlite и отображать ее в виде списка. Я хотел бы иметь возможность добавлять изображения, но я не знаю, как это сделать.Как добавить изображение в sqlite ListView?

здесь есть класс, который создает строки каждый раз, когда я добавить текст:

общественного класс TestDatabaseActivity расширяет ListActivity { частных CommentsDataSource источника данных;

int holanumero;

@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_test_database); 

    datasource = new CommentsDataSource(this); 
    datasource.open(); 

    List<Comment> values = datasource.getAllComments(); 

    // use the SimpleCursorAdapter to show the 
    // elements in a ListView 
    ArrayAdapter<Comment> adapter = new ArrayAdapter<Comment>(this, android.R.layout.simple_list_item_1, values); 

    setListAdapter(adapter); 

    final ListView listadeutiles = (ListView) findViewById(android.R.id.list); 
    // 
    listadeutiles.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) { 

      holanumero = position; 
    }}); 


    } 

    // Will be called via the onClick attribute 
    // of the buttons in main.xml 
    public void onClick(View view) { 
    @SuppressWarnings("unchecked") 
    ArrayAdapter<Comment> adapter = (ArrayAdapter<Comment>) getListAdapter(); 
    Comment comment = null; 

    switch (view.getId()) 
    { 
    case R.id.add: 

     EditText texto1 = (EditText) findViewById(R.id.editText1); 
     String palabra1 = texto1.getText().toString(); 

     EditText texto2 = (EditText) findViewById(R.id.editText2); 
     String palabra2 = texto2.getText().toString(); 

     String palabra3 = palabra1 + palabra2; 

     comment = datasource.createComment(palabra3); 
     adapter.add(comment); 
     texto1.setText(""); 
     texto2.setText(""); 

     break; 

    case R.id.delete: 
     if (getListAdapter().getCount() > 0) { 
     comment = (Comment) getListAdapter().getItem(holanumero); 

     datasource.deleteComment(comment); 
     adapter.remove(comment); 
     } 
     break; 
    } 
    adapter.notifyDataSetChanged(); 
    } 

    @Override 
    protected void onResume() { 
    datasource.open(); 
    super.onResume(); 
    } 

    @Override 
    protected void onPause() { 
    datasource.close(); 
    super.onPause(); 
    } 
+0

Используйте blob для сохранения изображения в sqlite, но я предлагаю вам не сохранять изображения в sqlite, сохранять их где-то на SD-карте и использовать оттуда. – Deepak

ответ

0

Сохранение изображений в базе данных редко является хорошей идеей. Вы должны сохранить путь к файлу изображения на SD-карте, а затем загрузить это изображение в свой метод getView() в адаптер ListView.

Смежные вопросы