Javaど素人の自分がなんとか作り上げました(^^;
まず、本体のmokomokomoko.java

JAVA:
  1. package com.simple_sys.Mokomokomoko;
  2.  
  3. import android.app.Activity;
  4. import android.os.Bundle;
  5. import android.view.Window;
  6.  
  7. public class Mokomokomoko extends Activity {
  8.     /** Called when the activity is first created. */
  9.     @Override
  10.     public void onCreate(Bundle savedInstanceState) {
  11.         super.onCreate(savedInstanceState);
  12.         requestWindowFeature(Window.FEATURE_NO_TITLE);
  13.         setContentView(new MokoView(this));
  14.     }
  15. }

どこぞのサンプルをほぼまる写し・・・(^^;

続いて、上記から呼ばれる、MokoViewクラス

JAVA:
  1. package com.simple_sys.Mokomokomoko;
  2. import android.app.Activity;
  3. import android.app.AlertDialog;
  4. import android.content.res.Resources;
  5. import android.content.Context;
  6. import android.content.DialogInterface;
  7. import android.graphics.Bitmap;
  8. import android.graphics.BitmapFactory;
  9. import android.graphics.Canvas;
  10. import android.graphics.Color;
  11. import android.graphics.Rect;
  12. import android.media.MediaPlayer;
  13. import android.view.View;
  14. import android.view.MotionEvent;
  15. import android.util.Log;
  16. import android.media.MediaPlayer;
  17.  
  18. public class MokoView extends View {
  19.     private Bitmap image;
  20.     private int max=17;
  21.     private int page=1;
  22.     private Resources r;
  23.     private String pkgname;
  24.     private MediaPlayer player;
  25.     private int touchStart;
  26.     private int touchEnd;
  27.    
  28.    
  29.     public MokoView(Context context){
  30.         super(context);
  31.         setBackgroundColor(Color.WHITE);
  32.         r=context.getResources();
  33.         pkgname=context.getPackageName();
  34.         image=BitmapFactory.decodeResource(r,getResources().getIdentifier("moko"+page, "drawable", pkgname));
  35.         setFocusable(true);
  36.     }
  37.  
  38.     @Override
  39.     protected void onDraw(Canvas canvas){
  40.  
  41.         int w=image.getWidth();
  42.         int h=image.getHeight();
  43.         Rect src=new Rect(0,0,w,h);
  44.         Rect dst=new Rect(0,0,getWidth(),getHeight());
  45.         canvas.drawBitmap(image,src,dst,null);
  46.  
  47.         //メディアファイルの再生
  48.         try {
  49.             player=MediaPlayer.create(getContext(), getResources().getIdentifier("moko"+page+"s", "raw", pkgname));
  50.             player.prepare();
  51.         } catch (Exception e){
  52.            
  53.         }
  54.         player.seekTo(0);
  55.         player.start();
  56.    
  57.     }
  58.    
  59.     @Override
  60.     public boolean onTouchEvent(MotionEvent event){
  61.          if (event.getAction()==MotionEvent.ACTION_DOWN){
  62.              //押された。押された時点での位置を取得
  63.              touchStart=(int)event.getX();
  64.          }
  65.          else if (event.getAction()==MotionEvent.ACTION_UP){
  66.              //離された
  67.              touchEnd=(int)event.getX();
  68.  
  69.              if (touchStart>touchEnd){
  70.              //右から左に指が移動した(次のページへめくった)
  71.              this.page+=1;
  72.              if (this.page>this.max){this.page=1;}
  73.              } else {
  74.                  //左から右に指が移動した(前のページをめくった)
  75.                  this.page-=1;
  76.                  if (this.page==0){this.page=this.max;}
  77.              }
  78.  
  79.              image=BitmapFactory.decodeResource(r,getResources().getIdentifier("moko"+page, "drawable", pkgname));
  80.              invalidate();
  81.  
  82.             
  83.          }
  84.         return true;
  85.     }
  86.    
  87.  
  88.    
  89. }

一応、指でめくる機能はつけました。
あと、ページが表示されると同時に音声もなるようにしています。

画像と音声の情報ですが、本当はSDカードに入れて、簡単に入れ替えられるようにしたかったのですが、ちょっと力つきまして(^^;アプリケーションの中に埋め込む形になっています。
エラー処理とか手抜きまくりとは思いますが、とりあえず自分で作ったアプリがandoroid上で動くという目的は達成しました。

肝心の息子の反応は・・・今は、もこもこもこより電車の絵本に夢中・・・ f^_^;
次は電車アプリか? (^_^;)

次にEclipseのインストール。
http://developer.android.com/sdk/index.html
によると、「3.4か3.5」ってあるので、
http://www.eclipse.org/downloads/
の右下にある、「Related Links」から、Eclipse Galileo (3.5)のリンクをクリック。
「Download Now」をクリックし、http://www.eclipse.org/downloads/packages/release/galileo/rから、「Eclipse IDE for Java Developers」をクリック。
Download Linkから「Windows 32-bit」を選んで、「eclipse-java-galileo-win32.zip」をダウンロードし、適当なところに解凍。今回は「c:¥eclipse3.5¥」に解凍しました。
で、http://www.myeclipseide.jp/blog/2009/07/eclipse35-download-install.htmlこのあたりを参考に日本語化しました。

環境作りから。
必要なのは、
・Java Developent Kit(JDK)
・Eclipse
・Android SDK
・Android Development Tool(ADT)
とのこと。まずはJDKのインストール。
http://developer.android.com/sdk/index.html
によると、「JDKの5か6」をインストールってあるので、http://www.oracle.com/technetwork/java/javase/downloads/index.htmlから、JDK 6 Ipdate22の「Download JDK」ボタンを押して、ダウンロード。プラットフォームを選んで、「jdk-6u22-windows-i586.exe」をダウンロードしました。ダウンロードしたファイルを実行し、
で「次へ」ボタン。

で「次へ」ボタン。

で「完了」ボタン。
次、PATHの設定。
スタートボタン→設定→コントロールパネル→システム→
で、システムのプロパティを開き、詳細設定タブ→環境変数→システム環境変数→変数「Path」のところをクリックして編集
今表示されている変数値の一番最後に「 ;%JAVA_HOME%¥bin 」を追加して、OK。

あと、JAVA_HOMEという変数を新規に追加。
「新規」のボタンを押し、変数名に「JAVA_HOME」、変数値に「C:¥Program Files¥Java¥jdk1.6.0_21」を入力し、OK→OK→OK。

正常にインストールされたかのチェックは、スタート→プログラム→アクセサリ→コマンドプロンプトから
「javac -version」と入力し、Enter。

こんな感じに出ればおっけい。

一気にblogの毛色が変わりますが(^^;

「これからの時代はandroidだ!」と思い、docomoのHT-03Aを購入したのが去年の11月。
しばらく本業の仕事が忙しく、アプリを使うことしかしていなかったのですが、
ようやくここへ来て、アプリの開発のほうに手を出すことに。

ただ。。。androidで開発するにあたり、とりあえず必要な知識、Javaだと思うんですが、
当方、まったくJavaについて知識がない状態でして・・・(^^;
こんな状態で、作れるようになれるのかな・・・?

とりあえず、Javaの本は、以下を購入。

明解Java 入門編

新品価格
¥2,730から
(2010/10/8 01:39時点)

解きながら学ぶJava 入門編

新品価格
¥2,520から
(2010/10/8 01:36時点)

一通り、読む・・・。なかなか頭に入ってきません(^^;
未だに、「メソッド?」「クラス変数?」「継承?」「implements?」わけわからん状態。。。(^^;

んでも、わからないところは調べながら、やっていくということで。
androidの本は、

Android 1.5プログラミングバイブル

新品価格
¥2,940から
(2010/10/8 01:40時点)


を購入。。。ちょっと前に買ったので、今はこれより新しいバージョン対応の本も出ているようです。

Android2.1プログラミングバイブル

新品価格
¥3,129から
(2010/10/8 01:49時点)


で、作りたいアプリなんですけど、ずばり「絵本アプリ」

というのも、私、息子(1歳)がおります。
その息子が生まれた直後、出産祝いに戴いたものがありまして、それがこの絵本。

もこもこもこ (ぽっぽライブラリ みるみる絵本)

新品価格
¥1,365から
(2010/10/8 01:42時点)


月齢が小さいころは、読んであげてもまったく反応しないし、こんな本面白いのかなぁ?と思っていたら、このところ、本に書いてあるセリフを私が読むと、息子も一緒に読むようになりました。

息子の今一番のお気に入りの絵本なんですが、、、いかんせん、赤ちゃん、本の扱いが乱暴で、そこかしこに折り目、破れ、よだれで汚れ・・・だんだん見るも無残な状態に(^^;

で、考えたのが「androidで絵本を見せるアプリを作ればいいんではないか?」

こんな動機でアプリを作成していきます。
次回、アプリの開発環境設定から始めます。

© 2011 simple blog いろいろ勉強中 Suffusion theme by Sayontan Sinha