Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/235.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在android上实现google知识图_Java_Android_Api_Google Maps - Fatal编程技术网

Java 在android上实现google知识图

Java 在android上实现google知识图,java,android,api,google-maps,Java,Android,Api,Google Maps,我已经为Android的谷歌知识图搜索API苦苦挣扎了两天,根据Google的说法,我所要做的就是下载Google知识图搜索APIzip并将其导入到我的项目中,但对于Android,我建议使用Google Play Services API,正如这里所解释的developers.Google.com/API client library/java/Google API java client/setup#Android(对于这个链接很抱歉,因为统计数据太低,我不允许发布超过2个链接,所以我临时制

我已经为Android的
谷歌知识图搜索API
苦苦挣扎了两天,根据Google的说法,我所要做的就是下载
Google知识图搜索API
zip并将其导入到我的项目中,但对于Android,我建议使用
Google Play Services API
,正如这里所解释的
developers.Google.com/API client library/java/Google API java client/setup#Android
(对于这个链接很抱歉,因为统计数据太低,我不允许发布超过2个链接,所以我临时制作了),然后提供了一段java代码,可以用来查询
API
,下面是代码

private void doSearch() {


System.out.println("search started");
Properties properties = new Properties();

try

{
    properties.load(new FileInputStream("kgsearch.properties"));
    HttpTransport httpTransport = new NetHttpTransport();
    HttpRequestFactory requestFactory = httpTransport.createRequestFactory();
    JSONParser parser = new JSONParser();
    GenericUrl url = new GenericUrl("https://kgsearch.googleapis.com/v1/entities:search");
    url.put("query", "Taylor Swift");
    url.put("limit", "10");
    url.put("indent", "true");
    url.put("key", properties.get(ConstantsUtil.GOOGLE_API_KEY));
    HttpRequest request = requestFactory.buildGetRequest(url);
    HttpResponse httpResponse = request.execute();
    JSONObject response = (JSONObject) parser.parse(httpResponse.parseAsString());
    JSONArray elements = (JSONArray) response.get("itemListElement");

    for(int i = 0; i < elements.length(); i++)
    {
        System.out.println(JsonPath.read(elements.getJSONObject(i), "$.result.name").toString());
    }

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

System.out.println("search ended");
}
private void doSearch(){
System.out.println(“搜索已启动”);
属性=新属性();
尝试
{
加载(新文件输入流(“kgsearch.properties”);
HttpTransport HttpTransport=新的NetHttpTransport();
HttpRequestFactory requestFactory=httpTransport.createRequestFactory();
JSONParser=新的JSONParser();
GenericUrl url=新的GenericUrl(“https://kgsearch.googleapis.com/v1/entities:search");
url.put(“查询”、“泰勒•斯威夫特”);
url.put(“限制”、“10”);
url.put(“缩进”、“真”);
put(“key”,properties.get(ConstantsUtil.GOOGLE_-API_-key));
HttpRequest请求=requestFactory.buildGetRequest(url);
HttpResponse HttpResponse=request.execute();
JSONObject响应=(JSONObject)parser.parse(httpResponse.parseAsString());
JSONArray元素=(JSONArray)response.get(“itemListElement”);
对于(int i=0;i

但这段代码不完整,当我运行它时,它会抱怨缺少文件
kgsearch
java.io.FileNotFoundException:/kgsearch.properties:open failed:enoint(没有这样的文件或目录)
但我的问题是如何修复它?有没有人使用过
谷歌知识图API
和我可以使用的更有效的示例代码?如果有,请提供帮助。

您似乎被
属性
对象挂断了。如果您查看示例代码,它所做的只是加载到谷歌AP中如果
Properties
对象在其他地方被引用,我将查看需要设置什么才能使其余代码正常工作

您应该尝试在那里硬编码您的GOOGLE_API_密钥字符串,看看这是否就是所需的全部


很可能示例代码试图展示一种正确的方法来处理存储在属性文件中作为条目的API_键。

这是一个基本的Java编程问题。我恭敬地建议,更多地讨论一下您的目标,可以找到一个更有用的答案。我的意思是,当我说“是否有可用的示例代码"对于Google来说,这是一个比Stack更重要的问题。@DaveKaye我在问以前使用过它的人以及他们是如何使用它的,我知道这是一个基本的java问题,我可以很容易地创建文件,但我不知道什么时候创建它,如果我每次都要创建它,我想执行搜索,最重要的是文件包含什么,你会更有帮助帮助一个兄弟,我已经给出了链接,显示了我对这个主题的研究程度,试图理解它,这不像我不做我的工作就去问research@ChromeLanta-看看示例代码,它在哪里使用Properties对象?示例代码如何使用它?在第一个链接示例中,它似乎只是加载API_键,在least尝试硬编码API密钥字符串作为替换,看看会发生什么。@MorrisonChang我只是从自己的观察中发现了这一点,但没有认真对待,但现在你提到了它,让我试试。@MorrisonChang感谢它的工作,你应该把它作为一个答案发布,事实上你应该这样做