Java 在Google Glass上获取网站数据

Java 在Google Glass上获取网站数据,java,json,parsing,google-glass,Java,Json,Parsing,Google Glass,我还在学习如何从网站中提取数据,我真的希望我能得到一些适合初学者的好答案。无论如何,我的目标是在我的应用程序的后台提取数据(不打开并在我的应用程序中显示)。这样做的目的是将数据存储起来供以后使用。 我使用的API有两个GetMethods: GetProductJSON(具有JSON响应)和GetProduct(具有逗号分隔值(CSV)响应) 以下是JSON响应网站的一个示例: {"0":{"productname":"Neutrogena Lips Stick 4.8g","imag

我还在学习如何从网站中提取数据,我真的希望我能得到一些适合初学者的好答案。无论如何,我的目标是在我的应用程序的后台提取数据(不打开并在我的应用程序中显示)。这样做的目的是将数据存储起来供以后使用。 我使用的API有两个GetMethods: GetProductJSON(具有JSON响应)和GetProduct(具有逗号分隔值(CSV)响应) 以下是JSON响应网站的一个示例:

     {"0":{"productname":"Neutrogena Lips Stick 4.8g","imageurl":"http://ecx.images-  amazon.com/images/I/31E1ct854gL._SL160_.jpg","producturl":"","price":"5.65","currency":"USD","saleprice":"","storename":"N/A"}}
    url = url.replace("{CODE}", codeValue);

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse(url));
    cardPresenter.setPendingIntent(createPendingIntent(getContext(), intent));
逗号分隔值响应如下所示:

     "productname","imageurl","producturl","price","currency","saleprice","storename"
     "Neutrogena Lips Stick 4.8g","http://ecx.images-amazon.com/images/I/31E1ct854gL._SL160_.jpg","","5.65","USD","","N/A"
以下是我对该网站的称呼:

     {"0":{"productname":"Neutrogena Lips Stick 4.8g","imageurl":"http://ecx.images-  amazon.com/images/I/31E1ct854gL._SL160_.jpg","producturl":"","price":"5.65","currency":"USD","saleprice":"","storename":"N/A"}}
    url = url.replace("{CODE}", codeValue);

    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse(url));
    cardPresenter.setPendingIntent(createPendingIntent(getContext(), intent));

关于如何将此作为后台任务以及如何实际获取java数据以便我可以在Livecard上使用它们的任何建议。

使用GDK,您至少有以下选择:1)创建异步任务;或者2)创建一个您定期分配任务的私有服务。

在Android应用程序中,您需要做的第一件事是在您的
AndroidManifest.xml文件中添加访问Internet的权限。将此标记添加为
的同级


这是另一篇关于异步任务概念的文章。

首先,您需要访问Internet。将以下权限包括到您的AndroidManifest.xml中:

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

希望有帮助。

< P>尽管你似乎在指示你正在使用GDK,但是你可能想通过镜像API来考虑服务器推送。由于您无论如何都需要通过网络获取信息,因此您正在失去GDK提供的许多优势

使用镜像API,您将使用创建的卡创建一个新的时间线项目,并保存该卡的id。您可能希望给您的用户一个选项来锁定卡片,以便将其放置在时间线的“现在”区域中

更新时,您可以使用新信息拨打电话


请记住,您确实需要定期更新该卡,否则它可能会在七天不活动后从时间线或固定区域脱落。

您使用的是Glass Mirror API还是GDK?
import android.os.AsyncTask;

public class RetrieveData extends AsyncTask<String, String, String> {
    @Override
    protected String doInBackground(String... resource) {
        String data;
        try {
            URL url = new URL(resource[0]);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            InputStream in = new BufferedInputStream(connection.getInputStream());
            data = convertStreamToString(in);
            in.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }

    private String convertStreamToString(InputStream in) {
        Scanner s = new Scanner(in);
        return s.useDelimiter("\\A").hasNext() ? s.next() : "";
    }
}
String retrievedData;
try {
    retrievedData = new RetrieveData().execute("http://www.example.com/GetProductJSON").get();
} catch (Exception e) {
    e.printStackTrace();
}
// Process data