Frage zu Projektstruktur

GENiALi

GENiALi

Fortgeschrittenes Mitglied
11
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?
 
hmm ich weiß nicht ob es das ist was du suchst, aber evtl meinst du "Library Projects"
 
Die heissen so. Jap.
Aber ich möchte wissen ob man so ein Projekt aufteilt oder alles in ein einziges Projekt packt.
 
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.
 
  • Danke
Reaktionen: GENiALi
swordi schrieb:
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.

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:)
 
  • Danke
Reaktionen: GENiALi
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.
 
derDroide schrieb:
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.

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.
 
Wenn ich das hier richtig verstehe, dann kann man den "private" machen.
Per default a ContentProvider will be available to other programs. If you want to use your ContentProvider only internally you can use the attribute android:exported=false in the definition of your ContentProvider in the AndroidManifest.xml.
Quelle: Android SQLite Database and ContentProvider - Tutorial
Kapitel: 5.3
 
derDroide schrieb:
Wenn ich das hier richtig verstehe, dann kann man den "private" machen.
Quelle: Android SQLite Database and ContentProvider - Tutorial
Kapitel: 5.3

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.
 

Ähnliche Themen

A
Antworten
1
Aufrufe
570
swa00
swa00
SpeedySix
Antworten
13
Aufrufe
1.387
jogimuc
J
M
Antworten
2
Aufrufe
611
Mozart40
M
Zurück
Oben Unten