Ошибка исключения Wolfram|Alpha API Android

Привет, я Яссин, и я новичок в разработке Android. Я хочу создать простое приложение, которое будет получать ответы с веб-сайта WolframAlpha. И я застрял с большим количеством ошибок. Это часть моего кода:

`//Get The Search Input From The Main Activity
String sciSearch = myIntent.getStringExtra(HomeActivity.EXTRA_MESSAGE);
    //Call WAengine

            WAEngine engine = new WAEngine();
            Log.d("Engine","Engine Was Created");
            //Check The App Id
            engine.setAppID(appid);
             Log.d("AppId","App Selected");
            engine.addFormat("plaintext");
            //Create A Query
            WAQuery query = engine.createQuery();
//Submit The Query
            query.setInput(sciSearch);
            //Get Results
            //Print The Url
            result  = (TextView) findViewById(R.id.title);
            content = (TextView) findViewById(R.id.content);
            //String url = engine.toURL(query);
            //result.setText(url);
            //Here is The Problem
            try{
                Log.d("Query Performed","The Query was not performed");
                WAQueryResult queryResult = engine.performQuery(query);
                Log.d("Query Performed","The Query was performed");
                for(WAPod pod : queryResult.getPods()){
                    if(!pod.isError()){
                        Log.d("Pod",pod.getTitle());
                        //result.setText(pod.getTitle());

                             for (WASubpod subpod : pod.getSubpods()) {
                                for (Object element : subpod.getContents()) {
                                    if (element instanceof WAPlainText) {
                                       //content.setText(((WAPlainText) element).getText());
                                        Log.d("Content",((WAPlainText) element).getText());
                                    }
                                }
                            }
                    }

                }
            }catch (WAException e) {

                e.printStackTrace();
            }`

Когда я проверяю Logcat, он регистрирует, что запрос не выполнен для первой ошибки. Затем я получил еще одну ошибку «URLFetcher» в качестве тега, и он говорит URL-адрес загрузки исключения http://api.wolframalpha.com/v2/query?appid=XXX&input=pi&format=PLAINTEXT&async=false&reinterpret=true Затем еще один и последний ТЕГ ошибки: EGL_genymotion говорит, что eglSurfaceAttrib не реализован. Я надеюсь, что я был достаточно ясен, я уже проверил запрошенный URL-адрес, который возвращает файл xml, поэтому я должен просто использовать XmlPullParser для его анализа, кроме использования по умолчанию в библиотеке Wolframe. Извините, если мой код не профессиональный, я все еще работаю над собой (сделаю рефакторинг) :). Спасибо.


person Yassine    schedule 22.03.2014    source источник


Ответы (1)


я нашел, почему он выдавал исключение, оказалось, что проблема была в версии Android, для которой я компилирую. мне нужно было просто добавить эти строки, и он отлично работает.

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder() .detectAll().penaltyLog().build(); 
    StrictMode.setThreadPolicy(policy);

Спасибо

person Yassine    schedule 16.04.2014