雑食プログラミング備忘録

カテゴリ: プログラミング

AutoLayoutを使っているとLandscapeとPortraitでレイアウトを分けたくなることがある。
例えばこのような感じだ。
LandscapePortrait_02


LandscapePortrait_01
Landscapeの時はMenuが画面の左側に配置され、Portraitの時はMenuが上側に配置される。
これをAutoLayoutで実現する方法を見ていく。
 続きを読む

去年(2016年)にこんな話題が一部で盛り上がった。

ネイティブ アプリの OAuth インタラクションを最新にしてユーザビリティとセキュリティを向上する - Google Developers Japan

要は今までのやり方である「WebViewでGoogleの認証を行う」というのが2017年4月20日以降は使えなくなるというものだ。
これは開発者にとって地味に困ったことだ。
以前に実装したものが動かなくなるし、新しい実装を行うにも工数がかかる。

以前作成したサンプルアプリを動かしてみるとこのようになった。
GoogleSignIn_ss01
確かに以前のやり方は使えなくなる旨の注意が表示されている。
では、どういうやり方に変えればいいか。
Google Sign-Inを使えばいいとのことだ。
今回はGoogle Sign-Inを使ってカレンダーの情報を取得するやり方に迫る。
使用しているXcodeのバージョンは8.0だ。
 続きを読む

デバッグ時とリリース時で処理を分けたくなる場合はよくある。
例えば、このように何らかの情報をデバッグ時のみ出力する場合等だ。
しかし、ググってみればわかるが、実行時にはこのBuildConfig.DEBUGはtrueになってくれない。

そこで、それを有効にするためにbuild.gradleのdependenciesに
releaseCompile project(path: ':library', configuration: 'release')
のように記述すれば良いと書いてあるサイトがたくさん見つかる。

しかし、私の環境では以下のようなエラーが出てしまい解決できなかった。
Error:(24, 0) Project with path ':library' could not be found in project ':app'.
なので、別の方法を模索してみる。
 続きを読む

画像をタイル状に設置するにあたってまず思いつくのはxmlで定義してしまうことだろう。
例えばこのように定義し

レイアウトエディタでこのように定義する。

これを実行するとこのようになる。
tile_ss1
では、横だけ繰り返したい場合はどうすればいいのか。
これから見ていこう。
 続きを読む

このページのトップヘ