こんばんは、
私は、Google Places(tm) API を使用してローカルの関心のある場所 (レストランやホテルなど) を特定する単純な Android(tm) アプリケーションを実装しようとしていますが、実際に取得する方法を決定するのに非常に苦労しています。始めました。
私がすでに採用しているリソースは次のとおりです。
- Brain Buikema が主催する Android(tm) 開発ブログ
-非同期タスクに関する Android(tm) 開発者向けドキュメント
- 同様の状況にある個人からのその他のさまざまなスタック オーバーフローの投稿
私のような状況にある人がこの投稿を簡単に見つけて、非常に洞察に満ちたリソースに転送されるように、何らかのガイダンスを望んでいました.
さらに、Google 検索を使用してリソースを見つけるのはやや非効率的だと思います。プログラマーが頻繁に利用していて、私が気付いていない他のデータベースはありますか? おすすめの文献は?
TL;DR...
- Places API の使用、JSON オブジェクトの操作、および Android(tm) プラットフォームでのネットワーキングに関する決定的なガイドを探しています。
-他の人が過去に見つけた有用な情報源にリダイレクトされることを望んでいました.
-コンテキストを提供するために、以下に Main.java ファイルを含めました-答えを探しているわけではありません:)
Places API 機能を実装する Main.java クラスのコード:
Button food = (Button) findViewById(R.id.button14);
food.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
type = "restaurant";
//Constructs the urlString
if(useCurr)
urlString = stringConstructor(myKey, lat, lon, radius, sensor, type);
else
{
//Here, you must update the lat and lon values according to the location input by the user
urlString = stringConstructor(myKey, lat, lon, radius, sensor, type);
}
//DO HTTPS REQUEST HERE
urlString = "https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AIzaSyAp24M3GU9V3kWrrezye8CyUrhtpToUhrs";
Results res = new Results();
JSONArray json = res.doInBackground(urlString);
System.out.println(json);
}
});
非同期タスクを処理する Result クラスのコード:
private class Results extends AsyncTask<String, Integer, JSONArray>
{
protected JSONArray doInBackground(String...params)
{
JSONArray output = null;
try
{
try
{
url = new URL(params[0]);
}
catch(MalformedURLException e)
{
System.out.println("URL formed incorrectly! (" + e + ")");
}
output = (JSONArray) url.getContent();
}
catch(Exception e)
{
System.out.println("Exception: " + e);
}
return output;
}
}
現在、エミュレーターで [Food] ボタン (上記) をクリックするたびに android.os.NetworkOnMainThreatException を受け取ります。
どんなアドバイスでも大歓迎です。私は Android プラットフォーム上で本当に強固な基盤を構築しようとしています。