システムに絶対はない。だからシステム屋は悩み続けなければならん。君の苦悩を私は支持するよ。(すみませんGistにソース移行中です) さて認証部分も終わったので、そろそろAPIでアクセスしないと 何やってるかわかんなくなってくるのでひとまずアクセスしてみよう! 実際にそこまでEvernote使いこなしているのか?という事も疑問でしたが 「メモ(ノート)を取る」という意味ではすごく良いアプリなんだな。。。と感じてました。 で、メモを活用するというアプリを考えた時に 「んじゃEvernote使えば?」というのが、このAPIにアクセスするきっかけになったわけです。 で、、、当初メモを取るアプリを考えていたんですけど、逆に考える事にしました。 メモはいくらでも、どんな媒体でも取るんだから、メモに情報を付加したり、 メモを取った後に色々眺める機能を作ってみようって。 まぁAPIアクセスを考えれるように
Android、いかがですか。 今日もOut Of Memory、出していますでしょうか。 そんなあなたに朗報です。 少しでもメモリにやさしいプログラムを。 今日はSoftReferenceのお話です。 トレードオフ Androidで(というよりもJavaで)パフォーマンスに最も影響を与えるのはインスタンス生成の部分ではないでしょうか。 ループの中でインスタンスを生成しようものなら、たちまちあなたのUIは機敏さを失うことになるでしょう。 インスタンス生成はGCの源です。ストップザワールドを少しでも避けるためには極力newなどは控えなければなりません。 となると、インスタンスを作らないことが究極なのですが、全く作らないというわけにはいきません。ならば、一度作ったインスタンスは再利用しようではありませんか。 その時に役に立つのがキャッシュです。一度作ったインスタンスはキャッシュに保持し
こんにちは。daichi1128です。 前回はHTTP通信をしてTwitterのタイムラインを取得、表示しました。 AndroidでTwitterのタイムラインを取得する【XmlPullParser】 | Techfirm Android Lab ですが、前回までではユーザのアイコンは動的に表示しておらず、決め打ちで出しているだけでした。それではあまり意味がないので、今回は画像取得部分をやることにします。 ただし、メインスレッド上で画像取得をしてしまうと、取得中はユーザからの操作を全く受け付けない、使い勝手の悪いインターフェースになってしまいます。 そこで、ユーザ操作を受けつけつつ、画像を取得するために、別スレッドで処理を行います。 アプリケーションのユーザビリティを向上させるためには、この非同期処理は必須といえます。今回でマスターしてしまいましょう。 さらに、ついでなので無駄なネット
Androidでの開発でListViewにImageViewを埋め込み,画像を非同期で読み込みたい場合,いくつか注意することがあったのでまとめます。 AsyncTaskで画像を非同期に読み込む処理は以下のページを参考にさせて頂きました。 http://labs.techfirm.co.jp/android/cho/1079 セルの位置と画像表示位置が一致しない ListViewはセルとなるViewを使い回しているためか,AsyncTaskで画像を読み込んだ場合,本来表示されるべきセル以外のセルに画像が表示されしまう場合がありました。 多少強引な方法ですが,画像のタグにURLを保存し,タグと一致するURLが読み込まれた場合のみ,画像をセットすることで解決できました。 参考:Android画像付きリストの設定(ListView) | 株式会社ランチェスター 大きめの画像を読み込むとOutOfM
Androidでの開発で、リストビューに項目毎に画像を置くケースでの対応です。 メモリ使用量を抑える為、スクロールさせて実際に必要になったときだけ表示する対処を行う。 ● 読込中と読込完了時の設定 AsyncTaskでバックグラウンド処理を行い、読込中の場合はプログレスバーを表示させる。 ● 画像データのキャッシュの使用 AsyncTaskで一度読み込んだ画像をキャッシュに保持し、スクロールにより再表示する時にwebからの読込を省略する事で負荷を軽減する。 ● 画像データのキャッシュのクリア キャッシュを保持し続けるとメモリ使用量が増える為、リスト画面終了時にキャッシュをクリアする処理を呼び出す。 以上の事を踏まえたソースコードを以下に示します。 画面レイアウト設定用XMLファイル <?xml version="1.0" encoding="utf-8&
Newしなおすとリソース食うからとか言って、使いまわそうとするとIllegalStateExceptionがでてこんなメッセージがでる Cannot execute task: the task has already been executed (a task can be executed only once)タスクは1回しか実行できないんだよって言ってますね。 毎回インスタンスを生成しましょう
以下のようなadapterを作ってみた public class ImageListAdapter extends ArrayAdapter<String>{ private ArrayList<String> urls; private LayoutInflater inflater; public UserListAdapter(Context context, int textViewResourceId, ArrayList<String> urls) { super(context, textViewResourceId, users); this.urls = urls; this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } @Override
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く