允许用户更改 JSOUP URL

Posted

技术标签:

【中文标题】允许用户更改 JSOUP URL【英文标题】:Allow user to change JSOUP URL 【发布时间】:2019-01-18 05:32:17 【问题描述】:

我的目标是让用户能够根据用户输入的信息更改 URL 的结尾。

这是我的 JSOUP 代码。

private void getWebsite() 
    new Thread(new Runnable() 
        @Override
        public void run() 
            final StringBuilder builder = new StringBuilder();
            final StringBuilder builder2 = new StringBuilder();
            final StringBuilder builder3 = new StringBuilder();

            try 
                Document doc = Jsoup.connect("www.randomurl.com").get();
                Elements links = doc.select("div1");
                Elements links2 = doc.select("div2");
                Elements links3 = doc.select("div3");

                for (Element link : links) 
                    builder.append("\n").append(link.text());
                    builder2.append("\n").append(links2.text());
                    builder3.append("\n").append(links3.text());

                
             catch (IOException e) 
                builder.append("Error : ").append(e.getMessage()).append("\n");
            

            runOnUiThread(new Runnable() 
                @Override
                public void run() 
                    result.setText(builder.toString());
                    worth.setText(builder2.toString());
                    price.setText(builder3.toString());
                
            );
        
    ).start();

我的目标是有一个框,用户可以在其中输入信息,并将其应用于 URL 的最后部分。比如这样。

try 
     Document doc = Jsoup.connect("www.randomurl.com/" + *userEnteredStringHere*).get();

任何有关如何完成此任务的见解都很棒!

编辑:-

@Override
public void run() 
    final StringBuilder builder = new StringBuilder();
    final StringBuilder builder2 = new StringBuilder();
    final StringBuilder builder3 = new StringBuilder();
    EditText userInput = findViewById(R.id.userInputWidget);

    try 
        Document doc = Jsoup.connect("www.randomurl.com" + userInput.getText()).get();

【问题讨论】:

【参考方案1】:

这不是一个真正的 Jsoup 问题。 我敢打赌,您的应用程序有一些 GUI,其布局定义为 xml 文件。 它应该包含EditText 小部件,以便用户能够输入文本:

<EditText
    android:id="@+id/userInputWidget"
    android:layout_
    android:layout_
    android:inputType="text"/>

然后你可以在你的代码中访问它:

 EditText userInput = (EditText) findViewById(R.id.userInputWidget);
 userInput.getText();

【讨论】:

这实际上有点工作。谢谢!!我更新了我的问题,用你的答案来展示它。

以上是关于允许用户更改 JSOUP URL的主要内容,如果未能解决你的问题,请参考以下文章

当用户在浏览器选项卡中手动更改 url 时,防止在 React 中路由

如何允许客户端在不更改应用代码的情况下更改 iOS 应用中的 API 基本 URL?

使用Javascript导航,但更改URL

如何在 Django 中使用反向工作来制作 *** 样式的 URL,以允许 slug 更改?

允许用户更改密码的模式。用户是不是必须重复新密码以及输入旧密码?

允许用户在数组函数中更改“5”的值