Проблемы с подключением jsoup с приложением Android - PullRequest
0 голосов
/ 07 мая 2020

Итак, я использую Jsoup для своего проекта. Бэкэнд-код работает нормально в меню вывода, но когда я пытаюсь поместить его в студию android, он не работает. Я импортировал библиотеки идеально и без ошибок в коде. Я также дал доступ к inte rnet, используя

<uses-permission android:name="android.permission.INTERNET" />

, поэтому я подумал о создании нового мини-проекта. Итак, теперь мой код выглядит как

'''
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class MainActivity extends AppCompatActivity {

    public Button button;
    public TextView textview;
    public EditText edittext;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textview = (TextView) findViewById(R.id.textView);
        button = (Button) findViewById(R.id.button);
        edittext = (EditText) findViewById(R.id.editText);

        View.OnClickListener search = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    Document doc = Jsoup.connect("https://www.flipkart.com").get();
                    String title = doc.text();
                    textview.append(title);

                } catch (Exception e){

                }
            }
        };
        button.setOnClickListener(search);
    }
} '''

Но в текстовом представлении ничего не печатается. Скажите, пожалуйста, ошибку.

1 Ответ

0 голосов
/ 08 мая 2020

Можете ли вы попробовать это:

Executor mExecutor  = Executors.newSingleThreadExecutor();

Tasks.call(mExecutor, new Callable<String>() {
     @Override
     public String call() throws Exception {
         Document doc = Jsoup.connect("https://www.flipkart.com").get();
         String title = doc.text();
         return title;
     }
}).continueWith(new Continuation<String, Object>() {

     @Override
     public Object then(@NonNull Task<String> task) throws Exception {
         textview.append( task.getResult());
         return null;
     }
});

Использование Executors.newSingleThreadExecutor (), с другой стороны, позволяет вам отправлять несколько задач.

...