I documenti di metodo differiscono tra documenti Java e documenti Android

1

Alcune volte vedo differenze problematiche tra doc Java e doc in documenti metodo.Per esempio in circa setReadable (boolean readable, boolean ownerOnly) metodo puoi vedere java doc dice che:

Throws: SecurityException - If a security manager exists and its SecurityManager.checkWrite(java.lang.String) method denies write access to the file

Ma i documenti Android non dicono nulla eccezione di lancio. Inoltre sappiamo che I documenti dicono :

Any Exception that can be thrown by a method is part of the method's public programming interface. Those who call a method must know about the exceptions that a method can throw so that they can decide what to do about them.

Quindi, quando non vediamo alcuna condizione di lancio nei documenti Android di un metodo,

  1. Significa che il metodo non genera eccezioni in alcun modo? O potrebbe essere dimenticato?
  2. Abbiamo bisogno di controllare i documenti per qualsiasi metodo semplice per differenza di probabilità tra Java e Android? È possibile?

Nota: Conosco che

Dalvik, the virtual machine used in Google's Android platform, uses a subset of Harmony for the core of its Class Library.

Ma non penso che significhi possibilità di implementazione diversa di uno stesso metodo nella stessa classe.

    
posta hasanghaforian 02.06.2015 - 09:44
fonte

1 risposta

2

Sì, è molto possibile avere diverse implementazioni degli stessi metodi nella stessa classe tra Android e Oracle Java.

Ricorda che Android non usa la JVM. L'unica somiglianza tra Java di Android e Oracle di Java è l'API. Android non utilizza Java tradizionale, utilizza un'API che è "simile a Java".

Ad esempio, c'è una differenza nell'implementazione tra il HTTPURLConnection di Oracle e il HTTPURLConnection di Android. I metodi di quella classe non si comportano allo stesso modo tra le piattaforme.

Nel tuo particolare esempio, ricorda che stai confrontando due piattaforme diverse. La piattaforma Android ha un modello di permessi e un modo diverso di gestire la gestione dei file, quindi è abbastanza logico perché l'API per la gestione dei file differirebbe tra i due.

Questo non significa che non ci siano metodi simili in Java di Android che lanciano Eccezioni, solo che questo particolare non lo fa. Se hai più familiarità con Oracle Java rispetto a te con la piattaforma Android, ti consiglio di considerare la piattaforma Android diversa da quella a cui potresti essere abituato.

    
risposta data 05.06.2015 - 22:05
fonte

Leggi altre domande sui tag