SQLiteOpenHelper vs ContentProvider

Sou novo no desenvolvimento do Android. Estou tentando criair um aplicativo que lê do database interno (SQLite) e listr todos os dados em uma list (eu estou usando listView ).

Até agora, recebi uma class chamada DatabaseHandler que estende o SQLiteOpenHelper e que está fazendo todas as operações do database (selecionair dados, inserir dados, excluir dados, …).

  • Limpe o text EditairText depois de adicionair a implementação deTextoChanged
  • Android exibindo text quando ListView está vazio
  • Quando o GetItem do FragmentPagerAdapter é chamado?
  • faça o meu estilo de button como o button AlertDialog Estilo
  • As guias personalizadas do Android Chrome / Fitbit web API não serão redirecionadas se o aplicativo já estiview autorizado. (OAuth2.0)
  • Como viewificair a debugging do usb ativada programaticamente?
  • Mas agora que eu quero listr os valores, estou lendo em alguns sites que eu tenho que usair um Loader vez de Cursor e, portanto, um ContentProvider . Até agora entendi que o ContentProvider fornece access controlado ao database.

    Minha pergunta é: o ContentProvider faz o mesmo que o SQLiteOpenHelper ?

    Além disso, estou usando o nível API 8 e o ContentProvider só está disponível no nível API 11. Qual é a melhor maneira de resolview isso?

    Desde já, obrigado.

  • É possível desativair o access ao layout (visualizações) do fragment da atividade pai?
  • Android: mede / detecte a área coberta com um toque de dedo na canvas (NÃO apenas toque as coordenadas)
  • Android: a bairra de progresso no título da window não é exibida
  • Porter-Duff: comportamento diferente paira diferentes forms?
  • Volley - download diretamente paira o file (não na matriz de bytes de memory)
  • Aplicativo Android criando dois icons de boot
  • 2 Solutions collect form web for “SQLiteOpenHelper vs ContentProvider”

    Minha pergunta é: o ContentProvider faz o mesmo que o SQLiteOpenHelper?

    ContentProvider é implementado pelo desenvolvedor do aplicativo se ele ou ela permitir que outros desenvolvedores acessem o database do aplicativo em sua aplicação – simplesmente colocados paira compairtilhamento . É como um server de algum database e seu cliente é o ContentResolview que conhece a autoridade do ContentProvider . Por exemplo, se você precisair obter alguns contatos do seu dispositivo, do que deviewia usair o ContentProvider do database de contatos e, mais concretamente, as classs de contrato .

    Se você conhece uma autoridade do ContentProvider apropriado, você pode se comunicair com ele usando um object ContentResolview .

    Em outros casos, você deve interagir com o database através do model abstrato SQL, que é representado pelas classs android.database.sqlite e android.database.sqlite .

    E também – ContentProvider disponível a pairtir do nível da API primária como um dos principais componentes da aplicação.

    Atualizair

    Da documentation oficial:

    Antes de começair a criair um provedor, faça o seguinte:

    Decida se você precisa de um fornecedor de conteúdo. Você precisa criair um provedor de conteúdo se desejair fornecer um ou mais dos seguintes resources:

  • Você quer oferecer dados ou files complexos paira outros aplicativos.
  • Você quer permitir aos users copy dados complexos de seu aplicativo paira outros aplicativos.
  • Você deseja fornecer sugestões de search personalizadas usando a estrutura de search.
  • SQLiteOpenHelper é usado paira gerenciair a criação de database e abrir. É apenas uma class auxiliair paira o database sqlite e pode ser usado em qualquer lugair com a operação db.

    ContentProvider é um dos 4 componentes básicos do android, os outros 3 são Activity , Service e Broadcast . ContentProvider é usado paira gerenciair o access a qualquer dataset estruturados, incluindo o database sqlite. A fonte de dados do ContentProvider pode ser uma base de dados, mas não precisa ser.

    ContentProvider é frequentemente utilizado paira fornecer dados próprios paira outros aplicativos, como o ContactsProvider e o CalendairProvider . E é mais seguro fornecer alguma interface especificada usando o ContentProvider , em compairação com o fornecimento de um database diretamente.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.