1. GENiALi, 21.05.2012 #1
    GENiALi

    GENiALi Threadstarter Erfahrener Benutzer

    Hallo

    Ich darf mich hier an ein grosses/grösseres Android Projekt wagen. Bislang habe ich fast nur unter .NET gearbeitet und dort für diverse Layer eigene Projekte gemacht. Was ist eigentlich gängig unter Android?
    Ein Projekt für die eigentlich App, also die Activities, eines für Content Providers, eines für Services u.s.w oder macht man alles in einem grossen Projekt?
     
  2. swordi, 21.05.2012 #2
    swordi

    swordi Gewerbliches Mitglied

    hmm ich weiß nicht ob es das ist was du suchst, aber evtl meinst du "Library Projects"
     
  3. GENiALi, 21.05.2012 #3
    GENiALi

    GENiALi Threadstarter Erfahrener Benutzer

    Die heissen so. Jap.
    Aber ich möchte wissen ob man so ein Projekt aufteilt oder alles in ein einziges Projekt packt.
     
  4. swordi, 21.05.2012 #4
    swordi

    swordi Gewerbliches Mitglied

    also ich hab sowas eigentlich immer alles in einem project.

    content provider - services auslagern find ich nicht so gut.

    man lagert eher teile aus wie - custom views, die irgendwelche logik übernehmen. was weiß ich zb eine imageview die caching übernimmt oder sowas in der art.
     
    GENiALi bedankt sich.
  5. mradlmaier, 21.05.2012 #5
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Der ContentProvider muss im selben Projekt sein wie die Datenquelle, sonst kann er auf die Datenquelle nicht zugreifen! Hauptzweck eines ContentProviders ist es Daten für externe Anwendungen zur Verfügung zu stellen (Man kann natürlich auch andere Probleme mit einem ContentProvider lösen:winki:)
     
    GENiALi bedankt sich.
  6. GENiALi, 21.05.2012 #6
    GENiALi

    GENiALi Threadstarter Erfahrener Benutzer

    Mein Hauptziel soll es sein das keine Aktion blokierend ausgeführt wird. Es geht um eine Buiseness Anwendung die relatiev viele Daten zuerst laden muss damit sie Offline auch funktioniert. Danach soll Stück für Stück wieder auf den Server, sobald das Gerät online ist. Diese Kommunikation will ich als Service realisieren.

    Die DB soll aber ausschliesslich über Content Provider gefüllt werden. Weiss zwar noch nicht genau wie so ich das so will, aber die Trennung scheint mir irgend wie passend. Der Contend Provider wird zwar nicht public sein. Also nur für meine App.
     
  7. mradlmaier, 21.05.2012 #7
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Per default ist ein ContentProvider public. Wenn jemend die korrekte URI und den Packagenamen kennt, und welche Parameter er übergeben muss, kriegt er deine Daten. Du kannst dies aber mittels Permissions im Manifest unterbinden.
     
  8. GENiALi, 22.05.2012 #8
    GENiALi

    GENiALi Threadstarter Erfahrener Benutzer

    Wenn ich das hier richtig verstehe, dann kann man den "private" machen.
    Quelle: Android SQLite Database and ContentProvider - Tutorial
    Kapitel: 5.3
     
  9. mradlmaier, 24.05.2012 #9
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Richtig, dann ist der Zugriff für ALLE externen Anwendung untersagt. Soweit ich mich erinnern kann gibt es alternativ zusätzliche Berechtigungen (auch im Manifest) mit denen ein feinkörnigerer Zugriff geregelt werden kann.