Window w = getWindow(); w.requestFeature(Window.FEATURE_LEFT_ICON); setContentView(R.layout.search); w.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.icon);
AndroidでWeb APIを使う場合、マルチスレッドによるユーザビリティ向上を以前のエントリで説明しました。 AndroidアプリのUIはシングル・スレッド モデルです。 単純にマルチスレッドにしてUIの操作をしてしまうと、CalledFromWrongThreadExceptionでアプリがダウンしてしまいます。 これを回避する仕組みがHandlerです。 Handlerの仕組みを簡単に説明しようと思ったのですが、 またもや長くなってしまったので、先にまとめます。 AndroidのUI操作はシングル・スレッド モデル ユーザビリティ向上の為にはマルチスレッドが必要 Handlerで実現 Handlerを使わない場合に起きる例外は実行スレッドのチェックで発生 Handlerを使うと、UI Threadの持つキューにジョブを登録できる キューはUI Threadにより実行される
まずは入り口となるメインです。AndroidのアプリケーションはActivityクラスから生成されます。そのため、作成するアプリケーションはActivityクラスを継承する必要があります。 NotepadではActivityクラスのサブクラスであるListActivityを継承しています。 public class Notepadv3 extends ListActivity { @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.notes_list); dbHelper = new DBHelper(this); fillData(); } } アプリケーションが呼び出されると必ずonCreateがコールされますので、ここが実質メインメソッドとな
throw Life Walkin' On The Spiral. Let's see, if that's true or not.
ちょっと時間ができたので、知り合いのブログを読みあさってました。 すると、安藤恐竜さんとこでこんな翻訳記事を見つけました。 Track memory allocations(日本語超訳) 大半のケースでは、数多くの小さくて短命なオブジェクトが原因でGCが起動される。世代別GCのような場合には、このようなオブジェクトの回収を最適化し、頻繁にGCが起動されることを防ぐことができる。AndroidのGCは、残念ながらそのような最適化を行うことができず、パフォーマンスに影響の多い一連のコードの中で、短命なオブジェクトを作ると、そのままアプリケーションの性能にとって影響が多くなってしまう。 マジっすか?!一応原文もチェック。 Track memory allocations Most of the time, garbage collection occurs because of tons
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="[Tags DB]" /> <TextView android:id="@+id/saved_text" android:layout_width="fill_parent" a
<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/container" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/front" android:src="@drawable/front" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <ImageView android:id="@+id/back" android:src="@dr
@Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); SubMenu zoom_sub = menu.addSubMenu(0, 0, "ZOOM", R.drawable.zoom); zoom_sub.add(0, 1, "Zoom In(I)", R.drawable.zoomin); zoom_sub.add(0, 2, "Zoom Out(O)", R.drawable.zoomout); zoom_sub.add(0, 3, "Pan Width", R.drawable.panw); zoom_sub.add(0, 4, "Pan Height", R.drawable.panh); ... }
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く