从android中的公司网址获取徽标

时间:2017-04-25 11:22:22

标签: android

我的问题陈述是从公司网站上获取公司徽标。我将输入作为公司网站的网址。我们如何从中获取公司徽标。我需要在Android App中实现它。 例如,我有一个带按钮的Edittextbox。当用户在edittextbox中输入文本时,即公司的网址,例如www.google.com。当用户点击搜索时,我需要显示公司徽标,即谷歌。我怎么能在android

中实现这个目标

4 个答案:

答案 0 :(得分:2)

使用Glide:

// app build.gradle

 compile 'com.github.bumptech.glide:glide:3.7.0'

  Glide.with(this)
        .load(yourEdittext.getText().toString) //Edit
        .diskCacheStrategy(DiskCacheStrategy.ALL)
        .signature(new StringSignature(UUID.randomUUID().toString())) //use this 
        .into(imgView);

答案 1 :(得分:0)

使用Android的picasso或glide库。

答案 2 :(得分:0)

仅使用域名网址无法做到这一点。你需要一个特定的url图像库,如毕加索或滑翔等工作。因为每个站点都有不同的html代码,你必须首先在html中找到徽标,这是不可能的,因为不是每个站点都是相同的。如果您知道公司的图片网址,只需使用该网址并按照建议使用图书馆。

答案 3 :(得分:0)

所以这就是我试图获取徽标。我使用JSoup库来读取html页面源代码。 在那里我调用了html的链接元素。在获取了所有链接元素后,我检查了图标。从那里我得到了徽标的href,在获得源代码后,我完成了我的徽标查找。

        import android.app.ProgressDialog;
        import android.os.AsyncTask;
        import android.support.v7.app.AppCompatActivity;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;
        import android.widget.EditText;
        import android.widget.ImageView;
        import android.widget.TextView;

        import com.squareup.picasso.Picasso;

        import org.jsoup.Jsoup;
        import org.jsoup.nodes.Document;
        import org.jsoup.nodes.Element;
        import org.jsoup.select.Elements;

        import java.io.IOException;

       public class MainActivity extends AppCompatActivity {
     String url="";
    EditText editText;
    ImageView imageView;
    Button button;
    TextView textView;
    ProgressDialog mProgressDialog;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editText=(EditText) findViewById(R.id.editText);

        imageView=(ImageView)findViewById(R.id.imageView);
        button=(Button)findViewById(R.id.button);
        textView=(TextView)findViewById(R.id.textView);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(editText.getText().toString()!=null && !editText.getText().toString().isEmpty())
                {
                    String temp=editText.getText().toString();
                    if(temp!=null && !temp.isEmpty())
                    {
                        String divide[]=temp.split("\\.");
                        url="http://www."+divide[divide.length-2]+"."+divide[divide.length-1];
                    }
                }
               new Title().execute();

            }
        });

    }

    private class Title extends AsyncTask<Void, Void, Void> {
        String title;

        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            mProgressDialog = new ProgressDialog(MainActivity.this);
            mProgressDialog.setTitle("Android Basic JSoup Tutorial");
            mProgressDialog.setMessage("Loading...");
            mProgressDialog.setIndeterminate(false);
            mProgressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {
            try {
                // Connect to the web site
                if(url!=null && !url.isEmpty()) {
                    Document document = Jsoup.connect(url).get();
                    // Get the html document title
                    Elements description = document.select("link");
                    title = description.attr("href");
                    for (Element metaElem : description) {
                        String name = metaElem.attr("rel");
                        if (name.contains("icon")) {
                            title = metaElem.attr("href");
                            break;
                        }
                    }
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            // Set title into TextView
            //TextView txttitle = (TextView) findViewById(R.id.titletxt);
            textView.setText(title);
            String imageURL=textView.getText().toString();
            if(!textView.getText().toString().contains("http"))
            {
                String c=imageURL;
                c=c.substring(0,1);
                if(!c.equals("/"))
                {
                  imageURL=url+"/"+imageURL;
                }
                else
                {
                    imageURL=url+imageURL;
                }
            }
            Picasso.with(MainActivity.this)
                    .load(imageURL)
                    .error(R.drawable.down_arrow)
                    .into(imageView);
                    //this is optional the image to display while the url image is downloading
            //this is also optional if some error has occurred in downloading the image this image would be displayed

            mProgressDialog.dismiss();
        }
    }
}