2013-05-01から1ヶ月間の記事一覧

MySQL ROWNUM

MySQL で ROWNUM を付ける場合、以下のようにすると1回のクエリで付けられる。 SELECT @i:=@i+1 AS ROWNUM , x.* FROM (SELECT @i:=0) AS dummy , (SELECT 文) x

MySQLデフォルト指定でInvalid default value

MySQL create table で DATETIME型のデフォルトを設定しようとして、 CURRENT_TIMESTAMP を指定するが、 `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP のようにカラムを指定した時、、、 ERROR 1067: Invalid default value for が発生する。…

android.support.v4 と Proguard

Fragment など、Honeycomb 前のOS用に android.support.v4.app.* を使った場合 そのまま Proguard を書けると警告が出て apk が作れない。 proguard-project.txt で以下1行で警告なく Ptoguard を実行できる。 -dontwarn android.support.v4.** -keep cla…

「キーボードを閉じる」

キーボードを閉じる処理は、このブログで何度も書いている。 http://blog.zaq.ne.jp/oboe2uran/article/788/ http://blog.zaq.ne.jp/oboe2uran/article/785/ http://blog.zaq.ne.jp/oboe2uran/article/739/ http://blog.zaq.ne.jp/oboe2uran/article/848/ そ…

TimePickerDialog を、DialogFragmentで。。。

android.app.TimePickerDialog を、DialogFragmentで表示する。 方法は2通り (1)DialogFragment を new 演算子で直接記述する方法 (2)DialogFragment を 継承した抽象クラス (1) はとても簡単 new DialogFragment(){ @Override public Dialog onCreat…

Android で HTML解析

昔、低レベルな仕事をしていた時に、 時々、org.xml.sax.helpers.DefaultHandler でXMLパーサを書いて遊んでいた。 HTML を、これで SAXParser にパースさせていては、当然ダメである。 tagSoup というHTML用のパーサがある。 org.xml.sax.ContentHan…

ListView 選択行の指定

自分だけだろうと思う、なぜか覚えにくいメソッド名というのがある。 いつも、すぐ忘れてしまうメソッド名というのがある。 よく使いそうで、別段難しいメソッドでもなくメソッドの名前もおかしくない。 ListView の setItemChecked がそれだ。 public void …

document.documentElement.outerHTML 実行の注意

WebView で document.documentElement.outerHTML によりテキストを取得すると <html><head></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;"> ・・・コンテンツ・・・ </pre></body></html> のように、pre style="word-wrap: break-word; white-space: pre-wrap;" のタグで囲まれて表示されてしまう。 Google Play に載せた YipsBrowser Ver2.…

Bitmap too large to be uploaded ...

通常PCで閲覧するようなサイトを WebView でキャプチャを以下のように取得して、 これを DialogFragment 上で ImageView に表示しようとしたら、 W/OpenGLRenderer(12674): Bitmap too large to be uploaded into a texture を延々と繰り返し表示できなか…

SQLite auto_increment 初期化

"UPDATE SQLITE_SEQUENCE SET SEQ=初期値-1 WHERE NAME = 'テーブル名' " よって、Android での例、、、 SQLiteDatabase db = getWritableDatabase(); try{ db.beginTransaction(); db.execSQL("DELETE FROM keys"); db.execSQL("UPDATE SQLITE_SEQUENCE SET…

SQLite の AUTO_INCREMENT 値の取得

AUTO_INCREMENT で生成した値は、MySQL は、LAST_INSERT_ID() で取得するが、 SQLite では、LAST_INSERT_ROWID() である。 だから、Android の SQLite でこれを利用しようと最初に思いつくのは、、 SQLiteDatabase の insert メソッド実行直後に、 Cursor c …

input タグ1つしかない時の submit 抑制

JavaScript で、input タグで、Enter キー押されて submit を防ぐ。 input タグ1つしかない時に、回避したい場合など。。。 function submitStop(e){ if (!e) var e = window.event; if(e.keyCode == 13) return false; } <input type="text" name="foo" onKeyPress="return submitStop(event);" >

MySQL auto_increment 初期化

ALTER TABLE <テーブル名> AUTO_INCREMENT = 1; すでに、1以上の値であるレコードが存在すると、 その値以下に設定できないので注意

MySQL テーブルカラム情報の参照

SELECT * FROM information_schema.columns WHERE table_schema = 'foodb' AND table_name = 'employee' ORDER BY table_name ASC, ordinal_position ASC

JavaScript 脆弱性をどこまでチェックすべきか

WebView は、ifame で表示しているページとは別のドメインやポートのコンテンツの指定があると Unsafe JavaScript attempt to access frame with URL というエラーが出る。 この iframe を使ったコンテンツ表示のほとんどが広告などの外のサイトである。 jav…