2013-01-01から1年間の記事一覧

MySQL TIMESTAMP 2つ以上のCURRENT_TIMESTAMP

MySQL で TIMESTAMP をデフォルト値として持つテーブル作成する時、 2つ以上の TIMESTAMP で、デフォルト値をセットしようとするとダメである。 でも、以下は、古いMySQLの話、、、 MySQL5.7 以上なら、、 MySQL 複数のTIMESTAMP DEFAULT CURRENT_TIME…

入力チェック有りのViewPager(2)

入力チェック有りのViewPager(1)の続き、 Activity のサンプル import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.app.Fragment; import android.support.v13.app.FragmentSta…

入力チェック有りのViewPager(1)

先日書いた 「ViewPager で入力画面を作る」は、汎用的ではない。 汎用性の為に、書き直す。 Action barで next の有効性をセットする interface を用意する。 public interface IActionMenuController{ public void setNextEnable(boolean enable); } 各ペ…

MySQL Collation の メモ

MySQL Collation メモ ------------------------------- utf8_general_ci ASCIIとラテン文字の大文字小文字を区別しない 例) A と a は同じ ------------------------------- utf8_unicode_ci Unicode Collation と呼ばれるもので 全角と半角 カタカナとひ…

ScrollView のバーを常に表示

ScrollView のバーを常に表示するには、 android:fadeScrollbars="false"

ViewPager で入力画面を作る

android.support.v4.view.ViewPager で以下のように android:uiOptions="splitActionBarWhenNarrow" の画面を作る。 最初のページ 最後のページ(横にした時で、入力が終わってないので FINISH が非活性) 全て入力後の最後のページ これを作る場合、単純に …

splitActionBarWhenNarrow

AndroidManifest.xml の Activity 属性、 android:uiOptions で、splitActionBarWhenNarrow を指定するとアクションバーに表示するメニューが、 アクションバーに表示が収まらない場合は、上下に分割して表示という説明。 タブレットでは右上のアクションバ…

Google GEAR って廃止で無くなったと思ってた

2年程前だったか、あまり憶えてないが Google Gear というサービスは廃止 という発表があったような記憶がある。 しかしWebサイトを訪問したデバイス(iOS や Android)の位置情報(緯度と経度) を簡単に JavaScript で取得する中で、Google Gear を使…

WRITE_SECURE_SETTINGS を使いたい

uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" をManifest に書いて使いたいのだけど、 一般アプリでは許されてないようだ。 /system/app に apk を置けばというけれど配布が困難だろうし困った。 http://stackoverflow.com/que…

MySQL ダンプと復元

DBスキーマ指定ダンプ mysqldump --skip-lock-tables -u username -p schemename > data.dmp トリガを除きたい場合は、 --skip-triggers オプションも、--skip-lock-tablesの後に、追加する 復元 mysql -u username -p schemename < data.dmp テーブル単位…

ImageView レイアウト調整

縦幅サイズ不明な画像をなるべく、画面にフィットして中央で表示する場合のレイアウト width と、height を fill_parent でセットして scaleType を、fitCenter layout_weight を 1 にセット、 layout_gravity を center_horizontal とする

AUTO_INCREMENT の現在値

MySQL で、AUTO_INCREMENT の現在値を確認するには、 SHOW TABLE STATUS LIKE 'テーブル名 ' ; で、Auto_increment を参照する。

ストアドプロシジャのメモ(2)

カウントループ ただそれだけ。。。 DELIMITER // DROP PROCEDURE IF EXISTS sp_manadd // CREATE PROCEDURE sp_manadd(IN loop_max INT) BEGIN DECLARE loop_count INT DEFAULT 0; TRUNCATE tmanage; REPEAT INSERT INTO tmanage ( category, seqno, start_…

ズーム可能な ImageView

ズーム、ピンチアウト可能な ImageView というのを探していたのですが、見つけました。 拡大だけでなく、ドラッグも対応となると、 自分で、SimpleOnGestureListener 実装をタッチイベントで処理するのを書くのが面倒になって 探してました。 http://capycod…

ストアドプロシジャのメモ(1)

忘れてたのでメモ DELIMITER // DROP PROCEDURE IF EXITS sp_foo // CREATE PROCEDURE sp_foo() BEGIN DECLARE done INT DEFAULT 0; DECLARE _username VARCHAR(45); DECLARE _birth_date DATE; DECLARE cur CURSOR FOR SELECT id, username, birth_date FRO…

ViewPager サンプル

Eclipse の Android 開発プラグイン ADT、古いバージョンでは、Swipe のサンプル(android.support.v4.view.ViewPager)を のサンプルを簡単に作成するウィザードがあった。(バージョンNo.は忘れた) ADT r21では既に簡単に作成するウィザードは無…

端末内、画像ファイルの情報取得

.y, .y td, .y th { border: 1px #000000 solid; border-collapse: collapse; white-space: nowrap; padding:4px; } android.content.ContentResolver で端末内の 画像ファイルの情報を取得する為のキー一覧は、以下のとおりである。 良く判ってないものが多…

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以上の値であるレコードが存在すると、 その値以下に設定できないので注意