とある社畜(♀)のダイエット記録~プログラミングもあるよ~

新米SEのレコーディングダイエットの変遷、料理、プログラミング備忘録な雑多ブログです。

Android の記事一覧

スポンサーサイト

--.--.-- (--)  スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ListFragment内のアイテムがタップできなかった件

2015.06.03 (Wed)  Android
ListFragmentを継承して作ったfragmentで生成したアイテムを、クリックしたときに呼ばれるはずのメソッドが全然呼ばれず、半日潰したのが解決されたのでメモ。

結論としてはonListItemClickをオーバーライドすべし。ということだった。
ずーっとonCreateViewメソッドの中で

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView parent, View view, int position, long id) {
     ~うんちゃら
    }

と書いてlistViewからリスナーを呼ぼうとしていたんだけど駄目だった。。
多分これActivityで作る場合の方法で、ろくに確認もせずどこかからコピペしてきたのだろうと思われます。
ListFragmentで作る場合はonListItemClickじゃないと多分駄目?なのかな?まだ齧り始めたばかりなのでよく分かっておりません
ひとまず何とかなりそうだー!


なお今このへんまでできてます



前と!変わってない!!
項目のタップは無事に出来るようになりましたが綺麗にシステムエラーに突入するのでデバッグなう


ランキング参加中!
よろしければぽちっとお願い致します↓(´∀`*)




スポンサーサイト

自作アプリ進展!

2015.05.26 (Tue)  Android
こんばんは。
今日は更新しないつもりだったのですが1個進展したのでご報告。誰も待ってねぇ

今こんな感じになりましたウエッヘッヘヒャ

すいません三日詰んでたところがやっとクリアできたので気持ち悪い笑いがウエッヘッヘヒャ

詰んでたところっていうのが、スクロールできるタブを作るのと、あとは単純に画面にリストを出すだけのことだったのですが、非常に単純なハマり方をしておりました。メソッドの使い方間違えてたっていうだけね
ちなみに悪の教典以外のデータは私の大学時代の小説のタイトルです。評価ランクのテストしようと思ったので、低い評価付けるなら自作小説しかねえなと///
悪の教典は文句なしの星5ですまた読み返してるくらいです(読了から一ヶ月も経ってない)

それでは明日お仕事の方のリリースで早いのでそろそろ寝ますね(´°ω°)ノシ


ランキング参加中!
よろしければぽちっとお願い致します↓(´∀`*)




greenDAO入門の和訳

2015.05.18 (Mon)  Android
greenDAOの学習を兼ねて、ひとまずgreenDAO公式サイトのHow to get startedを和訳してみました。
英語に愛されない才能に恵まれたので、ほぼGoogle先生頼り&意訳混じりです。間違ってるところあったら教えてください。
公式サイト⇒http://greendao-orm.com/

和訳ここから↓


■greenDAOの始め方

このチュートリアルでは、greenDAOの使い方について、簡単なサンプルプロジェクトを使って説明していきます。
サンプルはhttps://github.com/greenrobot/greenDAOからダウンロード可能です。
なお、このプロジェクトは「DaoExample」と「DaoExampleGenerator」の二つのサブプロジェクトで構成されています。
GitHubからプロジェクトをクローンで取得、またはGitHub上で直接ファイルを閲覧することもできます。

チェックアウトしたDaoExampleは、Androidアプリケーションとして実行可能です。メモを取るためのシンプルなアプリとなっています。
文字を入力することで新しいノートを追加したり、既存のノートを押下することでノートを削除することが可能です。


・生成されたコードと、テーブルの作成について

src-genフォルダには、既にいくつか生成されたコードが入っています。

1)Note.java⇒ノートの要素を記述したクラス。
2)NoteDao.java⇒ノートオブジェクトを扱うインターフェイスとなるDAOクラス。

DaoExampleGeneratorを使えばこうしたNoteクラスやNoteDaoクラスはいつでも生成できますが、ひとまずはDaoExampleについて見ていきましょう。
DaoExample内のDaoMasterクラスを使うと、簡単にSQLiteOpenHelperを取得することが出来ます。



new DaoMaster.DevOpenHelper(this, "notes-db", null)



処理をgreenDAOが自動的に行ってくれるので、「CREATE TABLE」をする必要はありません。


・ノートの挿入および削除

ノート用のテーブルがあれば、ノートをデータベースに登録することが出来ます。
この処理はNoteActivityクラスで行われており、onCreateメソッドでDAOオブジェクトを準備します。



daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
noteDao = daoSession.getNoteDao();




次にaddNoteメソッドを見てみましょう。
データベースに新しいノートを追加するにはこのように書きます。



Note note = new Note(null, noteText, comment, new Date());
noteDao.insert(note);
Log.d("DaoExample", "Inserted new note, ID: " + note.getId());




Javaオブジェクトを作成し、DAOのinsertを呼び出すだけです。
insert処理後にログで確認できる通り、今追加されたノートにはデータベースIDが既に割り当てられています。

ノートの削除も簡単です。onListItemClickメソッドを見てみましょう。



noteDao.deleteByKey(id);



ここでは割愛しますが、loadAllやupdateなどの他のメソッドもあります。


・データモデルとコードの作成について

メモを拡張したり、新しいエンティティを作成したりするには、DaoExampleGeneratorを見る必要があります。
DaoExampleGeneratorには、データモデルの定義を記載したクラスが置いてあります。



Schema schema = new Schema(1, "de.greenrobot.daoexample");
Entity note = schema.addEntity("Note");
note.addIdProperty();
note.addStringProperty("text").notNull();
note.addStringProperty("comment");
note.addDateProperty("date");
new DaoGenerator().generateAll(schema, "../DaoExample/src-gen");




ここでエンティティ追加用のスキーマオブジェクトを作成します。
エンティティには、データベースの列にマップされているプロパティを記載します。
スキーマの定義が完了したらコードの自動生成を行うことが出来ます。Note.javaとNoteDao.javaはこの方法で生成されたものです。


・次の一歩

さて、greenDAOについてどのように感じたでしょうか。是非、自分で色々試してみてください。
使い方については、こちらのマニュアルも参照してください。マニュアルを見ても解決しない問題があればサポートオプションをご利用ください。



和訳ここまで↑

なんとなく概念が分かってきたような段階です。
でもまだAndroidStudioに投入出来てすらいないっていう駄目っぷり。エラーの波にもまれている。せめて動かしたいのでもう少し頑張ります


ランキング参加中!
よろしければぽちっとお願い致します↓(´∀`*)




 | HOME | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。