Programmering

Side 2 - Programmering og sekvensdiagram

Svar #21
20. december 2015 af Mikkel2345

ok Nu har jeg lavet et andet sekvensdiagram. 

Jeg håber at du vil kommentar på hvad er der forkert og hvad er er rigtigt.

Vedhæftet fil:sekvendia.PNG

Brugbart svar (0)

Svar #22
21. december 2015 af Toonwire

Hmm, det lader til at du stadig ikke har forstået sammenhængen mellem objekter og hvilke metoder der hører til disse - ingen kritik ment.

Lad os tage metoden linje for linje.
Forstå princippet og kig på de ting jeg har skrevet tidligere, og færdiggør diagrammet - Det er slet ikke så simpelt som du har tegnet, desværre.

/*****
1. String insulin= e6.getText().toString();
2. String dateI= e7.getText().toString();
3. String timeI = e8.getText().toString();
*****/
4. userDbHelper=new InsulinDbHelper(context);
5. sqLiteDatabase=userDbHelper.getWritableDatabase();
6. userDbHelper.addinnInsulin(insulin, dateI, timeI, sqLiteDatabase);
7. Toast.makeText(getBaseContext(), "Data saved", Toast.LENGTH_LONG).show();
8. userDbHelper.close();

------------------------------------------------------

De første tre linjer ville jeg personligt ikke selv tage med i diagrammet, da det handler om assignments. Forståelsen i dem er dog det samme, du opretter en streng ud fra EditText klassens getText().
getText() returnerer et objekt der hedder Editable. På dette opbjekt kaldes så metoden toString(), som returnerer en String - den af brugeren ændrede tekst - hvilket retfærdiggør String assignment.

4) 
Oprettelsen af en instans af InsulinDbHelper klassen vha. et kald til dens constructor:

public InsulinDbHelper(Context context) {
     super(context, DATABASE_NAME, null, DATABASE_VERSION);
     Log.e("DATABASE OPERATION", "Database created / opened.....");
}

Jeg vil ikke gå ind i hvordan SQL bliver eksekveret og ting som query i onCreate() og det er heller ikke vigtigt i sekvensdiagrammet, så udelad dette.

5)
Det oprettede objekt af InsulinDbHelper klassen kalder nu netop denne klasses getWritableDatabase() og returnerer en SQLiteDatabase.

6)
Nu bliver det så lidt mere indviklet.
Først et kald til en metode inde i InsulinDbHelper, addinnInsulin(). Denne metode gør flere ting:
    a. ContentValues contentValue = new ContentValues();
    b. contentValue.put(InsulinContract.NewInsulinInfo.USER_INSULIN,insulin);
    c. contentValue.put(InsulinContract.NewInsulinInfo.USER_DATEI,dateI);
    d. contentValue.put(InsulinContract.NewInsulinInfo.USER_TIMEI,timeI);
    e. db.insert(InsulinContract.NewInsulinInfo.TABLE_NAME, null, contentValue);

    a) Ny instans af ContentValues
    b) I contentValue (instansen af ContentValue) kaldes put().
        Hvlike argumenter tager metoden? InsulinContract.NewInsulinInfo.USER_INSULIN (et felt i klassen            NewInsulinInfo under InsulinContract klassen). Vi kender ikke noget til disse klasse (ingen source               kode om dem her). Andet argument er 'insulin', en streng.
    c) & d) Samme som ovenfor, andre argumenter; nyt felt, ny streng.
    e) Et kald fra SQLiteDatabase som returnerer en long værdi. Argumenterne gør, at vi igen skal et smut
         ind i InsulinContract - se b) ,c) og d) - endnu et nyt felt.

7)
Toast-klassens kald til dens makeText(arguments). Argumenterne her gør brug af Activity klassens getBaseContext() metode - returnerer den givne context. Et andet argument er feltet LENGTH_LONG som findes i selve Toast klassen.
Herefter kaldes show(), også fra Toast.

8)
Ind i InsulinDbHelper igen, nu for at lukke databasen. Returnerer intet.

Tegn som angivet. Hvis du mener at nogle af kaldende er trivielle, udelad disse.
 


Svar #23
21. december 2015 af Mikkel2345

Jeg synes at det er mega svært og jeg vil gerne se hvordan du vil tegn den fordi så giver det nedre meningen og så kan jeg hvad du mener med alt som du skriver

Svar #24
21. december 2015 af Mikkel2345

Bedre meningen

Svar #25
21. december 2015 af Mikkel2345

PLZ hjælp jeg skal aflevere  opgaven kl 12 og jeg mangler stadig væk at lave sekvendiagrammeret


Brugbart svar (1)

Svar #26
21. december 2015 af Toonwire

Jeg har tegnet starten af et muligt sekvensdiagram, se om du kan gennemskue fremgangsmåden og prøv at tegn det færdigt.

>SQLiteDatabase er bare en forkortet måde at skrive klassen. Du kan tegne den ind ligesom de andre klasser hvis du vil.


Svar #27
21. december 2015 af Mikkel2345

ok nu giver det meningen. det eneste der mangler er de to punkter 7 og 8 eller hvad? 


Brugbart svar (0)

Svar #28
22. december 2015 af Toonwire

#27

Ja, kun punkterne 7 og 8 mangler.


Svar #29
22. december 2015 af Mikkel2345

super tak for hjælpen :) 


Forrige 1 2 Næste

Skriv et svar til: Programmering og sekvensdiagram

Du skal være logget ind, for at skrive et svar til dette spørgsmål. Klik her for at logge ind.
Har du ikke en bruger på Studieportalen.dk? Klik her for at oprette en bruger.