雑記帳

趣味や仕事の備忘録などを気分で書いてみます

XML CDATAセクション

XMLでCDTATAセクションを扱ったことがなかったのでメモ。

XMLでは「<」や「>」などは実体参照に置き換える必要がある。

CDATAセクションを使用した場合、置き換えが不要となる。

<![CDATA[テキストデータ]]>

沢山置き換えが必要になる場合、CDATAセクションを使用することで記述が楽になりそう。

参考文献はこちら↓

XMLマスター教科書 ベーシックV2

XMLマスター教科書 ベーシックV2

Oracle ORA-01950でエラー

仕事で使っている開発環境のDBを11gから12cに変更する際に発生したのでメモ。
CREATE TABLEを行う際に、表領域に対する権限がないということで、エラーが発生。

とりあえず、ユーザに対して、UNLIMITED TABLESPACEシステム権限を付与して、回避。

GRANT UNLIMITED TABLESPACE TO USER名

Android android.os.NetworkOnMainThreadExceptionが発生

WebAPIから情報を取得しようと、HTTPリクエストを行うと、android.os.NetworkOnMainThreadExceptionが発生しました。
メインスレッドから外部ネットワークに接続しようとすると怒られるみたいです。
Android3.0以上から?

対策方法としては別スレッドでHTTPリクエストを行う。
AsyncTaskLorder?を使うと良いらしい。
勉強してみます。

Android Studioでの選択範囲のコメント化とコメント化解除方法

VisualStudioみたいに選択範囲をコメントアウトしようとしたら、方法がわからなくて調べたのでメモ。
コメント化とコメント化解除は同じ操作で可能でした。
Javaコード、XMLのどちらに対しても有効でした。

行コメント化(//でコメント)

下記のメニューを実行します。
Codeメニュー⇒Comment with Line Comment
ショートカットキーは

Ctrl + /
ブロックコメント化(/* ~ */でコメント)

下記のメニューを実行します。
Codeメニュー⇒Comment with Block Comment
ショートカットキーは

Ctrl + Shift + /

Android ボタンクリック処理の実装

Androidアプリでボタンクリック処理の実装方法についてメモします。

ボタンに対して、OnClickListnerをセットして、クリックイベントを拾えるようにします。

OnClickListnerインターフェースの実装

クラスの宣言に"implements View.OnClickListener"を追加します。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

ボタンにOnClickListnerをセットする

ButtonクラスのSetOnClickListnerメソッドを使用します。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button1).setOnClickListener(this);
    }
}

OnClickメソッドの実装

ボタンがクリックされるとOnClickメソッドが呼び出されます。
OnClickメソッドの引数のViewでボタンを判別して処理を分けることができます。
下記のコードではクリック時にトーストを表示させます。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        findViewById(R.id.button1).setOnClickListener(this);
    }
}
    @Override
    public void onClick(View aView) {
        switch (aView.getId()) {
            case R.id.button1:
                buttonClick();
                break;
            default:
                break;
        }
    }

    private void buttonClick() {
        Toast.makeText(this, "test", Toast.LENGTH_SHORT).show();
    }
}

AndroidStudioで実機デバッグしようとしたらINSTALL_FAILED_VERIFICATION_FAILUREになった

f:id:yukio_s:20161225233738p:plain

APKインストールに失敗していました。
実機のアンチウィルスソフトのインストールチェック時に不審なアプリケーションとして、インストールがブロックされていました。
一時的にインストール時のチェックを解除してみると、実機デバッグが可能になりました。

Play Framework2.5でのEbeanの使い方

Play FrameworkのバージョンでEbeanの使い方が違うようなので、2.5での使い方を調べたのでメモします。

Plugins.sbt

下記を追加する(コメントアウトされているので、コメント化を解除する)

addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")addSbtPlugin("com.typesafe.sbt" % "sbt-play-ebean" % "3.0.0")

build.sbt

下記を変更する。

lazy val root = (project in file(".")).enablePlugins(PlayJava)

lazy val root = (project in file(".")).enablePlugins(PlayJava, PlayEbean)

※PlayEbeanを追加する

環境の更新

下記のコマンドを実行する。

Activator update

Eclipseを使用している場合、下記コマンドを実行して、プロジェクトを更新する。

Activator eclipse