mboost-dp1
Lidt mangel på JAVA forståelse
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hey, håber der er nogen der kan fortælle mig hvad der sker her:
Det er en stump fra android systemet i filen:
frameworks/base/services/java/com/android/server/ConnectivityService.java
Linie: 281
mNetAttributes = new NetworkAttributes[ConnectivityManager.MAX_NETWORK_TYPE+1];
Det er en stump fra android systemet i filen:
frameworks/base/services/java/com/android/server/ConnectivityService.java
Linie: 281
#12
Men det ville jo være fjollet. I så fald er der jo mindst et null element i array'et, sandsynligvis på position 0, hvis folk agter at lave noget lign. dette her:
for (int i = 1; i <= ConnectivityManager.MAX_NETWORK_TYPE; i++
normalt ville man jo instantisere til ConnectivityManager.MAX_NETWORK_TYPE , og så tilgå sidste element via:
ConnectivityManager.MAX_NETWORK_TYPE-1
Og jeg tvivler på at Android kildekoden ville have sådanne fejl i.
Men det ville jo være fjollet. I så fald er der jo mindst et null element i array'et, sandsynligvis på position 0, hvis folk agter at lave noget lign. dette her:
for (int i = 1; i <= ConnectivityManager.MAX_NETWORK_TYPE; i++
normalt ville man jo instantisere til ConnectivityManager.MAX_NETWORK_TYPE , og så tilgå sidste element via:
ConnectivityManager.MAX_NETWORK_TYPE-1
Og jeg tvivler på at Android kildekoden ville have sådanne fejl i.
Windcape (14) skrev:Men det ville jo være fjollet. I så fald er der jo mindst et null element i array'et, sandsynligvis på position 0, hvis folk agter at lave noget lign. dette her:
Windcape (14) skrev:Og jeg tvivler på at Android kildekoden ville have sådanne fejl i.
Det er ikke en fejl.
At gøre det som du foreslår vil være en fejl.
Hvis ConnectivityManager.MAX_NETWORK_TYPE er navngivet rigtigt så skal det være den største valide netværks type. Og hvis man bruger netværks type som index, så ...
Og der forlyder ikke noget om at ConnectivityManager.MIN_NETWORK_TYPE er 1. Det er fri fantasi fra din side. Den kan sagtens være 0.
Windcape (14) skrev:Men det ville jo være fjollet. I så fald er der jo mindst et null element i array'et, sandsynligvis på position 0, hvis folk agter at lave noget lign. dette her:
Alle elementer vil være null. - Vi har ikke set resten af koden.
Windcape (14) skrev:#12
for (int i = 1; i <= ConnectivityManager.MAX_NETWORK_TYPE; i++
ConnectivityManager.MAX_NETWORK_TYPE , og så tilgå sidste element via:
ConnectivityManager.MAX_NETWORK_TYPE-1
Så flytter du jo de "normale/statiske" elementer.
- Det kommer vel an på hvad det skal bruges til.
Windcape (14) skrev:
normalt ville man jo instantisere til ConnectivityManager.MAX_NETWORK_TYPE , og så tilgå sidste element via:
ConnectivityManager.MAX_NETWORK_TYPE-1
Jeg ville være enig med dig hvis konstanten hed NETWORK_TYPES_SIZE eller lignende.
Hvis den højeste, altså MAX er 10, må arrayet givetvis være 11 {0-10} - Derfor skal det nye array være 10+1 for at de her NETWORK_TYPE s kan være deri.
Man kan se de forskellige netværkstyper her:
http://androidxref.com/source/xref/frameworks/base...
De går fra -1 til 13, men -1 er TYPE_NONE så den har selvfølgelig ikke nogen NetworkAttributes.
http://androidxref.com/source/xref/frameworks/base...
De går fra -1 til 13, men -1 er TYPE_NONE så den har selvfølgelig ikke nogen NetworkAttributes.
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.