Шрифт:
Это может привести к ANR.
Это не даст никакой ошибки, но может привести к ANR до 2.3 версии. но начиная с 3,0 это является обязательным, чтобы все сетевые соединения производились в отдельном потоке. Иначе во время выполнения будет исключение NetworkOnMainThreadException.
Код будет отлично работать. Ошибки не будет.
Если мы не будем использовать отдельный фоновый поток, начиная с версии 3.0, система будет бросать исключение времени выполнения.
Вопрос 25
Для подключения к сети Android приложения, какой из следующих вариантов я должен использовать?
DefaultHTTPClient
DefaultHTTPClient или AndroidHttpClient
HttpURLConnection. Это более легковесный вариант, так что используйте его всегда.
До Froyo (2.2) лучше использовать вариант DefaultHTTPClient или AndroidHttpClient, но после него лучше использовать HttpURLConnection.
Вопрос 26
Как войти в Gmail аккаунт из Android приложения с помощью HTTP запроса?
DefaultHttpClient client = new DefaultHttpClient ;
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», "username@gmail.com»));
params. add (new BasicNameValuePair («Passwd», «password here»));
params. add (new BasicNameValuePair («signIn», «Sign in»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine . getStatusCode <400)
//success
else
//fail
//////////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ;
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», "username@gmail.com»));
params. add (new BasicNameValuePair («Passwd», «password here»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine . getStatusCode <400)
//success
else
//fail
/////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ;
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», "username@gmail.com»));
params. add (new BasicNameValuePair («Passwd», «password here»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine . getStatusCode > = 400)
//success
else
//fail
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
DefaultHttpClient client = new DefaultHttpClient ;
HttpPost post = new HttpPost (»http://mail.google.com/");
List <NameValuePair> params = new ArrayList <NameValuePair> (3);
params. add (new BasicNameValuePair («Email», "username@gmail.com»));
params. add (new BasicNameValuePair («Passwd», «password here»));
params. add (new BasicNameValuePair («signIn», «Sign in»));
post. setEntity (new UrlEncodedFormEntity (params));
HttpResponse res = client. execute (post);
if (res. getStatusLine . getStatusCode > = 400)
//success
else
//fail
Вопрос 27
Какие технологии лучше всего подходят, чтобы отправлять данные по сети к серверу из Android приложения?
SOAP быстрее, чем REST для передачи данных.
JSON быстрее, чем XML, XML быстрее, чем SOAP.
JSON быстрее, чем XML, XML быстрее, чем SOAP. Но если мы хотим использовать SOAP в мобильных приложениях, мы можем использовать KSOAP, который разработан для встраиваемых устройств и который быстрее.
Ничего из перечисленного.