できたらいいなAndroidアプリ

Androidに限らずいろいろ書いていく。

プログラミングHaskell 第1章 導入

この章は準備体操らしい。Haskellの歴史や関数の説明などが書かれている。

関数型プログラミング言語ってどんなもんなんだろう?と恐る恐る読んでみたが、まだ怖いめにはあってない。

練習問題の解答

1

double (double 2)
  = double (2) + double (2)
  = (2 + 2) + double (2)
  = (2 + 2) + (2 + 2)
  = 4 + 4
  = 8

2

sum [x]
  = sum (x:[])
  = x + sum []
  = x + 0
  = x

3

productの定義

product [] = 1
product (x:xs) = x * product xs

product [2, 3, 4]の計算

product [2, 3, 4]
  = 2 * product [3, 4]
  = 2 * 3 * product [4]
  = 2 * 3 * 4 * product []
  = 2 * 3 * 4 * 1
  = 24

4

問題の意図が「降順ソート」と「リバース」のどちらか分からなかった。

降順

qsortDesc [] = []
qsortDesc (x:xs) =
    qsortDesc larger ++ [x] ++ qsortDesc smaller
    where
    smaller = [a|a <- xs, a <= x]
    larger   = [a|a <- xs, a > x]

リバース

reverse [] = []
reverse (x:xs) = xs ++ [x]

5

xsの中にxと等しい要素x'があった場合、x'はsmallerにもlargerにも含まれない。 そのため、qsortの結果にx'が含まれなくなる。

qsortの定義の「<=」を「<」に変更した関数をqsort'とすると

qsort' [2, 2, 3, 1, 1]
  = qsort' [1, 1] ++ [2] ++ qsort' [3]
  = (qsort' [] ++ [1] ++ qsort' []) ++ [2] ++ qsort' [3]
  = ([] ++ [1] ++ []) ++ [2] + [3]
  = [1, 2, 3]

Haskellはじめました。

しれっと更新

過去の記事やブログタイトルを、まるっと無視してHaskellを勉強します。 勉強の過程を書いていくつもりなのですが、再び三日坊主にならいよう頑張ります。

まずは、『プログラミングHaskell』を読んでいきます。

プログラミングHaskell

プログラミングHaskell

今年の目標

自立と自律

大切ですよね『自立と自律』。私も常日頃から思ってます。

村田製作所 セイサク君の愛される篇 CM - YouTube


The Cubli: a cube that can jump up, balance, and ...

ようするにエンジニアだったら、これくらいの物は作れるようになりましょう。っていう意味ですよね。

あらためて今年の目標

自分でバランスをとって自立するロボットを作ります。

ハードのことは全然分からないけど、ArduinoとかBeagleBoardでモーター制御して、ジャイロ効果の加速度が姿勢制御で回転モーメント的な感じでごにょごにょすれば出来るんでしょ?でもせっかくだからAndroidADKでやってみようかな?

なんて、新年早々聞きかじった単語を並べて意味不明な事を口走って、無謀な目標を立ててしまった感はありますが、1年間頑張ってみようと思います。

 

 

今度つくるアプリ

これ楽しい


Optical illusion #1 (The Spiral) - Life is Good. - YouTube

ぐるぐる回る螺旋を暫く見た後に、景色なんかを見るとぐにゃぐにゃ歪むあれです。

何度やってもちゃんとぐにゃぐにゃするし、お手軽に普段の景色が違って見えるのが楽しいです。私は暇さえあれば、上の動画を見てぐにゃぐにゃしています。

ぐにゃぐにゃを持ち歩きたい

これをアプリ化すれば、いつでもどこでもぐにゃぐにゃ出来きる。電車を待っていても、本を読んでいても、スーパーでお買い物をしていても、そこら中ぐにゃぐにゃです。

ということで、アプリの次回作はこのぐにゃぐにゃアプリにします。

画像を動かす練習

そうは言ってもこれは、画像をぐるぐる回せばいいだけの簡単なお仕事。技術的にはとっても簡単なはずです。

なぜ今更こんな華のないアプリを作ろうと思ったかと言うと、今までお仕事でもプライベートでも、画像を扱った事があまり無かったので、ここらでちゃんとやっておきたいと思ったからです。

使った事は無いですが、画像を動かすには幾つか方法があるはずです。

  • GIF
  • ViewにAnimationを付ける
  • SurfaceView
  • OpenGL

今回はこれらの使い方の勉強としてぐにゃぐにゃアプリを作ってみます。

むかし作ったアプリの紹介

練習で作った地図アプリ

シンプルマップ
kobitokaba
価格:無料  平均評価:3.0(1 件)

1年半前に練習で作った地図アプリです。その名も『シンプルマップ』。正直、実用性はありません。これといった機能もなく、住所で検索が出来るだけの単純な地図アプリです。

このアプリを公開した当時は、LTEもマルチコアCPUも無かったため、Google Mapアプリは重くて使い物にならないという人が結構いました。そんなユーザーにとっては、軽くて必要最低限の機能を持ったこのアプリに少しは需要があるかなと思って作ってみました。

 

ソースはGitHubで公開しています。

nyankyu/SimpleMap · GitHub

 

Blogはじめました。

書く事

Androidアプリの制作過程

趣味でAndroidアプリを作っているので、その制作過程を書く。

勉強した事

アプリ開発やその他で勉強した事を書く。

最近、物忘れが激しい。会話をしていても、つい5分前に話した事を忘れてしまう。そんなわけで、せっかく勉強したことはブログに覚えていてもらう。

 

文章を書いた経験があまり無く、どこまで出来るか分からないけど、頑張って続けてみようと思います。