Mono Works

チラシのすきま

カテゴリー:Post
  • Android開発 SQLite

    前回は、SQLiteのDatatypesについてメモを残しました。そのメモの中に非常に「SQLite」らしい特徴があります。こちらの「データベースの各column(列)に割当可能な5つのType Affinity」です。

    TEXT affinity: NULL、TEXT、BLOBクラスの値を格納可能。数値を格納する場合、文字列に変換して格納。

    NUMERIC affinity: 全クラスの値を格納可能。TEXTクラスの値を格納する場合、INTEGERか REALクラスへの変換を試み、変換できれば変換して格納。変換できなければTEXTクラスのまま格納。NULL、BLOBクラスの値は、変換せずに格納。

    INTEGER affinity: 基本的にNUMERIC affinityと同じ動作ですが、CAST expressionsの場合のみ違う動作となります。

    REAL affinity: 基本的にNUMERIC affinityと同じ動作ですが、整数形式の値の場合、小数点クラスにして格納します。

    BLOB(かつての名称はNONE)affinity: どんなタイプの値でも変換せずに格納します。

    さらっと流していましたが、NUMERIC、INTEGER、REALは、自分のクラスへの変換を推奨しますが、変換できなくても、そのまんま格納してしまいます。いちおう「数値型で入れてね」とお願いはするのですが、数値に変換できない文字列を放り込めば、そのまま保存してしまいます。

    さらにBLOBに至っては、とりあえず何でもそのまま格納しちゃいます。こんな感じなので、SQLiteで実際にDBを作成する場合、何も決めないまま、とりあえず作成できてしまいます。

    そんなSQLiteでも、他のRDBMS同様にDB作成時の制約を設けることはできます。今回は、その制約周りについてざっくりとメモ。

  • Android開発 SQLite

    前回、Androidで標準サポートされている「SQLite」に準じたデータベース(以下、DB)を作成するツールを紹介しました。SQLiteのDB作成方法自体は、前回書いたようにとても簡単ですが、その簡単さはSQLite独特のルールによって成り立っているようです。今回は、そのSQLiteのもつ独特なあれこれについて、メモを残しておきます。

    androiddevmemo20150928_00

    本題の前に、SQLiteのバージョンについて書いておきます。SQLiteのバージョンは、大きく2と3に分かれていて、2と3では互換性がないようです。古いシステムで2が採用されているような場合を除いて、3を使うのがよさそうです。(現時点での最新版は、3.8.11.1)以降、SQLiteに関するメモは、SQLite3について記載していきます。

  • Android開発 SQLite

    Androidも、データベースを扱うことができます。標準でサポートされているデータベースは「SQLite」というオープンソースのRDBMSです。データの保管場所としてサーバを必要とせず、データをファイルとして保存することから、アプリに組み込んで利用されることが多いようです。なお、標準ではサポートされていませんが、Microsoft SQL ServerなどのようなサーバーベースのRDBMSにもAndroidからアクセスは可能です。

    androiddevmemo20150928_00

    今目標としていることは、Androidアプリに一定のデータを持たせておき、そのデータを条件に応じて画面に表示させることです。なので、データベースをAndroidで作成したり、更新することはなく、あらかじめパソコンでデータベースを作成して、アプリに組み込みできればと考えています。今回は、表示の元になるデータベースをパソコンで作るところをメモします。

  • Android開発

    シルバーウィークと、その後ひとつのメモ書きを挟んで、かなり時間が経ってしまいましたが、前々回、ListViewを使ってリストを表示する方法を紹介しました。その最後にandroid:entries="@array/データ群の名前"を利用して、ListViewをレイアウト要素へ置き換える方法を紹介しましたが、android:entries="@array/データ群の名前"には、さらに応用を利かせた使い方(こっちの方が本来の使い方かな)があったので、今回は、その使い方についてメモを残します。

    とか書きながら、前々回の記事を見直しておこうとブログページ開いたら、剛力さんがうちのサイトにいらっしゃるじゃありませんか!

    androiddevmemo20150925_01

    こちらが記念のスクリーンショット。アイコン見切れてますが剛力さんとのツーショットです。 というわけで、あらためてメモをどうぞ

  • 前回、といってもシルバーウィークを挟んで、日にちが空いてしまいましたが、ListViewを使ってリストを表示するメモの最後で、「実行ファイル内にListViewを記述したサンプル」と「ListViewをレイアウト要素へ置き換えたサンプル」で、同じリストを表示しているのに画面表示させると、見た目(画面レイアウト)が違っていたのですが、ListViewのソースコードを調べていて、なんとなく理由が分かったので、今回メモしておきます。

    メモ:ListViewのデータを実行ファイルの外に置く - Mono Works

    その理由は、ListViewをレイアウト要素へ置き換えたことで「ListView」がもつレイアウト設定が反映されたという単純なものでしたが、これだけでは、少し前の自分には理解できないので、もう少し説明しておきたいと思います。

  • 前回、ListViewを使ってリスト表示する際に、表示する「データ」を実行ファイルの中に記述していましたが、今回は、この「データ」部分を実行ファイルの外に記述する方法について、メモしておきたいと思います。

    メモ:ListViewと ArrayAdapterでスクロールするリスト表示 - Mono Works

    さっそくですが、こちらが前回サンプルで作った実行ファイルです。

  • Android開発

    以前、ビューをページ内に配置する方法の例として、LinearLayout と RelativeLayoutについて書きました。これらのレイアウト方法は、ひとつの画面に決まったビューのみ表示する場合にシンプルで良い方法だと思います。

    メモ:ビューの配置 - LinearLayout と RelativeLayout - Mono Works

    今回は、複数のデータを並べて表示して、もしデータが多くて画面に収まらない場合はスクロールさせて表示するといったことが可能になるListViewについて調べてみました。

    androiddevmemo20150916_00
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内