2012年4月29日日曜日

SDカードにコピー

AndroidアプリをSDカードにコピーするのは以下の設定。


1.AndroidManifestの、

・Install location→auto
・minSDKVersion→8以降(2.2以降の機能であるため)


2.マーケット側でコピー防止機能をオフ(これいらんかも)


2012年4月25日水曜日

listview色変え

苦戦した。

viewを新規作成する際は


tmp1 = text.getText().toString();
if(tmp1.equals("target")){
text.setTextColor(Color.CYAN);
data.get(position).setcfl(true);
VH.tv.setTextColor(Color.CYAN);
VH.cfl = true;
}else{
text.setTextColor(Color.RED);
data.get(position).setcfl(false);
VH.tv.setTextColor(Color.RED);
VH.cfl = false;
}

こんなんでいいんだけど、問題は再利用する際。
今回はviewholderを使用しているので、
view.getTagした後、data.get(position).gettextの値によって、
「holderのデータ(ここでは色情報)」を書き換えてやる必要がある。


やったー。

2012年4月23日月曜日

続き。

にっちもさっちもニッチ戦略もプッチモニも行かなくなったので、
とりあえず別解決手段を探した。

何の話かってーとListActivityにヘッダ付ける話。

解決してみると簡単な話でしたOTL


ListActivityも、通常Activityと同じようにまずsetContentView。
で、そのレイアウト内を、

Relative

Linear
ヘッダ
/Linear

Listview
/Listview

/Relative

と書いてあげればOK。
注意点はListActivity内のListIDを@id/android:list"とすること。
じゃないとRuntimeExeption食らう。
ListActivity側で、id.listを決めうちで呼んでるらしい。


あと覚えておくこととしては、Listactivity内のListは
this.getListViewで拾える。ListView周りをいじりたい時はこっちのがいいかも。

あー詰まった。
よしよし、でもすっきり。

2012年4月7日土曜日

バックキー長押しからのリストダイアログ表示からの酒飲みたい

既にオプションメニューに毛色の違うメニューを実装しているので、
違うインターフェースを模索してみた。

・画面長押しorダブルタップ
・ハードウェアキー長押し

あたりがぱっと浮かんだけど、リストビューを使ってるから前者難しそう。てことで後者。

オプションキーとホームキーは仕様上使えないぽい。
のでバックキーに割り当てよう。

まずバックキー長押し取得。
(参考:http://techbooster.jpn.org/andriod/device/4053/)
onKeyLongPressを実装する。
拾ったeventのキーコードを取得して定数と照らし合わせる。わぁ素敵。

public boolean onKeyLongPress(int keyCode, KeyEvent event) {
    if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) {
        Toast.makeText(this, "バックキー長押し", Toast.LENGTH_SHORT ).show();
          return true;
    }

テストでトースト表示。
で、次。

イベントの目的はというと、画面レイアウトの変更をしたいので、リストダイアログを呼び出すことにする。


 AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("選択");
            builder.setItems(items, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int item) {
                }
            });
 AlertDialog alert = builder.create();
 alert.show();

こんな感じ。
itemsはstr[]。

長くなったんで次の記事へ。

2012年4月3日火曜日

androidアプリアップデート方法

こんなとこで詰まるのは自分くらいじゃないかと結構悲しくなったけどメモ。
デベロッパー画面内に明示的にアップデートボタンのようなものは無く、
manifest.xml内のVersionCode等、バージョンを表す数値を増やしたapkをアップすればよい。
証明書は同じもので。


いやーハマった。
ちなみに反映までは体感的に30分ほど。

1本出来るまで。

バーチャファイターという大分息の長いゲームをやってるんですが、
今回はゲーセンで見るための技表アプリを作りました。

アプリURL: http://t.co/JNynFpVh

 ひとまず形になるまでに超えた山を備忘録としてメモ。


1.リストビューのカスタマイズ

最初から実装されているリストビューではレイアウトが合わなかったのでひとまずこれをカスタマイズする手段を探した。

「リストビューをカスタマイズする」
http://techbooster.org/android/ui/1282/
を参考にカスタムビューを作成。


2.SQLとの連携

次に、ハードコーディング回避のためにDBとしてデータを持ちたかったのでSQL連携部分について実装。

「AndroidでSQLiteのDB操作をするための基礎知識」
http://www.atmarkit.co.jp/fsmart/articles/android06/android06_1.html
を参考にした。
ただ結局内部でexecqueryを行っているためにほぼハードコーディング状態w
何とかしたい・・・


とりあえず上記2つかな。


※未実装項目

・不利フレーム(数値)によって色分け
楽に出来るかと思いきやそうでもないことが判明。
色を変えたポジションの情報保持がうまくいかん。
四苦八苦中。

・ヘッダの固定
これも苦戦中。
xmlを連結させて動作させてるため、別レイアウトが必要なのかなーと思いつつ放置中。

・表示項目をユーザで任意設定
これはまだ取り掛かってないけどやってみたい。
インターフェースどうしよっかなぁ。

2012年4月1日日曜日

オプションメニュー表示

galaxy s使ってますが、ホームボタンの横の2つのボタン名称が分からず、イベント実装のための参考文献がなかなか探せなかったのでメモw

向かって左がメニューボタン、右がバックボタンっていうらしいよ・・・
勝手に便利ボタンと戻るボタンとか名づけてすいませんでした・・・

で、実装。
メニューつけたいActivity生成時に、

public boolean onCreateOptionsMenu(Menu menu) {
   boolean ret = super.onCreateOptionsMenu(menu);
   menu.add(0 , Menu.FIRST , Menu.NONE , “その1″);
   menu.add(0 , Menu.FIRST + 1 ,Menu.NONE , “その2″);
   return ret;
}


を実装する。
(参考:http://android.roof-balcony.com/activity/optionmenu/)
項目追加はmenu.addしてあげればよいだけ。シンプル。
引数はグループインデックス、アイテムインデックス、表示順序変更パラメータ、内容。
クリック時のイベントは、
    @Override
    public boolean onOptionsItemSelected(MenuItem item)
で実装。
item.getitemidインターフェースでどれ選んだか判定。