CoderZ.cc

Zurück   CoderZ.cc > Programmierung > Mobile Endgeräte > Android


 
Themen-Optionen Ansicht
20.05.2013, 21:57   #1
asaml (Offline)
Coderz Mitglied
 
Registriert seit: 05.04.2024
Beiträge: 7
Thanks: 0
Thanked 0 Times in 0 Posts
Standard Termin aus Kalender Intent

Hey
ich bins mal wieder... Ich habe folgendes Problem:
Ich möchte aus meiner App heraus einen Kalendertermin haben. In der Theorie denke ich mir das so: Aus App heraus Calender Intent starten -> Termin auswählen -> Termin an App zurückliefern

Leider klappt das nichts so wie ich das will.
Vllt. hat mir jemand n Tipp wie ich das am besten hinbekomme?

Danke schonmal!
Gruß

asaml
  Mit Zitat antworten
20.05.2013, 22:28   #2
tho (Offline)
Coderz Mitglied
 
Registriert seit: 27.11.2024
Beiträge: 38
Thanks: 5
Thanked 4 Times in 4 Posts
Standard

wie weit bist du denn? Etwas Code wäre sicher hilfreich...

Was hälts du vom DatePockerDialog?
http://developer.android.com/referen...kerDialog.html
  Mit Zitat antworten
20.05.2013, 23:01   #3
asaml (Offline)
Coderz Mitglied
 
Registriert seit: 05.04.2024
Beiträge: 7
Thanks: 0
Thanked 0 Times in 0 Posts
Standard

Da ich herausgefunden habe, dass über einen Calender Intent keine Termine ausgelesen werden können (sondern nur neue erstellt, editiert oder gelöscht) habe ich nun angefangen mich in den Calendar Content Provider einzulesen.
Ich habe im Moment folgenden Code um mir alle Kalender aufzulisten:
// Projection array. Creating indices for this array instead of doing
    // dynamic lookups improves performance.
    public static final String[] EVENT_PROJECTION = new String[] {
            Calendars._ID, // 0
            Calendars.ACCOUNT_NAME, // 1
            Calendars.CALENDAR_DISPLAY_NAME, // 2
            Calendars.OWNER_ACCOUNT // 3
    };
    // The indices for the projection array above.
    private static final int PROJECTION_ID_INDEX = 0;
    private static final int PROJECTION_ACCOUNT_NAME_INDEX = 1;
    private static final int PROJECTION_DISPLAY_NAME_INDEX = 2;
    private static final int PROJECTION_OWNER_ACCOUNT_INDEX = 3;
    private ArrayList<String> calendars_array = new ArrayList<String>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_calendar);
        ListView calList = (ListView)findViewById(R.id.listView1);
        // Run query
        Cursor cur = null;
        ContentResolver cr = getContentResolver();
        Uri uri = Calendars.CONTENT_URI;   
        String selection = "((" + Calendars.ACCOUNT_NAME + " = ?) AND (" 
                                + Calendars.ACCOUNT_TYPE + " = ?))";
        String[] selectionArgs = new String[] {"[email protected]", "com.google"}; 
        // Submit the query and get a Cursor object back. 
        cur = cr.query(uri, EVENT_PROJECTION, selection, selectionArgs, null);
        // Use the cursor to step through the returned records
        while (cur.moveToNext()) {
            long calID = 0;
            String displayName = null;
            String accountName = null;
            String ownerName = null;
            // Get the field values
            calID = cur.getLong(PROJECTION_ID_INDEX);
            displayName = cur.getString(PROJECTION_DISPLAY_NAME_INDEX);
            accountName = cur.getString(PROJECTION_ACCOUNT_NAME_INDEX);
            ownerName = cur.getString(PROJECTION_OWNER_ACCOUNT_INDEX);
            // Do something with the values...
            calendars_array.add(displayName);
        }
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, calendars_array);
        calList.setAdapter(adapter);
        adapter.notifyDataSetChanged();
    }
Den habe ich ziehmlich 1:1 von der Google developper Seite.
Klappt auch soweit ganz gut, es werden mir nun alle verfügbaren Kalender in einer Listview angezeigt. Nun wäre es optimal, wenn ich durch einen Klick auf den jeweiligen Kalender alle darin enthaltenen Events aufgelistet bekäme.
So ganz steig ich noch nicht durch mit diesen Content Providern, vllt. hast du / ihr grad ne code idee / snippet dafür?

Danke schonmal!
  Mit Zitat antworten
21.05.2013, 06:46   #4
tho (Offline)
Coderz Mitglied
 
Registriert seit: 27.11.2024
Beiträge: 38
Thanks: 5
Thanked 4 Times in 4 Posts
Standard

Um an gespeicherte Daten zu kommen solltest du dir die jeweilige api zu dem Kalender ansehen. (zB google+ oder facebook)
  Mit Zitat antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:54 Uhr.

Powered by vBulletin®
Copyright ©2008 - 2017
Template-Modifikationen durch TMS