Androidプログラミング

 

[Android]Viewの重なり順を変更する方法

[English]

 

今回はAndroidにて以下の写真の様にViewの重なり順を変更する方法についてご紹介します。

 

環境:Android Studio 2.2.1, API 19

 

Androidの場合はレイアウトから一度ビューを削除し再設定します。

その際に、インデックスを0に設定すれば最背面へ移動し、インデックスを指定しなければ最前面へ移動します。

 

使用例

続きを読む 0 コメント

[Android]Viewの角を丸くし背景色をグラデーションにする

[English]

 

今回はAndroidでViewの角を丸くし、背景色をグラデーションにする方法について解説します。

 

環境:Android Studio 2.2.1, API 19

  

今回はXMLではなくコードで設定を行います。

AndroidでViewの背景色のグラデーションと角丸はGradientDrawableを使って定義します。

 

背景色のグラデーションを設定する場合は、GradientDrawableの引数にグラデーションに使用する色を配列で設定し、Orientationでグラデーションの方向を定義します。

続きを読む 0 コメント

[Andorid]画面をキャプチャして画像に保存する方法

[English]

 

今回はAndroidで画面をキャプチャする方法についてご紹介します。

 

環境:Android Studio 2.2.1, API 19

 

AndroidではView単位でキャプチャを取得します。

まずViewのsetDrawingCacheEnabledをtrueにしてキャプチャを取れる様にします。

その後、getDrawingCacheでキャプチャを取得し、Bitmapに変換します。

キャプチャを取得した後は、setDrawingCacheEnabledをfalseに戻します。

続きを読む 0 コメント

[Android]Sqliteデータベースプログラミング

[English]

 

Androidでもデータベースにデータを保存したい場合はSqliteを使用します。

 

環境:Android Studio 2.2.1, API 19

 

1.準備

SqLiteOpenHelperを継承したクラスを作成して、データベースを定義します。

private final static String DB_NAME = "sample1.db";

private final static String DB_TABLE = "SampleTable";

private final static int DB_VERSION = 1;

 

private class SampleDBHelper extends SQLiteOpenHelper {

  public SampleDBHelper(Context context) {

    super(context, DB_NAME, null, DB_VERSION);

  }

 

  @Override

  public void onCreate(SQLiteDatabase db) {

    db.execSQL("create table if not exists " + DB_TABLE + "(id text primary key,name text,type integer,image BLOB)");

  }

 

  @Override

  public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    if (newVersion == 2) {

      db.execSQL("alter table " + DB_TABLE + " add column newField integer default 0");

    }

  }

}

テーブルのレイアウトはonCreateメソッドの中でCreate Table文で定義します。

アプリのバージョンアップ時にテーブルレイアウトを変更したい場合は、onUpgradeメソッドの中でAlter Table文で定義します。

 

画像(Bitmap)のデータを保存したい場合は、データ型にBLOBを指定します。

 

2.データの新規追加(INSERT)

まず1.準備で作成したクラスのgetWritableDatabaseメソッドを実行して、書き込み可能なSQLiteDatabaseクラスを取得します。このSQLiteDatabaseクラスのInsertOrThrowメソッドを実行するとINSERT文が発行され、データの新規追加ができます。尚、もうひとつInsertメソッドがありますが、こちらはエラー発生時にアプリにエラーが返らない為、使用しない方が良いでしょう。

続きを読む 0 コメント