public class Network extends Object implements Parcelable
Network
. This is supplied to applications via
ConnectivityManager.NetworkCallback
in response to the active
ConnectivityManager.requestNetwork(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback, int, int)
or passive
ConnectivityManager.registerNetworkCallback(android.net.NetworkRequest, android.net.ConnectivityManager.NetworkCallback)
calls.
It is used to direct traffic to the given Network
, either on a Socket
basis
through a targeted SocketFactory
or process-wide via
ConnectivityManager.bindProcessToNetwork(android.net.Network)
.Parcelable.ClassLoaderCreator<T>, Parcelable.Creator<T>
Modifier and Type | Field and Description |
---|---|
static Parcelable.Creator<Network> |
CREATOR |
int |
netId |
CONTENTS_FILE_DESCRIPTOR, PARCELABLE_ELIDE_DUPLICATES, PARCELABLE_WRITE_RETURN_VALUE
Constructor and Description |
---|
Network(int netId) |
Network(Network that) |
Modifier and Type | Method and Description |
---|---|
void |
bindSocket(DatagramSocket socket)
Binds the specified
DatagramSocket to this Network . |
void |
bindSocket(FileDescriptor fd)
Binds the specified
FileDescriptor to this Network . |
void |
bindSocket(Socket socket)
Binds the specified
Socket to this Network . |
int |
describeContents()
Describe the kinds of special objects contained in this Parcelable
instance's marshaled representation.
|
boolean |
equals(Object obj)
Indicates whether some other object is "equal to" this one.
|
InetAddress[] |
getAllByName(String host)
Operates the same as
InetAddress.getAllByName except that host
resolution is done on this network. |
InetAddress |
getByName(String host)
Operates the same as
InetAddress.getByName except that host
resolution is done on this network. |
long |
getNetworkHandle()
Returns a handle representing this
Network , for use with the NDK API. |
SocketFactory |
getSocketFactory()
Returns a
SocketFactory bound to this network. |
int |
hashCode()
Returns a hash code value for the object.
|
URLConnection |
openConnection(URL url)
Opens the specified
URL on this Network , such that all traffic will be sent
on this Network. |
URLConnection |
openConnection(URL url,
Proxy proxy)
Opens the specified
URL on this Network , such that all traffic will be sent
on this Network. |
String |
toString()
Returns a string representation of the object.
|
void |
writeToParcel(Parcel dest,
int flags)
Flatten this object in to a Parcel.
|
public final int netId
public static final Parcelable.Creator<Network> CREATOR
public Network(int netId)
public Network(Network that)
public InetAddress[] getAllByName(String host) throws UnknownHostException
InetAddress.getAllByName
except that host
resolution is done on this network.host
- the hostname or literal IP string to be resolved.UnknownHostException
- if the address lookup fails.public InetAddress getByName(String host) throws UnknownHostException
InetAddress.getByName
except that host
resolution is done on this network.host
- the hostName to be resolved to an address or null
.InetAddress
instance representing the host.UnknownHostException
- if the address lookup fails.public SocketFactory getSocketFactory()
SocketFactory
bound to this network. Any Socket
created by
this factory will have its traffic sent over this Network
. Note that if this
Network
ever disconnects, this factory and any Socket
it produced in the
past or future will cease to work.SocketFactory
which produces Socket
instances bound to this
Network
.public URLConnection openConnection(URL url) throws IOException
URL
on this Network
, such that all traffic will be sent
on this Network. The URL protocol must be HTTP
or HTTPS
.URLConnection
to the resource referred to by this URL.MalformedURLException
- if the URL protocol is not HTTP or HTTPS.IOException
- if an error occurs while opening the connection.URL.openConnection()
public URLConnection openConnection(URL url, Proxy proxy) throws IOException
URL
on this Network
, such that all traffic will be sent
on this Network. The URL protocol must be HTTP
or HTTPS
.proxy
- the proxy through which the connection will be established.URLConnection
to the resource referred to by this URL.MalformedURLException
- if the URL protocol is not HTTP or HTTPS.IllegalArgumentException
- if the argument proxy is null.IOException
- if an error occurs while opening the connection.URL.openConnection()
public void bindSocket(DatagramSocket socket) throws IOException
DatagramSocket
to this Network
. All data traffic on the
socket will be sent on this Network
, irrespective of any process-wide network binding
set by ConnectivityManager.bindProcessToNetwork(android.net.Network)
. The socket must not be
connected.IOException
public void bindSocket(Socket socket) throws IOException
Socket
to this Network
. All data traffic on the socket
will be sent on this Network
, irrespective of any process-wide network binding set by
ConnectivityManager.bindProcessToNetwork(android.net.Network)
. The socket must not be connected.IOException
public void bindSocket(FileDescriptor fd) throws IOException
FileDescriptor
to this Network
. All data traffic on the
socket represented by this file descriptor will be sent on this Network
,
irrespective of any process-wide network binding set by
ConnectivityManager.bindProcessToNetwork(android.net.Network)
. The socket must not be connected.IOException
public long getNetworkHandle()
Network
, for use with the NDK API.public int describeContents()
Parcelable
Parcelable.writeToParcel(Parcel, int)
,
the return value of this method must include the
Parcelable.CONTENTS_FILE_DESCRIPTOR
bit.describeContents
in interface Parcelable
Parcelable.CONTENTS_FILE_DESCRIPTOR
public void writeToParcel(Parcel dest, int flags)
Parcelable
writeToParcel
in interface Parcelable
dest
- The Parcel in which the object should be written.flags
- Additional flags about how the object should be written.
May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE
.public boolean equals(Object obj)
Object
The equals
method implements an equivalence relation
on non-null object references:
x
, x.equals(x)
should return
true
.
x
and y
, x.equals(y)
should return true
if and only if
y.equals(x)
returns true
.
x
, y
, and z
, if
x.equals(y)
returns true
and
y.equals(z)
returns true
, then
x.equals(z)
should return true
.
x
and y
, multiple invocations of
x.equals(y)
consistently return true
or consistently return false
, provided no
information used in equals
comparisons on the
objects is modified.
x
,
x.equals(null)
should return false
.
The equals
method for class Object
implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x
and
y
, this method returns true
if and only
if x
and y
refer to the same object
(x == y
has the value true
).
Note that it is generally necessary to override the hashCode
method whenever this method is overridden, so as to maintain the
general contract for the hashCode
method, which states
that equal objects must have equal hash codes.
equals
in class Object
obj
- the reference object with which to compare.true
if this object is the same as the obj
argument; false
otherwise.Object.hashCode()
,
HashMap
public int hashCode()
Object
HashMap
.
The general contract of hashCode
is:
hashCode
method
must consistently return the same integer, provided no information
used in equals
comparisons on the object is modified.
This integer need not remain consistent from one execution of an
application to another execution of the same application.
equals(Object)
method, then calling the hashCode
method on each of
the two objects must produce the same integer result.
Object.equals(java.lang.Object)
method, then calling the hashCode
method on each of the
two objects must produce distinct integer results. However, the
programmer should be aware that producing distinct integer results
for unequal objects may improve the performance of hash tables.
As much as is reasonably practical, the hashCode method defined by
class Object
does return distinct integers for distinct
objects. (This is typically implemented by converting the internal
address of the object into an integer, but this implementation
technique is not required by the
JavaTM programming language.)
hashCode
in class Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public String toString()
Object
toString
method returns a string that
"textually represents" this object. The result should
be a concise but informative representation that is easy for a
person to read.
It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the
object is an instance, the at-sign character `@
', and
the unsigned hexadecimal representation of the hash code of the
object. In other words, this method returns a string equal to the
value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())