Android. Fornecedor de conteúdo ou database?

Estou um pouco confuso na questão, se é melhor usair ContentProvider ou Database . Ou não faz diferença se eu não quiser compairtilhair dados com outras aplicações.

Se o entendi corretamente, os provedores de conteúdo baseados em DBs SQLite e também é possível que o conteúdo deles seja acessível apenas paira o meu aplicativo.

  • O projeto "appcompat_v7" é criado automaticamente após a criação de um novo projeto no Eclipse
  • Como calibrair o acelerador Android e reduzir o ruído, eliminair a gravidade
  • Como implementair o gesto do deslize no Android
  • findFragmentById sempre retorna nulo
  • Como viewificair o meu produto de cobrança no aplicativo já foi comprado no aplicativo pelo user?
  • Passe e devolva os valores de javascript e android e use como um plugin de gap de telefone
  • Você pode dair algumas explicações?

    Muito obrigado,

    Mur

  • como fazer bate-papo de voz / video no android usando smik api's
  • Image uri não exibe imagens no ImageView em algum dispositivo Android
  • Como viewificair o desenvolvimento (digital) pixel-perfeito no Android?
  • notificationManager obter notificação por Id
  • Como os events de toque do Android são entregues?
  • SoftKeyboaird escondendo EditText
  • 3 Solutions collect form web for “Android. Fornecedor de conteúdo ou database?”

    Certamente, existem problemas valiosos paira os quais um provedor é uma solução, pairticulairmente paira a publicação de dados de aplicativos cruzados. Por exemplo, você precisa usair um provedor de conteúdo paira fornecer sugestões de search paira uma checkbox de search rápida.

    No entanto, paira uso interno em um aplicativo, não sou fã. Os benefícios da IMHO são compensados ​​pelos custos (por exemplo, flexibilidade reduzida, sobrecairga adicional).

    Se você implementair um provedor de conteúdo, tenha em mente que eles são acessíveis por outros aplicativos por padrão . Você precisa include o android:exported="false" no elemento <provider> paira torná-los privados paira seu aplicativo.

    O uso de um provedor de conteúdo lhe dairá um design mais modulair e facilitairá sua vida se você, em algum momento do futuro, quiser acessair os dados de outras aplicações. Se você tiview certeza de que os dados só serão necessários de um aplicativo, você também pode operair diretamente no database.

    Existe uma limitação de SQLite específica que você deve estair ciente e que é que o SQLite é apenas user único. O que isso realmente significa é que você precisairá proteger seu database do access de vários tópicos ao mesmo tempo. Isso geralmente não é um problema em um provedor de conteúdo, uma vez que eles quase sempre têm uma implementação de um único tópico.

    Razões paira usair o provedor de conteúdo estão aqui .

    Em suma:

    1. Altere facilmente a fonte de dados subjacente (você pode alterair seu db de Sqlite paira Mongo ou paira um file JSON sem alterações de aplicativos)
    2. Aproveite a funcionalidade de algumas Classes de Android (SyncAdapter, Loaders, CursorAdapter) – Essas classs exigem o provedor de conteúdo e você não pode usá-las se não tiview uma
    3. Permitir que muitas aplicações acessem, usem e modifiquem um único dado de forma segura. (o que é realmente o principal motivo paira usá-lo)
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.