忍者ブログ
  • 2024.10«
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • » 2024.12
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【2024/11/22 00:43 】 |
Android 非同期処理 AsyncTask と Contextについて
ソモソモ自分のやってることの備忘録なので自分用以外の投稿は存在しなかった。

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
【2013/05/16 23:09 】 | Android | 有り難いご意見(0)
SQLiteデータベースpart4(自分用)
集計用

・カラムに入ってるユニークなデータを調べる
select distinct カラム名 from テーブル名;

・同じ属性(例えばチームや部署など)ごとにデータを集計する
select 属性カラム(チームや部署など),sum(集計したいカラム) from テーブル名 group by 属性カラム;
【2013/05/16 01:13 】 | SQLiteデータベース | 有り難いご意見(0)
SQLiteデータベースpart3(自分用)
標準である、関数を使う
http://dotinstall.com/lessons/basic_sqlite/6411

・select 表示するカラム, typeof (調べたいカラム) from テーブル名;
カラムの属性を調べる関数
・select 表示するカラム, length(調べたいカラム) from テーブル名;
カラムの文字列の長さを調べる関数
・select * from テーブル名 order by random() limit 数字;
テーブルからランダムで”数字”分データを表示する関数


他にも沢山あるが、公式サイトの DownLoads > SQL Syntax > Core Functionsに書いてある。
【2013/05/16 00:33 】 | SQLiteデータベース | 有り難いご意見(0)
SQLiteデータベース part3(自分用)
テーブル作成時のオプション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 '文字列%';で出来る。
【2013/05/15 00:17 】 | SQLiteデータベース | 有り難いご意見(0)
SQLiteデータベースpart2(自分用)
テーブルを変更する

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
 初期値を指定出来る
【2013/05/14 23:40 】 | SQLiteデータベース | 有り難いご意見(0)
前ページ | ホーム | 次ページ

忍者ブログ [PR]