2016-06-08 10 views
-1

Bitte kann mir jemand bei der Entwicklung von Android-Anwendung helfen, die Google-Suche im Hintergrund integriert.Android-Anwendung Google-Suche

Ich bin ein Neuling und ich versuche, eine Android-Anwendung zu entwerfen, um Verbrechen in meinem Land automatisch zu verfolgen. Jemand hat mir gesagt, dass ich die Google Custom Search in meiner Anwendung verwenden soll. Ich habe den API-Schlüssel und die Suchmaschinen-ID erhalten, aber ich habe keine Ahnung, wie ich es umsetzen kann, um die gewünschten Ergebnisse zu erzielen.

Ich habe überall im Internet gesucht, aber ohne Erfolg. Sie reden nur über Google Maps und andere, die ich nicht auf mein Problem beziehen kann.

Jeder Beispielcode wird gerne angenommen. Danke

Antwort

0

Ich habe einige Code, den ich für die Suche nach Bildern auch mit der Google-Suchmaschine verwendet, sollte es zumindest geben Sie eine Idee, was Sie suchen.

dies sind die wichtigsten Einfuhren I verwendet

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

und dies ist die Methode, die die Suchmaschine verwendet

public List<Result> getSearchResult(String keyword){ 
    // Set up the HTTP transport and JSON factory 
    HttpTransport httpTransport = new NetHttpTransport(); 
    JsonFactory jsonFactory = new JacksonFactory(); 
    //HttpRequestInitializer initializer = (HttpRequestInitializer)new CommonGoogleClientRequestInitializer(API_KEY); 
    Customsearch customsearch = new Customsearch.Builder(
       new NetHttpTransport(), 
       new JacksonFactory(), 
       null) 
      .setApplicationName("RandomImage") 
      .build(); 

    List<Result> resultList = null; 
    try { 
     Customsearch.Cse.List list = customsearch.cse().list(keyword); 
     list.setKey(API_KEY); 
     list.setCx(SEARCH_ENGINE_ID); 
     list.setSafe("off"); 
     list.setSearchType("image"); 
     list.setImgSize("medium"); 
     list.setNum(3L); 

     Search results = list.execute(); 
     resultList = results.getItems(); 

    }catch (Exception e) { 
     e.printStackTrace(); 
    } 

    if (resultList == null) { 
     return new ArrayList<Result>(); 
    } else { 
     return resultList; 
    } 
} 

ich die Dokumentation ist verwirrend erinnere mich, als ich das tat, aber zumindest diese hat für mich funktioniert.

Manifest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.stochastic.randomimage" > 

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

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.stochastic.randomimage.MainActivity" 
      android:label="Random Image" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Layout-

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> 

    <ImageView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@+id/imageView" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 

</RelativeLayout> 
+0

bitte kann zeigen Sie mir die Manifest-Datei und das Layout XML-Datei. Vielen Dank im Voraus Edwin –

+0

Es gibt nichts besonderes auf dem Manifest oder Layout, aber da sind sie – Edwin