Mono Works

チラシのすきま

Android開発” タグのついた記事一覧
  • ぼちぼちサンプルを作りつつ、Androidさんと戯れているわけですが、今回もレイアウトに関するメモをひとつ。

    androiddevmemo20151015_00

    タイトルに掲げた「layout_weight」は、レイアウトとして余った部分をどう割り振るかを「Weight(重み)」で決めるための属性です。なんとなく文章で説明するのが面倒だったので、どんな設定をおこなうと、どんな風に画面が表示されるのかを具体的に示します。

  • 会社パソコンにデスクトップタイプが追加となり、ぼちぼち環境構築を始めております。プリインのOSには、しつこいアンチウイルスアプリがくっついていたので、Windows10をクリーンインストール。Android Studioも入れ直して、設定を見なおしたり、追加設定したりしたので、以前のメモ(2015/08/03)を更新。

  • 本日、既存のNexusデバイス向けに6.0.0(Marshmallow)のFactory Imagesが公開されましたね。自分のタイムラインでも、早朝から6のイメージを焼いている方がちらほら。手持ちのNexus7 2013 Mobile用のイメージ(MRA58K)もありましたが、Nexus7 2013は、しばらく5.1を維持していたいので、別に端末を用意してから6.0を楽しみたいと思います。

    androiddevmemo20151006_00

    Factory Images for Nexus and Pixel Devices  |  Google APIs for Android  |  Google Developers

    さて、現在、新機種としてキャリアから販売されている端末は、Android5.xですが、古い端末を使っている人もまだまだたくさんいます。アプリを作って配布する場合、どのバージョンまでをサポートするのか悩みどころだと思います。今回は、そんな時に参考にするサイトをご紹介します。

  • Xperia Z3 Compact SO-02Gで実機デバッグをしていた際には何も考えずに開発者モードをONにしてUSBケーブルでパソコンとXperia Z3 Compact SO-02Gを接続するだけで、Android Studio から Xperia Z3 Compact SO-02Gを認識してくれたのですが、Nexus7 2013ではUSBドライバを手動で導入する必要があったので、メモしておきます。

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

    androiddevmemo20150928_00

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

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

    androiddevmemo20150928_00

    今目標としていることは、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

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

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