Androidアプリ作成日記

プログラミング初心者が、Androidアプリを作ります

スポンサーサイト

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

  1. --/--/--(--) --:--:--|
  2. スポンサー広告

家計簿アプリその2、ページ移動・他

最近仕事が忙しくて中々プログラミングができませんでしたが、ようやく休日なのでじっくりできます。
今回のプログラミングの主な内容は、

・ページ移動
・メニューアイコン

を使いました。これだけで5時間ぐらいかかりました。。要領悪いのかな俺。


kakeibo-1.jpg

これがトップ画面です。まだなーんもないです。下のメニューバーは実機(orエミュレータ)の
メニューボタンを押すと出てきます。次にこのソース。

[Kakeibo.java]

package android.kakeibo;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;

public class Kakeibo extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
    	MenuInflater inflater = getMenuInflater();
    	inflater.inflate(R.layout.menu, menu);
        return true;
    }

    //メニューアイテム選択イベントの処理
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_item0:
            	Intent intent =new Intent();
    			intent.setClass(Kakeibo.this, Setting.class);
    			startActivity(intent);
                return true;
            case R.id.menu_item1:
            	Intent intent2 =new Intent();
    			intent2.setClass(Kakeibo.this, Setting.class);
    			startActivity(intent2);
                return true;
            case R.id.menu_item2:
            	Intent intent3 =new Intent();
    			intent3.setClass(Kakeibo.this, Setting.class);
    			startActivity(intent3);
                return true;
        }
        return true;
    }
}

・23行目
onCreateOptionsMenuでmenuの設定をします。
MenuInflaterとinflater.inflateメソッドで、後に書くR.layout.menu.xmlを参照します。

・32行目
メニューをタップするとonOptionsItemSelectedメソッドが呼び出されます。
今は3つのメニューボタンがあり、switchメソッドで各ボタンが押されたときの処理を記述します。
とりあえず今は全部Settingページに飛ぶようになってます。(37,42,47行目)
そして、ページを飛ぶときにintentを設定すれば、飛んだ先にintentの内容を持っていけます。

[menu.xml]



	
	
	
	
	
	

・3行目
numericShortcutはショートカットボタン?らしいです。よく分かりません。
@android:drawable/に色々なアイコンが格納されています。

次は、飛んだ先のページです。

kakeibo-2.jpg

[Setting.java]

package android.kakeibo;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Setting extends Activity {
    private Button button;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.setting);
     button= (Button)this.findViewById(R.id.button2);
     button.setOnClickListener(new MyClickAdapter());
    }

    class MyClickAdapter implements OnClickListener{
    	public void onClick(View v) {
    		finish();
		}}
}

・22行目 finishメソッドでそのページを終わりにしてます。前のページへ戻ります。

こんな感じですね。メニューとページ移動は思った以上に苦戦したんで全然進みませんでした。
次は内容を少しでも書きたいと思います。


[追記:2011/2/13]
このページを参考にしてインテントを作ろうとして、同じようにやってんのに
どーもうまくいかないなぁと思って試行錯誤していたら、Androidマニフェストが原因でした。
<activity android:name="Setting"></activity>と、インテント先のクラスを書かなきゃいけないみたいでした。
一応今後のためにもマニフェストのソースを書いておきます。



    
        
            
                
                
            
        
	
    
    



Androidアプリ開発ランキング

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2011/01/22(土) 03:11:34|
  2. 家計簿アプリ
  3. | トラックバック:0
  4. | コメント:2
<<PlayStation Suite発表! | ホーム | 家計簿アプリその1、基本アイデア>>

コメント

R.ってどういうことですか?
教えてください。
  1. URL |
  2. 2011/11/25(金) 13:27:54 |
  3. さっぽろ #-
  4. [ 編集 ]

Re: タイトルなし

コメントありがとうございます。
R.というのはRクラスの事です。これは、プロジェクトを作ると自動的に生成されます。
Rとはリソースという意味で、様々なidなどを管理しています。
今回のプログラムでは、メニューアイテムのidやレイアウトを管理しているようです。
でもこれは自動的に作られるので、あんまり気にしなくてもいい気がしますよ。
  1. URL |
  2. 2011/11/26(土) 23:57:13 |
  3. アンドロ #-
  4. [ 編集 ]

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://andromaker.blog98.fc2.com/tb.php/30-761f026e
この記事にトラックバックする(FC2ブログユーザー)


カテゴリ

家計簿アプリ (15)
アプリ作成 (練習) (7)
プログラム用語 (1)
エラー (3)
環境設定 (8)
サイト関連 (3)
雑談 (9)
ニュース (1)
未分類 (2)
書籍紹介 (1)
iPhone (1)

Android書籍

スマートにプログラミング
Android入門編


初歩からわかるAndroid
最新プログラミング


Google Android
プログラミング入門


AndroidアプリUIデザイン
&プログラミング


Android SDK
逆引きハンドブック

月別アーカイブ

最新コメント

最新トラックバック

最新記事

RSSリンクの表示

カウンター

アクセスランキング

アクセスランキング

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