Google Custom Search API для Android, класс не найден

1

Мне нужно искать google и возвращать результаты, используя мое приложение для Android. Я попытался использовать API пользовательского поиска Google. Он отлично работал в java на моем рабочем столе. Но тот же код дает

09-07 02: 03: 25.101: E/dalvikvm (959): Не удалось найти класс "com.google.api.services.customsearch.Customsearch", на который ссылается метод

ошибка в LogCat. Но я включил класс в путь сборки. Может кто-нибудь предложить способ преодоления этого. Я включил свой полный код ниже

package customSearchAPI.searchTest;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;


import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson.JacksonFactory;
import com.google.api.services.customsearch.Customsearch;
import com.google.api.services.customsearch.model.Result;
import com.google.api.services.customsearch.model.Search;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class CustomSearchActivity extends Activity implements OnClickListener{

    /** Called when the activity is first created. */
    ListView display;
    ArrayList<String> links=new ArrayList<String>();
    Button searchButton;
    TextView searchBox,output;
    ListAdapter adapter;
    WebView webPage;
    final static  String searchURL = "https://www.googleapis.com/customsearch/v1?";
    // This is Important : 

    final static String apiKey = "My API key";
    final static String customSearchEngineKey = "My cx id";

    public String makeSearchString(String qSearch){
        String toSearch = searchURL + "key=" + apiKey + "&cx=" + customSearchEngineKey;
        toSearch += "&q=" + qSearch + "&alt=json";
        return toSearch;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        searchBox=(TextView)findViewById(R.id.editText1);
        searchButton=(Button)findViewById(R.id.button1);
        //display=(ListView)findViewById(R.id.listView1);
        webPage=(WebView)findViewById(R.id.webView1);
        output=(TextView)findViewById(R.id.editText2);
    }

    public void onClick(View v) {
        // TODO Auto-generated method stub
        Customsearch customsearch = new Customsearch(new NetHttpTransport(), new JacksonFactory());

        try {
            com.google.api.services.customsearch.Customsearch.Cse.List list =   customsearch.cse().list(searchBox.getText().toString());
            list.setKey("my api key");
            list.setCx("my cx id ");
            Search results = list.execute();
            List<Result> items = results.getItems();


            for(Result result:items)
            {
                //System.out.println("Title:"+result.getHtmlTitle());
                links.add(result.getHtmlTitle());
            }
            webPage.loadUrl(items.get(0).getLink());
            display.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,links));

        } catch (IOException e) {
            // TODO Auto-generated catch block
            searchBox.setText("Error"+e.getMessage());
        }

    }

}
Теги:
google-custom-search
buildpath

1 ответ

4

Вы должны включить

  1. не только для того, чтобы строить путь, но и для развертывания.
  2. не только один класс, но и целая библиотека.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню