Unity5: マスクされずにScrollviewからドラッグアンドドロップする

Scrollviewからドラッグアンドドロップする場合ViewportのMaskでマスクされる為、ドラッグ中のオブジェクトが隠れてしまう。これを解決するには、

①IBeginDragHandlerのOnBeginDrag時にSetParentでドラッグ中のオブジェクトを一時的にScrollViewの子にする。

parentObject = transform.parent;
transform.SetParent (scrollviewObject.transform, false);

②IEndDragHandlerのOnEndDrag時にSetParentでドラッグ中のオブジェクトを元の親の子にする。

transform.SetParent (parentObject, false);

マスクされずにドラッグ中のオブジェクトをdrag and dropできた。

Android(アンドロイド)Eclipseエラー&警告対応

エラー

Incorrect line ending: found carriage return (\r) without corresponding newline (\n)

レイアウトのxml画面で「Ctrl + Shift + F」を押してから保存すればOK。

エラー

Failed to load the LayoutLib: com.android.layoutlib.bridge.Bridge$PostInflateException

クリーンしてEclipseを再起動すればOK。

コンパイルエラー

Your project contains error(s),please fix them begore running your application

クリーンしてEclipseを再起動すればOK。

Eclipse起動時にクリーン(cleanコマンド)を実行する方法

C:\eclipse\eclipse.exe -clean

アイコンを右クリックし「プロパティ>ショートカット(タブ)>リンク先」を上記のように変更してから実行。

エラー

Failure 5 (database is locked) on 0x[6桁の16進数] when executing 'BEGIN EXCLUSIVE;'

同一メソッドでの書き込み処理が衝突しないように修正すればOK。

書き込みエラー

.classpathに書き込めませんでした

エクスプローラーから.classpathの隠しファイルのチェックを外せばOK。

Lintエラーチェック

is not translated in
Export aborted because fatal lint errors were found.

string.xmlを各国語用にも作ってよというエラー。Lintのエラーチェックを緩めればOK。

エラー

NotFoundException: null
Exception details are logged in Window > Show View > Error Log
The following classes could not be found:
- TextView (Change to android.widget.TextView, Fix Build Path, Edit XML)

グラフィカルレイアウトのAPIバージョンを(古いバージョンに)下げればOK。

エラー

1oku.png
100ten.png

Androidのリソースファイル名が上記のように数値から始まっているとエラーになる。

警告

This ScrollView layout or its LinearLayout parent is possibly useless

このスクロールViewか親のViewが無駄。消すべき。

警告

This LinearLayout layout or its LinearLayout parent is useless

無駄に何度もLinearLayoutで括ってる。無駄を省けばOK。

警告

Use a layout_height of 0dip instead of wrap_content for better performance

"wrap_content"ではなく、"0dip"にすればOK。

警告

Missing contentDescription attribute on image

画像が表示できない場合の代わりの文字列を定義してないと出る。

android:contentDescription="@string/desc"

上記のようにstring.xmlに定義または直接記入すればOK。

メモリ不足警告

Unable to execute dex: Java heap space Java heap space

eclipse.iniの一番下の数値を増やせばOK(512mから1024mなどにする)

toUpperCaseに警告が出る

Implicitly using the default locale is a common source of bugs: Use toUpperCase(Locale) instead

デフォルトのロケールを使用していると出る。

toLowerCase(Locale.ENGLISH)

として保存しEclipseを再起動すればOK。

Oracle(オラクルSQL)

標準出力

DBMS_OUTPUT.PUT_LINE('出力文字列');

日付Format

SELECT TO_CHAR(SYSDATE, 'YYYY/MM/DD') FROM DUAL;

カラムや項目名を取得する

SELECT C.*
FROM USER_TAB_COLUMNS C, USER_TABLES T
WHERE C.TABLE_NAME = T.TABLE_NAME
ORDER BY C.TABLE_NAME

含む場合

CODE_STR IN ('001', '002')

含まない場合

CODE_STR NOT IN ('003', '004')

条件(EXISTS以下)が一致する場合、SELECT文を実行する

※表EMPの列DEPT_IDがD03であるレコードが存在する場合、表DEPTを検索する

SELECT * FROM DEPT
WHERE EXISTS(SELECT 'X' FROM EMP WHERE DEPT_ID = 'D03')

TO_CHARによるFormat

999,999,999.999ではなく999,999,990.999

TO_CHAR(NVL(ROUND(SCORE_VAL), 0) / 1000, '999,999,990.999')

CASE文

CASE WHEN A.KBN = 1 THEN '区分1'
     WHEN A.KBN = 2 THEN '区分2'
     ELSE '区分その他'
END AS KBN

NVLでNULL関連のエラーをなくす

NVL(A.CODE_STR, '') AS CODE_STR 'VARCHAR2なら
NVL(SUM(NVL(B.SCORE_VAL, 0)), 0) AS SCORE_VAL 'NUMBERなら

複数のINSERT文を実行する

INSERT ALL
INTO MASTER_A
VALUE(30, 1)
INTO MASTER_A
VALUE(30, 2)
SELECT * FROM DUAL

複数のUPDATE文を実行する

※スラッシュで区切る

UPDATE TABLE_A
SET CODE_VAL = 100
   ,NAME_STR = '松本'
WHERE TYPE1_STR IN('1', '2') AND TYPE2_STR = '001'
/
UPDATE TABLE_B
SET CODE_VAL = 200
   ,NAME_STR = '彦根'
WHERE TYPE1_STR IN('3', '4') AND TYPE2_STR = '002'
/
COMMIT
/

Oracleのテーブル名は30バイトまで

正規表現

空行を選択する

^\r\n

4文字以下の英数字の行を選択する

^[a-zA-Z0-9]{1,4}$

指定文字列を含まない行を選択する

^(?!.*指定文字列).+$

漢字以外を選択する

[^一-龠]

1文字ずつ改行する

  • 置換前
(.+?)
  • 置換後
$1\r\n

ブログ開始(どうぞよろしく)

当サイトの閲覧及び使用は、自己責任でなされるものであり、当サイトの作成や公開等に関わった関係者は、当サイトへのアクセス又は使用によって発生したいかなる損害やその修理費用等に関して、一切の責任を負いません。