Forum » Programiranje » [Android] prenos spremenljivk
[Android] prenos spremenljivk
g333kk ::
Poskušal sem narediti programčič ki premiga spremenljivke z 1 clasa in jih uprabja v drugem na principu:
Vendar mi aplikacijo crasha ima kdo idejo zakaj in kaj je narobe z takim načinom v c++ mi je takle način deloval ..
Vendar mi aplikacijo crasha ima kdo idejo zakaj in kaj je narobe z takim načinom v c++ mi je takle način deloval ..
public class class1{ int a=0; int b=5; a=b*10; } public class class2{ class1 bip; bip.a=5; }
win64 ::
a in b so privatne spremenljivke in nemogoče, da ti je to sploh prevedlo v c++.
Podaj celoten primer.
Podaj celoten primer.
g333kk ::
Jup public je bilo v c++ ali tudi tukaj rabim public ali pa drugače je to pravilien način dostopanja
MajorM ::
Se tudi še jaz učim, ampak kolikor jaz razumem to ni "najlepši" način. Bolj lepo naj bi bilo da so spremenljivke private potem pa z "get" in "set" metodami spreminjaš vrednosti.
g333kk ::
At the onStart I only see a variable p declared and initialized. And your a variable is declared in the Panel class which extends SurfaceView and that means you can't have a onStart method there! - yugidroid 31 mins ago
Mi lahko en to razloži kaj je v tem narobe po tej razlagi, če pa se potrebuje kodo jo pa pošljem na zasebca..
Mi lahko en to razloži kaj je v tem narobe po tej razlagi, če pa se potrebuje kodo jo pa pošljem na zasebca..
Mavrik ::
Prilepi kodo na pastebin če je dolga in jo objavi.
The truth is rarely pure and never simple.
Mavrik ::
Preveč smo šokirani nad obupno preglednostjo tvoje kode. Zakaj imaš ime paketa "aa.bb.cc", spremenljivke "a", "b" ? Kak naj kdorkoli (vključno s tabo čez en teden) sploh ve kaj bi naj te stvari bile in delale? Daj potrudi se malo. Isto glede kupa zakomentirane kode, ki ti dela samo zmedo.
NullPointerException pa dobiš ker je "a" v "Palete" enak null, saj ga nikjer ne instaciraš ali določiš.
NullPointerException pa dobiš ker je "a" v "Palete" enak null, saj ga nikjer ne instaciraš ali določiš.
The truth is rarely pure and never simple.
Zgodovina sprememb…
- spremenil: Mavrik ()
g333kk ::
Sicer pa kaže na našake v tej vrstici:
in pa
Ampak mislim da je glavni problem AndroidPaint a; ki je v clasu Palete,( fora tega classa je da dostopam v classu palete do spremenljivk ki so v clasu AndroidPaint, in napake so se pojavile šele takrat)
Prosim za čimprejšni odgvor, prosim, ker trenutno sem se znašel v slepi pegi ulici, mogoče način kaj bi bilo potrebno popravit.. Včasih je bil class palete podclass AndroidPaint sedaj sem zaradi xml code da dostopam do tele kode ustvaril sam class in naredil da spremenljivke dostopajo med seboj:
hvala že v naprej..
Jutri bom popravljal kodo samo zanima me na kak stil jo naj popravim ...
Potem pa me zanima na kaj naj nastavim v paleti spremenljivko AndroidPaint a;
for(int i = 0; i<a.number_of_graphicObjects; i++){
in pa
_panel.onDraw(c);
Ampak mislim da je glavni problem AndroidPaint a; ki je v clasu Palete,( fora tega classa je da dostopam v classu palete do spremenljivk ki so v clasu AndroidPaint, in napake so se pojavile šele takrat)
Prosim za čimprejšni odgvor, prosim, ker trenutno sem se znašel v slepi pegi ulici, mogoče način kaj bi bilo potrebno popravit.. Včasih je bil class palete podclass AndroidPaint sedaj sem zaradi xml code da dostopam do tele kode ustvaril sam class in naredil da spremenljivke dostopajo med seboj:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FF0000" > <aa.bb.cc.Panel android:id="@+id/yourID" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </LinearLayout>
hvala že v naprej..
Jutri bom popravljal kodo samo zanima me na kak stil jo naj popravim ...
Potem pa me zanima na kaj naj nastavim v paleti spremenljivko AndroidPaint a;
Zgodovina sprememb…
- spremenilo: g333kk ()
Mavrik ::
Ja, "AndroidPaint a" je definitivno tvoj problem, saj je nikjer ne inicializiraš. Ne vem skod si skopiral kodo sam ti nekaj pomembnega manjka.
Verjetno te mede dejstvo, da se v C++ ko deklariraš spremenljivko takoj požene privzeti konstruktor in jo inicializira na instanco objekta, v Javi pa je "a" preprosto null.
AndroidPaint v dokumentaciji ne obstaja, tak da nimam pojma s kod točno ti dobiš ta objekt in kako ga hočeš inicializirati.
Verjetno te mede dejstvo, da se v C++ ko deklariraš spremenljivko takoj požene privzeti konstruktor in jo inicializira na instanco objekta, v Javi pa je "a" preprosto null.
AndroidPaint v dokumentaciji ne obstaja, tak da nimam pojma s kod točno ti dobiš ta objekt in kako ga hočeš inicializirati.
The truth is rarely pure and never simple.
g333kk ::
public class AndroidPaint extends Activity { to je to je čisto prva zadeva,..Inicializerati ga hočem tako da bodo spremenljivke med seboj obratovale..
win64 ::
Če že govorimo o podobnostih pri inicializaciji, bi bilo potrebno opozoriti, da java za dostop do instanc razredov pozna samo reference(npr. object a), medtem ko pri c/c++ imaš tako kazalce(nekako primerljivo z referencami(npr. object * a;)) kot lokalne instance(pri katerih nam za klice ustreznih konstruktorjev in destruktorjev ni potrebno skrbeti)(npr. object a).
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [c#] dostopanje spremenljivk med classiOddelek: Programiranje | 1110 (810) | japol |
» | [Java] "Uničenje" objekta ?Oddelek: Programiranje | 1218 (910) | shadeX |
» | C# in servisiOddelek: Programiranje | 1100 (660) | mihies |
» | android črtaOddelek: Programiranje | 2410 (1681) | g333kk |
» | [android] vstavljanje slikeOddelek: Programiranje | 1247 (1144) | messi |