AndroidのJAVAの基本(文法)について

このQ&Aのポイント
  • Androidの開発を目指して基本から勉強している方へ
  • implementsや@Overrideの意味や使い方について教えてください
  • onCreateメソッドの引数Bundle savedInstanceStateについて説明してください
回答を見る
  • ベストアンサー

アンドロイドのJAVAの基本(文法)について

アンドロイドの開発を目指して基本から勉強していますが、 本を買っても何のことかさっぱりで困っています。 基本中の基本で恐縮ですが、習熟している方、お助けください。 1.下記はどういう意味でしょうか? public class DBSampleA extends Activity implements View.OnClickListener{ ※implementsの意味を調べても何のことかさっぱりです・・ 2.下記の@Override とは何を意味するのでしょうか? @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); 3.また、onCreate(Bundle savedInstanceState) の中の、 Bundle savedInstanceState はどういう位置付けなのでしょうか?

  • Java
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.2

質問の答えとしては#1さんの回答されている通りですが、アノテーションやオーバーライドといった用語はお分かりでしょうか? もしお分かりでないようでしたら、アンドロイドはひとまず置いておいて、下記の様な入門サイト・書籍などで、まずはJava言語の習得をされる事をお勧めします。 http://www.techscore.com/tech/Java/JavaIntro/index/ http://www.atmarkit.co.jp/fjava/index/index_java5eclipse.html http://www.amazon.co.jp/dp/4798024031/

その他の回答 (1)

回答No.1

1. 「Activity」クラスを継承し、「View.OnClickListener」インタフェースを実装する、という意味です。 2. @Overrideはスーパークラスまたはインタフェースのメソッドをオーバーライドすることを示すアノテーションです。 コンパイル時にチェックされるので、正しくオーバーライドしていないことを検出できます。 3. onCreateメソッドに渡される引数です。

