2014年1月4日

OnClickListenerとは

OnClickListener

ボタン等、部品にクリックイベントを設定する為に使用します。

設定する方法はいくつかありますが、implementsに設定する方法をオススメします。

かつswitchでボタンidを判定する方法が自分は好きです。

Button配置
Clickイベント
















MainAcitivity.java
public class MainActivity extends Activity implements OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//ボタン部品取得
Button _btn1 = (Button)findViewById(R.id.button1);
Button _btn2 = (Button)findViewById(R.id.button2);
Button _btn3 = (Button)findViewById(R.id.button3);

//ボタンをクリックリスナーへ登録
_btn1.setOnClickListener(this);
_btn2.setOnClickListener(this);
_btn3.setOnClickListener(this);
}

@Override
public void onClick(View arg0) {
// TODO 自動生成されたメソッド・スタブ
//オススメはswitchを使用
switch(arg0.getId()){

case R.id.button1:
//【おはようボタン】のイベントを記載
Toast.makeText(this, "おはよう!", Toast.LENGTH_SHORT).show();   
break;

case R.id.button2:
//【こんにちわボタン】のイベントを記載
Toast.makeText(this, "こんにちわ!", Toast.LENGTH_SHORT).show();
break;

case R.id.button3:
//【こんばんわボタン】のイベントを記載
Toast.makeText(this, "こんばんわ!", Toast.LENGTH_SHORT).show();   
break;
}

}
}




res/layout/activity_main.xml
<?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"
    android:gravity="center"
    >
    <Button
        android:text="おはよう"
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </Button>
    <Button
        android:text="こんにちわ"
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </Button>
    <Button
        android:text="こんばんわ"
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
    </Button>
</LinearLayout>

MenuItemとは

MenuItem

オプションメニューやアクションバーのメニューや、色んなメニューのアイテムを

格納するときに使用します。もちろん使用しなくてもいいですがソースをスッキリできます。

なおActionBarを下位APIで使用可能とする為、support.v7を使用している為、

menu表示に※注意があります。

※MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);

ActionBar Menu
OnMenuItemClickListener

















MainActivity.java
public class MainActivity extends ActionBarActivity{
private ActionBar ab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ab = getSupportActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);//初期画面をStandardで設定

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//ヘルプメニュー作成
MenuItem _item1 = menu.add(0 , 0 ,0,"Help").setIcon(android.R.drawable.ic_menu_help);
MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item1.setOnMenuItemClickListener(new OnMenuItemClickListener(){//ヘルプボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "ヘルプ!", Toast.LENGTH_SHORT).show();   
return false;
}
});

//設定メニュー作成
MenuItem _item2 = menu.add(0 , 1 ,0,"Setting").setIcon(android.R.drawable.ic_menu_preferences);
MenuItemCompat.setShowAsAction(_item2, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item2.setOnMenuItemClickListener(new OnMenuItemClickListener(){//設定ボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "設定!", Toast.LENGTH_SHORT).show();   
return false;
}
});

return true;
}
}


2014年1月3日

OnMenuItemClickListenerとは

OnMenuItemClickListener

メニューをクリックしたときのイベントリスナーを設定するもの。

以下ソース例ではActionBar内のメニュー要素をクリックでToastを発行しています。

なおActionBarを下位APIで使用可能とする為、support.v7を使用している為、

menu表示に※注意があります。

※MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);

ActionBar Menu
OnMenuItemClickListener

















MainActivity.java
public class MainActivity extends ActionBarActivity{
private ActionBar ab;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ab = getSupportActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);//初期画面をStandardで設定

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
//ヘルプメニュー作成
MenuItem _item1 = menu.add(0 , 0 ,0,"Help").setIcon(android.R.drawable.ic_menu_help);
MenuItemCompat.setShowAsAction(_item1, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item1.setOnMenuItemClickListener(new OnMenuItemClickListener(){//ヘルプボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "ヘルプ!", Toast.LENGTH_SHORT).show();   
return false;
}
});

//設定メニュー作成
MenuItem _item2 = menu.add(0 , 1 ,0,"Setting").setIcon(android.R.drawable.ic_menu_preferences);
MenuItemCompat.setShowAsAction(_item2, MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
_item2.setOnMenuItemClickListener(new OnMenuItemClickListener(){//設定ボタンイベントリスナー
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO 自動生成されたメソッド・スタブ
Toast.makeText(MainActivity.this, "設定!", Toast.LENGTH_SHORT).show();   
return false;
}
});

return true;
}
}



2014年1月1日

2013年さようなら、2014年おはよう!

2014年あけましておめでとうございます!

androidアプリを作り始めて2年が経過し、2013年はアプリ作成に意欲がでた年でもありました。

おかげさまで無料公開中の3アプリは100DLを超えました。

当初100DLがまず夢で作り始めましたが、案外あっさりといきました。

2014年は1000DLを目指してがんばります!

ブログを始めてから初めての年越しとなるので記念にアプリDLと広告収入を公開致します。

なお広告は2013年10月初旬からの現在までの約3ヶ月分です。


アプリ名:体重計アラーム
総DL数:898
有効インストール:173
広告収入:503円
https://play.google.com/store/apps/details?id=bodony.pack.diet&hl=ja


《感想》
マーケットを意識して初めて作成したアプリでした。おかげさまで1000近くはなってきましたが
さすがに公開1年を経過するとほとんど伸びません。有効も173となってますが本当に有効なのは30か40くらいでしょう。






アプリ名:貯めマスっち
総DL数:279
有効インストール:110
広告収入:608円
https://play.google.com/store/apps/details?id=bodony.pack.tamemasucchi&hl=ja


《感想》
真剣に1000DLを狙って年齢層などを気にしてゆるキャラで作成してみました。
広告にも力を入れて、このアプリで初めてアンドロイダーの公認アプリにチャレンジしました。
無事、公認となり順調であったもののDLは伸び悩み現在、1日1~3ほど。





アプリ名:かんたん血圧記録
総DL数:155
有効インストール:54
広告収入:210円
https://play.google.com/store/apps/details?id=bodony.pack.easybloodpressure&hl=ja

《感想》
最初の体重計アラームが予想に反してなかなかのDL数だったので似た機能で血圧バージョンを作成。しかし、シンプルすぎたのか、または年齢層をあげすぎたのか伸びず。




以上!

2013年を振り返るとチャレンジの年でした。
2014年もチャレンジの年とします。

このブログを読んでくださった方々、今年も宜しくお願いしますね!