× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。 |
ソモソモ自分のやってることの備忘録なので自分用以外の投稿は存在しなかった。
Contextについて。 intentの処理の際に引数としてMainActivity.thisとかgetApplicationContext()とかをつかうけどよくわからないのでググると同じような物で「今このアプリは何をしているのか?といったアプリ全体の情報をもっている」ものらしい。 ただしthisの方はActivityのcontextでgetApplicationContext()はアプリのcontextだそうで、でも内容はどうやら一緒。 ちがうのはライフサイクルに影響されるかどうかで、メモリーリークの面からもgetApplicationContextを使う方がいいよう。 非同期処理「AsyncTask」 参考にしたサイト http://android.keicode.com/basics/async-asynctask.php AsyncTaskの動き方 1、コンストラクタ 2、onPreExecuteメソッド(UIスレッド側) 3、doInBackgroundメソッド(ワーカースレッド側) 4、doInBackground内のpublishOnProgressメソッド(UIスレッド側のonProgressUpdateを呼ぶ) 5、doInBackgroundが終了し、onPostExecuteが呼び出される。(終了処理) 1 コンストラクタでContextにアプリの情報を設定させる。 2 onPreExecuteメソッドで非同期処理する前に思い処理をしていることが分かるようなプログレスバーな どのUI関連のインスタンス処理をする。 3 publishOnProgressメソッドでUIスレッド側に処理を反映させる。進捗状況や更新処理の内容など。 4 onProgressUpdateメソッドでUIスレッドにワーカースレッドの内容を反映させる 5 onPostExecuteにて終了処理 例えばプログレスバーを消したり。 PR |
集計用
・カラムに入ってるユニークなデータを調べる select distinct カラム名 from テーブル名; ・同じ属性(例えばチームや部署など)ごとにデータを集計する select 属性カラム(チームや部署など),sum(集計したいカラム) from テーブル名 group by 属性カラム; |
標準である、関数を使う
http://dotinstall.com/lessons/basic_sqlite/6411 ・select 表示するカラム, typeof (調べたいカラム) from テーブル名; カラムの属性を調べる関数 ・select 表示するカラム, length(調べたいカラム) from テーブル名; カラムの文字列の長さを調べる関数 ・select * from テーブル名 order by random() limit 数字; テーブルからランダムで”数字”分データを表示する関数 他にも沢山あるが、公式サイトの DownLoads > SQL Syntax > Core Functionsに書いてある。 |
テーブル作成時のオプション2
・CHECK(カラム名>0) カラム名に入れたカラムの値をチェックしてくれる。この場合は0以下だった場合エラー ・CREATE INDEX カラム名 ON テーブル名(カラム); よく検索をするカラムにつけると効果がある。UNIQUE, PRIMARY KEYにはデフォルトで同じ機能がついている。またUNIQUEなINDEXをつける場合 UNIQUE INDEXとする(上のUNIQUEとは別物)。 テーブルにデータを挿入する INSERT INTO テーブル名 (カラム, カラム,・・・) VALUES('値','値',・・・); *文字列を挿入する際はシグルクォーテーションを使う。英文の省略の場合は2個使う 例:'it''s a pen' テーブルからデータを抽出する ・SELECT * FROM テーブル名; テーブルから全てのデータを抽出する ・SELECT カラム名 FROM テーブル名; テーブルの特定のカラムのデータ抽出する ・SELECT * FROM テーブル名 ORDER BY カラム名; テーブルの特定のカラムを昇順にして要素を並べる ・SELECT * FROM テーブル名 ORDER BY カラム名 DESC; 降順バージョン ・LIMIT N データ上位N件ORDER BYと合わせると特定の項目上位N件の表示が出来る ・WHERE カラム 条件式 カラムに対して条件を指定して表示する。 例:SELECT FROM USERS WHERE SCORE >100; USERSというテーブルのSCOREカラムが100以上の要素を取り出す 条件 not equalは<> 文字列の比較も=でOK 文字列はLIKE '文字列';とも出来る。 曖昧検索はLIKE '文字列%';で出来る。 |
テーブルを変更する
http://dotinstall.com/lessons/basic_sqlite/6405 ☆ターミナルで操作 ・テーブル名を変更する alter table 変更前のテーブル名 rename to 変更後のテーブル名; ・テーブルのカラム(要素)を追加する alter table 変更したいテーブル名 add 追加したい要素名; 扱うことの出来る値 http://dotinstall.com/lessons/basic_sqlite/6406 NULL INTEGER 整数値 REAL 少数のはいった数値 TEXT 文字列 BLOB (Binary Large Object) * データ型は指定出来るけど必須ではない(SQLiteの特徴) * データ型を指定すると別の型でもその型に自動変換しようとするが、出来ないこともある。 テーブル作成時のオプション http://dotinstall.com/lessons/basic_sqlite/6407 ・PRIMARY KEY 主キーにする ・AUTOINCREMENT データを登録する際に++してくれる。idなどに使うと非常に便利 ・NOT NULL NULL値を登録使用した場合エラーになる ・UNIQUE 重複したデータを登録しようとするとエラー ・DEFAULT 初期値を指定出来る |
忍者ブログ [PR] |