Kotlinで制作している、GoogleMapを使った、自作のゴミ拾いアプリ。制作6日目。
これまでの経過
1日目:Android Studio + Kotlin で開発環境作成。GoogleMapAPIアクセスキー取得。エミュで動作。
2日目:地図にマーカー表示・カスタム方法。マップ表示形式の変更。
3日目:現在地を取得し、地図上に表示。クリックイベント。
4日目:移動する際にマップがスクロールしなかった問題を修正。
5日目:volleyを使いGETリクエスト送信と、サーバー側で受信+記録。
今日やった事
・LocalDateで、現在の日時を取得
・ボタンにアイコン画像を付ける
・サーバー側でBASIC認証を設定
・クライアント側はVolleyでBASIC認証
LocalDateで、現在の日時を取得
参考サイト
val current = LocalDateTime.now()
val date_time = current.format( DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") )
ボタンにアイコン画像を付ける
以下のサイトを参考にactivity_maps.xmlを変更
ButtonをImageButtonに変更。
setOnClickListenerの方も、ButtonをImageButtonに変更。
サーバー側でBASIC認証を設定
ディレクトリに「.htaccess」と「.htpasswd」を作成・編集
AuthUserFile /home/users/2/xxxxxxxx/web/.htpasswd
AuthGroupFile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user
id:pass
VolleyでBASIC認証
今日は、ここで少しハマりました…。
具体的には、getHeadersをオーバーライドすればいいようです。
@Throws(AuthFailureError::class)
override fun getHeaders(): Map<String, String> {
val params = HashMap<String, String>()
val creds = String.format("%s:%s", "ユーザーID", "パスワード")
val auth = "Basic " + Base64.encodeToString(creds.toByteArray(), Base64.DEFAULT)
params["Authorization"] = auth
return params
}
参考サイト:
ベーシック認証が出来るようになったところで、今日はここまで。