関連するQ&A

  • Android JAVAへでの質問です

    (←※この部分!) の意味がわからないのでどなたか教えていただけないでしょうか? private EditText edit1; ですが、なぜ private がついているのでしょうか?なくても動きましたが何か意味があるのでしょうか? そしてどうして、この子はここにいるのでしょうか? Button btn1 と一緒に仲良くいてもいいんじゃないでしょうか? ================ import android.app.Activity; import android.os.Bundle; import android.text.Editable; import android.view.*; import android.view.View.OnClickListener; import android.widget.*; public class Test2Activity extends Activity { private EditText edit1;(←※この部分!) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); edit1 = (EditText)this.findViewById(R.id.EditText1); Button btn1 = (Button)this.findViewById(R.id.button1); btn1.setOnClickListener(new MyClickA()); } class MyClickA implements OnClickListener { public void onClick(View view){ Editable e = edit1.getText(); int n = Integer.parseInt(e.toString()); Toast toast = Toast.makeText(getApplicationContext(), "数値=" + n, Toast.LENGTH_SHORT); toast.show(); } } }

    • ベストアンサー
    • Java
  • 無名クラスからのstartActivity

    androidの勉強をしております。 無名クラス内からIntentのコンストラクタに渡す引数がthisでは不十分なのはどうしてですか? 以下がソース例です。 略 public class HelloAndroid extends Activity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); 略 button1.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(HelloAndroid.this, HA2.class); startActivity(intent); } }); } }

    • ベストアンサー
    • Java
  • eclipseの新規作成で、最初に出てくるソースについて

    eclipseの新規作成で、最初に出てくるソースについて 超素人です。どなたかこちらの解説をしていただけないでしょうか…? importやpublic、@Overrideの意味とか… package com.pikopiko; import android.app.Activity; import android.os.Bundle; public class yukari2 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } そしてデジタル時計を作ってみたいのですが、下のコードはどこに記述すればいいのでしょうか? <DigitalClock android:id="@+id/DigitalClock" android:layout_width="wrap_content" android:layout_height="wrap_content"/>

  • androidのintentの使い方

    // //問題:LISTを押すと、エラーが出る、Intentの問題ですか? // public class FirstActivity extends Activity { // onCreateメソッド(画面初期表示イベントハンドラ) private static final String TAG ="[HelloWorld]"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);// スーパークラスのonCreateメソッド呼び出し setContentView(R.layout.firstlayout);// レイアウト設定ファイルの指定 ListView listview = (ListView) findViewById(R.id.fruitlist); // ListViewオブジェクト取得 listview.setOnItemClickListener(new ListItemClickListener()); // ListViewオブジェクトにクリックリスナーを関連付け } // アイテムクリックリスナー定義 class ListItemClickListener implements OnItemClickListener { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {// onItemClickメソッド(値選択時イベントハンドラ) ListView listview = (ListView) parent; // ListViewオブジェクト取得 String item = (String) listview.getItemAtPosition(position);// 選択された値取得 Log.d(item, TAG); Intent intent = new Intent(FirstActivity.this,SecondActivity.class);// インテントの生成(呼び出すクラスの指定) startActivity(intent);// 次のアクティビティの起動 } } } -------------------------------------------------------------------------- public class SecondActivity extends Activity { // onCreateメソッド(画面初期表示イベントハンドラ) @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // スーパークラスのonCreateメソッド呼び出し setContentView(R.layout.main);// レイアウト設定ファイルの指定 } }

    • ベストアンサー
    • Java
  • android開発 map コンテナのエラー

    今学校でandroid開発の課題が出ているのですが、エラーの原因が分かりません。 javaの勉強はしていますが、android開発は初めてです。 http://note.chiebukuro.yahoo.co.jp/detail/n237584 上のURLのmapを作成しているのですが、MainActivity.javaでエラーが検出されました。 public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()) .commit(); } } ・ ・ ・ 上のcontainerでエラーとなりました。どうしたらエラーがなくなるのか教えてください。

  • android inflateメソッドについて

    eclipseから「新規アプリケーション・プロジェクト」でプロジェクトを作成すると下記のコードが自動作成されます。 package com.example.hello; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } } この中で、inflateメソッドにカーソルを当てると  void android.view.MenuInflater.inflate(int menuRes, Menu menu) が表示されるので、MenuInflaterクラスのメソッドだと確認できます。 しかし、import文でMenuInflaterクラスを定義していないのになぜ使用できるのでしょうか。

  • Androidプログラミング アプリが停止する

    eclipseでボタンを押すと画像が表示されるアプリをつくろうとしていましたがボタンをを押すとポップアップで「~を停止します。」と表示されアプリが落ちてしまいます。 Ver4.0を使用しています。 package my.application.imageviewer; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.ImageView; public class ImageViewer extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void showImage(View view) { ImageView imageView1 = (ImageView)findViewById(R.id.imageView1); imageView1.setImageResource(R.drawable.sample); } } プログラムにミスがあるのでしょうか? 宜しくお願い致します。

  • androidのオプションメニューについて

    androidアプリの作り方を勉強しているのですが、オプションメニューを実装しようと思いonCreateOptionMenuを書いたのですが、エミュレータでメニューボタンを押してもメニューが現れません。onCreateOptionMenu内でTextViewの文字を変更するようにしたのでが、TextViewは変更されず、そもそもonCreateOptionMenuがスルーされているようです。だれか、わかる方がいたらご教授お願いします。 以下ソースです。 シンプルにしたのですが問題がわかりません。 import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; public class Test04Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionMenu(Menu menu){ super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu, menu); return true; } }

  • androidのアプリを作ってるんですが

    import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.TextView; import android.content.Intent; import android.widget.ImageView; public class GameActivity extends Activity implements OnTouchListener{ private ImageView target; @Override protected void onCreate(Bundle savedInstanceState) { target = (ImageView)findViewById(R.id.imageView1); super.onCreate(savedInstanceState); setContentView(R.layout.activity_game); target.setOnTouchListener(this); } @Override public boolean onTouch(View v, MotionEvent motion) { switch(motion.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_UP: break; } return true; } } これからゲーム本体を作っていこうとしてるんですが、onTouchメソッドを実装してから実機で動作しなくなり、先に進めず困っています。なぜこれで動作しないのか私の知識不足でよくわかりません。 回答お願いいたします。

    • ベストアンサー
    • Java
  • アンドロイド JAVA 警告

    アンドロイド 初心者です package com.example.test; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.View; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new testView(this)); } class testView extends View { public testView(Context context) { super(context); } @Override protected void onDraw(Canvas canvas) { Paint paint = new Paint(); paint.setColor(Color.RED); canvas.drawLine(0, 0, 100, 50, paint); } } } このプラグラムで"Paint paint = new Paint();"のところで "Avoid object allocations during draw/layout operations (preallocate and reuse instead)" の警告が出ます、これを取る方法はありませんか。

    • ベストアンサー
    • Java

専門家に質問してみよう