Archive for the ‘Android apps’ Category
Android – 画面が暗くなるのを防ぐ
2020年2月26日HttpURLConnection で FileNotFoundException
2018年11月26日サーバーがエラーを返した場合は
FileNotFoundException
になるらしい。
https://developer.android.com/reference/java/net/HttpURLConnection#getErrorStream()
package android.support.v4.app does not exist
2018年10月11日古いプロジェクトを開いたらこのエラーが出た。
上記リンクを参照し
app -> Open module settings を開いて
Dependency タブを開き、 “+”をクリック, “com.android.support:support-v4:22.2.1″を選んで OK
Could not find com.android.tools.build:aapt2:3.2.0-4818971
2018年10月11日古いプロジェクトを久しぶりに開いてみたらこのエラーが出た。
https://stackoverflow.com/questions/52541525/android-studio-3-2-could-not-find-com-android-tools-buildaapt23-2-0-4818971/52542837#52542837
上記のリンクを参照し、build.gradle の allprojects.repositories に google() を追加して解消
Cordova の Androidプラグインをビルドした際のエラーについてのメモ
2018年9月17日Cordova の Androidプラグインをビルドした際のエラーに関するメモ
1.
“Unable to resolve dependency for ‘:@debug/compileClasspath’: Could not resolve project :CordovaLib. Could not resolve project :CordovaLib.”
以下の記事を参照して解消
2.
FAILURE: Build failed with an exception.
* Where:
Build file ‘D:\work\cordova\helloplugin\platforms\android\build.gradle’ line: 26
* What went wrong:
A problem occurred evaluating root project ‘android’.
> Could not find method google() for arguments [] on repository container.
このエラーはAndroidStudioではGradleのバージョンを4.4に変えると収まるが、Cordobaコマンドでプラグインを削除して追加すると元に戻ってしまう。
以下のリンクを参照して解消
https://stackoverflow.com/questions/37125496/cordova-build-changes-distributionurl-in-gradle-wrapper-properties-file
Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
2018年8月29日外部のjarファイルを組み込もうとしたらこんなエラーが
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html
上記のリンクを参照し、minSdkVersion を 21 以上にして、multiDexEnabled を true に設定することで解決
プッシュ通知
2018年8月16日Google Cloud Messaging (GCM)
http://developer.android.com/google/gcm/gcm.html
AndroidStudio 外部ライブラリ(JAR)を追加する
2018年8月16日1.プロジェクトに「Module」としてJARファイルを追加
2.Open Module Settings を開いて Dependency > 「+」(追加)> Module dependency から上記のJARファイルを洗濯
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 にセットすると、無事にマップが表示されました。
右上のボタンにタッチすると現在位置に移動します。(真ん中の青い点)
次は最初に現在位置を取得して表示できるようにしてみます。

