Я пытаюсь показать текст песни, которая воспроизводится в моем приложении (приложение музыкального проигрывателя).
Я нашел учебник о том, как реализовать сервис SOAP в YouTube, но это было своего роданеясно, так что все, что я мог, так это:
//Get Lyrics API
private class SoapCall extends AsyncTask<String, Object, String> {
public static final String NAMESPACE = "http://api.chartlyrics.com/";
public static final String URL = "http://api.chartlyrics.com/apiv1.asmx?WSDL";
public static final String SOAP_ACTION = "http://api.chartlyrics.com/SearchLyricDirect";
public static final String METHOD_NAME = "SearchLyricDirect";
public int TimeOut = 30000;
String response;
@Override
protected String doInBackground(String... strings) {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
HttpTransportSE transportSe = new HttpTransportSE(URL, TimeOut);
transportSe.debug = true;
try {
transportSe.call(SOAP_ACTION, envelope);
response = (String) envelope.getResponse();
} catch (Exception e) {
e.printStackTrace();
Log.e("Error", e.toString());
}
return response;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
if (result != null) {
testSoapTxt.setText(result);
} else {
Toast.makeText(getActivity(), "Something went wrong with API", Toast.LENGTH_LONG).show();
}
}
}
Но я получаю java.net.SocketTimeoutException
при попытке показать некоторые тексты.Я отладил приложение и обнаружил, что response
равно нулю.
Я использую этот API: SOAP API для получения текста
I 'Мы следовали этому руководству: Учебник по SOAP API
Для целей тестирования я просто хочу увидеть, ЕСЛИ я могу показать любой текст в моем textView.Если я смогу выполнить эту работу, я продолжу свое путешествие и правильно его осуществлю.
РЕДАКТИРОВАТЬ: Я нашел обходной путь, когда я вручную вставлял текст в свой вид, но он не выглядит очень удобным (слишком много беспорядка).
//Add songs to my list
arrayList.add(new Song("Akon", "-Dont matter", R.raw.akon_dontmatter, R.drawable.akon, "Konvict, konvict, konvict\n" +
"Oh, oh, oh, ooh, oh, oh\n" +
"Oh, oh, oh, ooh, oh, oh\n" +
"Nobody wanta' see us together\n" +
"But it don't matter, no ('cause I got you babe)\n" +
"Nobody wanta' see us together\n" +
"But it don't matter, no ('cause I got you babe)\n" +
"Cause we gonna fight, oh yes, we gonna fight (we gonna fight)\n" +
"Believe we gonna fight (we gonna fight)\n" +
"Fight for our right to love, yeah (right to love, yeah)\n" +
[...]
Есть предложения?
Спасибо.