Archive for the ‘Dev’ Category

グーグルスプレッドシートの一覧を取得する

2018年8月17日

Google Sheets APIには、シートの一覧を取得するメソッドはないようです。
代わりにGoogle Drive APIでFiles.List()で取得したFileResource.ListRequestのQに
“mimeType=’application/vnd.google-apps.spreadsheet'”
を設定し、Execute()することでシートの一覧を取得できます。

 

参照

https://developers.google.com/drive/api/v3/reference/files/list
https://github.com/google/google-api-dotnet-client-samples/blob/master/Drive.Sample

アマゾン Product Advertising API の403エラー

2018年8月16日

URLエンコードが小文字だと403エラーになってしまうようです。

以下の記事を参照して、URLエンコードを大文字に変えたらエラーは収まりました。

https://stackoverflow.com/questions/918019/net-urlencode-lowercase-problem

 

プッシュ通知

2018年8月16日

Google Cloud Messaging (GCM)
http://developer.android.com/google/gcm/gcm.html

Camera (iOS)

2018年8月16日

https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/CameraAndPhotoLib_TopicsForIOS/Introduction/Introduction.html

AndroidStudio 外部ライブラリ(JAR)を追加する

2018年8月16日

1.プロジェクトに「Module」としてJARファイルを追加
2.Open Module Settings を開いて Dependency > 「+」(追加)> Module dependency から上記のJARファイルを洗濯

Visual Studio 2015 Community editon で LightSwitchを使うには

2018年8月16日

Microsoft Office Developer Tools for Visual Studio 2015をインストールする必要がある。

iOS – UIToolBar のボタンを右寄せにする

2018年8月16日

ボタンの左にUIBarButtonItemFlexibleSpace(左右外向き矢印)を追加する

MKMapView (iOS) のメモ

2015年5月31日

以下のページに詳しく説明してあるので、その通りにやれば問題ないはず。

About Location Services and Maps
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/Introduction/Introduction.html

Getting the User’s Location
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW1

MapKit.Framework はMapKitViewを追加したら勝手に追加されてた気がしますが、またはProject>Capabilitiesからも追加できます。
CoreLocation.Framework はProject>Build Phases から追加

 

ただし、現在位置に移動しようとしたら以下のエラーがでるかもしれません。

Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.

そのときは Info.plist に以下のエントリを追加します。

   <key>NSLocationAlwaysUsageDescription</key>

    <string>Please allow this app to access your location.</string>

    <key>NSLocationWhenInUseUsageDescription</key>

    <string>Please allow this app to access your location.</string>

FusedLocationApiで現在位置を取得(Android)

2015年5月17日

GoogleMap.OnMyLocationChangeListener なるものを使おうと思ったのですが、APIのドキュメントを見ると 、このInterfaceは”Deprecated” なので FusedLocationApi を使うように、と書いてあり、素直に従うことにします。

FusedLocationApi を利用するために、まずGoogleApiClientを作成します。

mClient = new GoogleApiClient.Builder(this)
.addApi(LocationServices.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
mClient.connect();

この例では、呼び出し元クラスにGoogleApiClient.ConnectionCallbacksとGoogleApiClient.OnConnectionFailedListenerを実装し、Connectionの成否をコールバックで受け取るようにしています。GoogleApiClientのConnectが成功したら、FusedLocationApi.requestLocationUpdates() をコールします。Updateされた情報を受け取るために、呼び出し元クラスにLocationListener も実装しておきます。

//GoogleApiClient.ConnectionCallbacks
public void onConnected (Bundle connectionHint)
{
LocationServices.FusedLocationApi.requestLocationUpdates(mClient, LocationRequest.create(), this);
}

位置情報が更新されるとLocationListener.onLocationChanged() が呼び出されるので、そこで位置情報を取得します。下の例では、この位置情報を元にGoogleMapの表示位置を移動させています。

//LocationListener
public void onLocationChanged (Location location)
{
LatLng ll = new LatLng(location.getLatitude(), location.getLongitude());
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(ll, 13));

}

参照リンク
Receiving Location Updates
Making Your App Location-Aware

GoogleMapを使う(Android)

2015年5月12日

GoogleMapを使うアプリを作成してみました。

Android StudioのプロジェクトテンプレートにすでにMapアプリが用意されているので、これを使ってみました。しかし、そのまま実行してみると真っ白の画面しか表示されません。

ログをよく見ると以下のエラーがでています。

E/Google Maps Android API﹕ Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).

いろいろ探していると、res/values/google_maps_api.xml というファイルに『Google Maps API keyを取得してセットする必要が有る」旨が書いてありました。そこに書いてあった通りの手順で、Keyは簡単に取得できました。その値を google_maps_api.xml にセットすると、無事にマップが表示されました。

マップの初期画面

マップの初期画面

右上のボタンにタッチすると現在位置に移動します。(真ん中の青い点)

現在位置を表示

現在位置を表示

次は最初に現在位置を取得して表示できるようにしてみます。