Yazacağım android uygulaması ile telefondaki dosyaları(resimler vs) veritabanıma çekmek istiyorum nasıl bir yol izlemem gerekiyor kodla örnek verirseniz iyi olur şimdiden teşekkürler

soruldu: 03 Mar '14, 15:03

albozs's gravatar image

albozs
285131720
cevap kabul oranı: 0%

2

google ile burayi karistiriyorsunuz. Google'dan arayip bulmaniz gereken seyleri buradan insanlardan istiyorsunuz. Cevap vermek de ayrica yanlis, balik vererek bir yere varilmaz. Bir sonraki ihtiyacini yine soracaksin, insanlar da senin isteklerini cevaplamakla mukellef koduna kadar hazirlayip sana verecekler.

Cumlelerim yuzunden kotu oluyorum sonra ama bu boyle. Kod ihtiyaciniz varsa gidin google'a sorun!

(05 Mar '14, 02:18) MCY MCY's gravatar image

Öncelikle veritabanı'nızı nerede kullanacağınıza karar verin. Bu bir web uygulaması ile (MySQL,derby,..) kontrol edilebilindiği gibi Android sistemi içerisinde (SQLite) de kontrol edilebilir. Ya da hem Android uygulamanıza hem de web uygulamanız içerisine veritabanı kurabilir ve Android uygulanız ile web uygulamanızın birbirleriyle haberleşerek aynı veriyi iki tarafta da tutmalarını sağlayabilirsiniz (bu önerilmez).

Yani verilerinizi yerel (local), harici ve uzakta (remote), veya her iki şekilde saklayabilirsiniz. Bu işlem yerel olarak:

ContentValues dataToInsert = new ContentValues();                          
dataToInsert.put(TABLE_FIELD,baf.toByteArray());
...

gibi kod blokları ile gerçekleştirilebiliyor.

Başlığınızda MySQL yazdığından bunu bir web servisi ile planladığınızı anlıyorum. Öncelikle,

android ile mysql bağlantısını nasıl yapabilirim? sorusunu okumanızda fayda var.

  1. Veritabanınızı telefonunuzun belleğinde bulunan dosyaların türlerine göre tasarlayın. Bu aşamada MySQL workbench kullanmak çok faydalı olacaktır.
  2. Bir web uygulaması oluşturun, ki tasarladığınız veritabanı ve ve bağımlı tabloları kontrol edebilesiniz. (Netbeans,maven önerilir).
  3. Her tablonuz için DAO sınıfları geliştirin: (NOT: Aşağıda ki kodlar örnektir.) Veritabanınızda bulunan tablolar için otomatik olarak DAO sınıfları üreten araçlar bulunmakta: AuDAO

    public class Person {
      private int id;
      private String firstName;
      private String lastName;
      private Date dob;
    
      public Person(){}
    
      public Person(String firstName, String lastName) {
       this.firstName = firstName;
       this.lastName = lastName;
      }
    
      public Person(int id, String firstName, String lastName, Date dob) {
       this.id = id;
       this.firstName = firstName;
       this.lastName = lastName;
       this.dob = dob;
      }
      . . .
    }
    
  4. Veritabanı işlemlerinizi gerçekleştirebileceğiniz MySQL sorgularını hazırlayın:

    private static final String SAVE_PERSON_QUERY = "INSERT INTO PERSONS VALUES(?,?,?,?)";
    private static final String RETRIEVE_PERSON_QUERY = "SELECT * FROM PERSONS WHERE ID = ?";
    private static final String RETRIEVE_ALL_PERSONS_QUERY = "SELECT * FROM PERSONS";
    private static final String UPDATE_PERSONDOB_QUERY = "UPDATE PERSONS SET DATEOFBIRTH = ? WHERE ID = ?";
    private static final String DELETE_PERSON_QUERY = "DELETE FROM PERSONS WHERE ID = ?";
    private static final String DELETE_ALL_PERSONS_QUERY = "DELETE FROM PERSONS";
    
  5. Belki artan tablo tasarımı ve sorgu işlemleri sayısı dikkate alındığında bunları bir arayüz sınıfı (interface) altında toplamak isteyebilirsiniz:

     public interface PersonDAOI {
       public void savePerson(Person person);
       public Person retrievePerson(int id);
       public List retrieveAllPersons();
       public void updatePersonDOB(Person person);
       public void deletePerson(Person person);
       public void deleteAllPersons();
     }
    
  6. Veritabanı işlemlerinizi gerçekleştirin:

     public class PersonDb4oDAO implements PersonDAOI {
     . . .
    
      @Override
      public void savePerson(Person person) {
          System.out.println("Saving person:" + person);
          db.store(person);
          System.out.println("Person saved!");
      }
    
      @Override
      public Person retrievePerson(int id) {
          System.out.println("Retrieving the person with id = " + id);
          Person prototype = new Person(id);
          ObjectSet result = db.queryByExample(prototype);
          int personCount = result.size();
    
          if(personCount > 0){
            Person personRetrieved = result.get(0);
            return personRetrieved;
          }
          else{
            System.out.println("No such person with id = " + id);
            return null;
          }
        }
        . . .
       }
    
  7. Android uygulamanız ve web uygulamanız arasında HTTP iletişimi kurun. Dosyalarınızı da bu iletim yöntemi ile web uygulamanıza gönderin (JSON byte halinde,..), web uygulamanız da bunu veritabanınız içerisine koyup saklasın.


Kod kaynakları: jpabook.com, helloandroid.com

permanent link

cevaplandı: 03 Mar '14, 20:45

cagcak's gravatar image

cagcak
16271320
cevap kabul oranı: 25%

değiştirildi: 03 Mar '14, 23:46

Tamda istedigim buydu cok tesekkurler

(04 Mar '14, 19:06) albozs albozs's gravatar image
Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×818
×66

Soruldu: 03 Mar '14, 15:03

Görüntüleme: 856 kez

Son güncelleme: 05 Mar '14, 02:18

powered by BitNami OSQA