Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Racunanje razlicitih cena android

[es] :: Java :: Racunanje razlicitih cena android

[ Pregleda: 1191 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gojic
Indjija,Srbija

Član broj: 276886
Poruke: 28
*.dynamic.isp.telekom.rs.



Profil

icon Racunanje razlicitih cena android27.05.2017. u 10:13 - pre 83 meseci
Pozdrav,

vec neko vreme radim na svom prvom pravom android projektu.Posle puno zavrzlama i cimanja po ovom forumu i po stackoverflow-u , coderanch-u i guglu generalno,moja prva prava aplikacija ce videti svetlo dana.Medjutim ne lezi vraze...

Aplikacija prodaje knjige.Kad se otvori prvo imam listu knjiga, ideja je da kad se udje klikom u jednu od tih knjiga dobije neka vrsta uzorka da korisnik moze da prelista.Imam dva floating dugmeta, klikom na jedno otvara se call itent gde ce korisnik moci automatski da pozove i tako naruci knjigu.Klikom na drugo otvara se nova aktivnost narudzbina gde korisnoik popuni formular sa svojim imenom prezimenom itd i obavezno navede kolicinu koju zeli da nauci.I aplikacija sama izracuna cenu porucenih knjiga.To sve radi ok.Da se malo pohvalim

E sad...u poslenjem momentu covek mi kaze da cene knjiga nisu vise iste,od osam knjiga 5 ce imati istu cenu a dve razlicitu....i to mi sj... i koncepciju i logiku i kod i sve zivo...Mogu da napravim novu klasu sa novim cenama dakle imao bih dve skoro identicne klase sa svim istim metodama ali razlicitim varijablama cena...I kad kupac klikne na te dve knjige itent ga posalje na novu aktivnost sa novim cenama...Ali mi nekako deluje previse kompikovano i kabasto za tako malu izmenu da pravim nove klase.Ja mogu da napravim interface gde cu da stavim dve varijable koje oznacavaju dve cene ali kako da ih povezem sa knjigama.Odnosno kako aplikacija da zna koja je knjiga(aktivnost)kliknuta/na koju se cenu odnosi. Takodje znam i za polimorfizam ali kao sto cete videti dole u prilozenom kodu klasa Narudzbina mi vec nasledjuje AppCompatActivity bez nje naravno nista ne radi kako treba.

Ovo mi je kod PrvuKnjigu.Imam osam knjiga/klasa...sve su iste osim sto pdf viewer otvara razlicte knjige u razlitim aktivnostima.
Code:
public class PrvaKnjiga extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.knjiga);

        PDFView pdfView  = (PDFView)findViewById(R.id.pdfView);
        pdfView.fromAsset("loops.pdf").load();
        pdfView.enableSwipe(true);

        //click listeber koji otvara klasu narudzbina
        FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.myFAB);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent prvaKnjigaIntent = new Intent(PrvaKnjiga.this, Narudzbina.class);
                startActivity(prvaKnjigaIntent);
            }
        });
        //click listener koji otvara poziv
        FloatingActionButton fabKontakt = (FloatingActionButton) findViewById(R.id.myFAB_kontakt);
        fabKontakt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:" + "+11111111111"));
                startActivity(intent);


            }

        });
    }

    }


I aktivnost koja gde se nalazi narudzbina:
Code:
public class Narudzbina extends AppCompatActivity  {

