Member 10850253 Ответов: 4

Как сделать поиск в интернете


Я хочу найти текст на определенном веб-сайте в интернете.
Я пробовал action_view intent, но, похоже, не могу заставить его искать то слово, которое я ищу.
Я использовал:
Intent openHashURLinBrowser = new Intent(Intent.ACTION_VIEW,Uri.parse("google"));
openHashURLinBrowser.putExtra(SearchManager.QUERY,"laptop");


Может кто-нибудь, пожалуйста, помочь мне заставить это работать?
любая помощь будет очень признательна.

Что я уже пробовал:

Intent openHashURLinBrowser = новое намерение(Intent.ACTION_WEB_SEARCH,Ури.разобрать("google.com"));
openHashURLinBrowser. putExtra(SearchManager.Запрос, " ноутбуки");

Richard MacCutchan

Две строки кода не объясняют, что не работает.

4 Ответов

Рейтинг:
2

Dave Kreskowiak

Вы не можете использовать Google так, как вы смотрите. Это запрещено условиями предоставления услуг Google.

Вы должны использовать их Пользовательский API поисковой системы[^], и это не бесплатно. Не очевидно, как его настроить, потому что в документации постоянно упоминается "поиск по вашему сайту", но это можно сделать. Видеть этот[^] за то, как.


Рейтинг:
16

Member 10850253

Как настроить приложение на использование Google api, чтобы сделать возможным поиск по сайту?
Я посмотрел на ссылку, которую вы дали, но она не показывает, как настроить ее в Andoid studio.


Рейтинг:
0

Member 10850253

У меня есть приложение google image search в android studio. Он может искать изображение в google, используя поиск изображений. Я узнал, что если я добавлю "sites:ebay.com,amazon.com", поиск Google, изображения в этих сайтах, поэтому я хочу, чтобы добавить эту строку в поиск по картинкам, так что Google возвращает результаты, что изображение с этих 2 сайтов.
Это код, который у меня есть для поиска изображений:

public class SearchGoogleIntentActivity extends ActionBarActivity
{
    private  DisplayImageOptions options = null;
    private  ImageLoader imageLoader = null;
    // Asynchronous task for fetching Google hash of image
    class GoogleImageHashJob extends AsyncTask<Bitmap, Void, Integer>
    {
        @Override
        protected Integer doInBackground(Bitmap[] bitmap)
        {
            try
            {
                // Send bitmap to google hash server
                String hash = GoogleImageHash.hashFromBitmap(bitmap[0]);

                // Send hash link to browser
                Intent openHashURLinBrowser = new Intent(Intent.ACTION_VIEW);
                openHashURLinBrowser.setData(Uri.parse(hash+"Sites:ebay.com,amazon.com"));

                startActivityForResult(openHashURLinBrowser, 0);
            }
            catch (IOException e)
            {
                e.printStackTrace();
            }

            return 0;
        }

        // Close splash screen after hash has been fetched and browser intent sent
        @Override
        protected void onPostExecute(Integer result)
        {
            if (result == 0)
                SearchGoogleIntentActivity.this.finish();
        }
    }

    // Load splash screen
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        // Setup activity
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_reverse_image_search_google);

        // Load intent
        Intent intent = getIntent();
        Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);

//        Toast.makeText(this, imageUri.toString(), Toast.LENGTH_LONG).show();

        // Load image

        ImageView imageView = (ImageView) findViewById(R.id.imageView);

        imageLoader = ImageLoader.getInstance();
        ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(this));

        options = new DisplayImageOptions.Builder()
                .cacheInMemory(true)
                .cacheOnDisk(true)
                .considerExifParams(true)
                .bitmapConfig(Bitmap.Config.RGB_565)
                .build();
        imageLoader.displayImage(imageUri.toString(), imageView, options, null);


        Bitmap bitmap = ImageLoader.getInstance().loadImageSync(imageUri.toString());
//        imageView.setImageBitmap(bitmap);

        // Run hash job
        GoogleImageHashJob job = new GoogleImageHashJob();
        job.execute(bitmap);
    }

/*
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_reverse_image_search_google, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
    */

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);


    }
}


Дело в том, что даже несмотря на то, что я добавил эту строку после хэша в uri parse, я получаю только результаты поиска изображений от google и никаких результатов от добавленных мной сайтов.
Может кто-то пожалуйста, помогите мне?
Спасибо.


Рейтинг:
0

Member 10850253

После того как я добавил api поиска google, могу ли я добавить сайты программно? Если да, то скажите, пожалуйста, как.
Спасибо.