   String porukaGreska="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.narudzbina);
    }

    public void kreiranjeNarudzbine(View v) {
        EditText editTextIme = (EditText) findViewById(R.id.ime);
        String imeNarucioca = editTextIme.getText().toString();
        editTextIme.setText(StringUtils.capitalize(imeNarucioca.toLowerCase().trim()));


        EditText editTextPrezime = (EditText) findViewById(R.id.prezime);
        String prezimeNarucioca = editTextPrezime.getText().toString();
        editTextPrezime.setText(StringUtils.capitalize(prezimeNarucioca.toLowerCase().trim()));

        EditText editTelefonNarucioca = (EditText) findViewById(R.id.telefon);
        String telefonNarucioca = editTelefonNarucioca.getText().toString();


        EditText editAdresaNarucioca = (EditText) findViewById(adresa);
        String adresaNarucioca = editAdresaNarucioca.getText().toString();
        editAdresaNarucioca.setText(StringUtils.capitalize(adresaNarucioca.toLowerCase().trim()));


        EditText editGradNarucioca = (EditText) findViewById(R.id.grad);
        String gradNarucioca = editGradNarucioca.getText().toString();
        editGradNarucioca.setText(StringUtils.capitalize(gradNarucioca.toLowerCase().trim()));


        EditText editKolicina = (EditText) findViewById(R.id.kolicina_narucena);
        String narucenaKolicina = editKolicina.getText().toString();
        //proverava da li je uneti podatak zaista broj
        int kolicina = 0;
        try {
            kolicina = Integer.parseInt(narucenaKolicina);
        } catch (NumberFormatException e) {
            narucenaKolicina = "";
        }

        int cenaNarudzbine = cena(kolicina);

        //itent koji sluzi za slanje poruke
        String poruka = sumiranjeNarudzbine(imeNarucioca, prezimeNarucioca, telefonNarucioca, adresaNarucioca, gradNarucioca, cenaNarudzbine);
        Intent smsIntent = new Intent(Intent.ACTION_VIEW);
        smsIntent.setType("vnd.android-dir/mms-sms");
        smsIntent.putExtra("address", "+381629647169");
        smsIntent.putExtra("sms_body", poruka);

        //if izjava koja proverava da li su sva polja popunjena
        if(imeNarucioca!=null && imeNarucioca.equals("")){
            Toast.makeText(Narudzbina.this, "Unesite ime", Toast.LENGTH_LONG).show();
        }
        else if(prezimeNarucioca!=null && prezimeNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite Prezime", Toast.LENGTH_LONG).show();

        }
        else if(telefonNarucioca!=null && telefonNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite kontakt telefon", Toast.LENGTH_LONG).show();
        }
        else if(adresaNarucioca!=null && adresaNarucioca.equals("")){
            Toast.makeText(Narudzbina.this,"Unesite adresu",Toast.LENGTH_LONG).show();
        }
        else if(gradNarucioca!=null && gradNarucioca.equals("")){
            Toast.makeText(Narudzbina.this, "Navedite grad", Toast.LENGTH_LONG).show();
        }
        else if (narucenaKolicina != null && narucenaKolicina.equals("")){
            Toast.makeText(Narudzbina.this, "Navedite zeljenu kolicinu", Toast.LENGTH_LONG).show();
        }
        else{
            startActivity(smsIntent);
        }
    }

    //metod koji mi izracunava cenu
    protected int cena(int kolicina){
        int cenaKnjige = 100;
        cenaKnjige = kolicina * cenaKnjige;
        return cenaKnjige;
    }

    //metod koji prikazuje poruku koja ce biti poslata sms-om
    private String sumiranjeNarudzbine(String imeNarucioca, String prezimeNarucioca, String telefonNarucioca,String adresaNarucioca,String gradNarucioca,int cenaNarudzbine) {
        String poruka = "Ime: " + imeNarucioca;
        poruka = poruka + "\n" + "Prezime: " + prezimeNarucioca;
        poruka = poruka + "\n" + "Broj Telefona: " + telefonNarucioca ;
        poruka = poruka + "\n" + "Adresa Narucioca: " + adresaNarucioca;
        poruka = poruka + "\n" + "Grad: " + gradNarucioca;
        poruka = poruka + "\n" + "Cena: " + cenaNarudzbine;
        return poruka;
    }
}

 
Odgovor na temu

[es] :: Java :: Racunanje razlicitih cena android

[ Pregleda: 1191 | Odgovora: 0 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.