• ベストアンサー
  • 困ってます

アンドロイド MainActivity.java

アンドロイド(JAVA)でアプリを開発してます。 いくつかの画面が存在して、ある程度、動作するようになってるのですが、 MainActivity.javaというファイルがプロジェクト内に存在しません。 いろいろとやりたい事調べてると、MainActivity.javaというのが出てくるのですが MainActivity.javaというファイルは別になくても支障はないのでしょうか? 今、構成上Activityはいくつかあり、AndroidMainFest.xmlというファイルで Activityの設定などをしてます。 MainActivity.javaというのは、何か特別な動きをするファイルなのでしょうか? なくても問題なしでしょうか? 以上、素人質問かも知れませんが、よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数89
  • ありがとう数10

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

  • ベストアンサー
  • 回答No.1
  • shylock
  • ベストアンサー率73% (182/249)

MainActivity.javaというのは、ADTやAndroid Studioでプロジェクトを作成する際、デフォルトで表示されるアクティビティクラスとして自動生成されるクラスです。要するに、クラス名などを設定せずデフォルトでプロジェクトを作ればMainActivityになる、ということですね。 クラス名として、「メインで表示されるアクティビティ=MainActivity」でわかりやすいですし、敢えて別のものに変更しなければならない理由も特に思い浮かばないので、みんなMainActivityのまま作っている、というだけでしょうね。 ですから、既に別の名前でアクティビティクラスを作って動かしているのであれば、そのままで全然構いません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

納得しました。お返事、どうもありがとうございます。

関連するQ&A

  • 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 PhoneGap WebSetti

    メソッド setDefaultZoom(WebSettings.ZoomDensity) は型 WebSettings で使用すべきではありません という警告がEclipseで出ます。 以下のソースの最後の行が警告の対象です。 適切な対応を行いたいのですが、どのようにするとよいでしようか? android:targetSdkVersion="19" とするとこの警告はでなくなりますが、いつかは19のようにバージョンを上げることになると思うので、今から既に19で進めていきたいです。 // AndroidManifest.xml <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" /> // MainActivity.java public class MainActivity extends DroidGap { @Override public void onCreate(Bundle b) {    super.onCreate(b);    ・・・    settings.setDefaultZoom(ZoomDensity.MEDIUM);

    • ベストアンサー
    • Java
  • アンドロイドスタジオ MainActivity

    アンドロイドスタジオにおいて「MainActivity」とはJava言語のMainメソッド(Main関数)とは違う物なのでしょうか? どちらもJava言語だと思うのですが (自分でも少し混乱中です。) 素朴な疑問です。

  • Androidのボタン押下のイベント

    初めてボタンを付けました。 きちんと動作しましたが、ボタンと関係のないアプリの名前の変更などをしていたら ボタンを押してもMainActivity.javaの public class MainActivity extends Activity implements OnClickListener { ・・・ public void onClick(View v) { Toast.makeText(this, "ボタンが押されました", Toast.LENGTH_LONG).show(); } がいつの間にか動作しなくなりました。 ボタンを押すとボタンは勝手に青くなって標準の音も出ますが、"ボタンが押されました"が表示されなくなりました。 どこを見直したらよいですか?

    • ベストアンサー
    • Java
  • ロード中の画面

    いつもお世話になっております。 androidアプリの開発は行っております。 まだ経験が乏しいため、お力をお貸しいただきたく存じます。 下記ページを参考にロード中の画面を表示するようにしています。 https://sites.google.com/site/technoute/android/thread/thread_progress MainActivity.java ------------------------------------------------------------ public boolean onTouchEvent(MotionEvent event) {   // loading   this.m_SimpleThread = new AsyncTaskProgressDialogSimple(this);   this.m_SimpleThread.execute();   // TopActivity   Intent intent = new Intent(MainActivity.this, TopActivity.class);   startActivity(intent);   return super.onTouchEvent(event); } MainActivity.java でタップした時に、ロード画面を生成して TopActivity.javaに画面遷移しています。 TopActivity.java ------------------------------------------------------------ protected void onCreate(Bundle savedInstanceState) {   // http://&#65374;に接続して、jsonデータから一覧表示を生成 } TopActivity.java ではjsonデータを取得して一覧表示しています。 その間も、MainActivity.java で生成したロード画面を表示しておきたいと思います。 よろしくご教示お願いいたします。

  • R.javaが自動生成されない

    Androidアプリ開発をEclipseでしていますがR.javaが自動生成されず、 ビルド時にエラーが出てしまいます。 コンパイル時に「Rを変数に解決できません」の主旨のエラーが出ています。 他サイトでの対処方法を参考に以下方法を実行しましたが、 R.javaは自動生成されずに半ばあきらめぎみです… 以下試した方法 --------------------------------------------------------- ○Eclipseのプロジェクトスクリーンを実行する ○「プロジェクト」→「自動的にビルド」にチェックが入っている ○layoutフォルダのXMLの文法エラーはない ○Eclipseの再起動 ○プロジェクトのクリーン ○xmlファイル名はactivity_mainであり大文字はつかっていない ○「ウィンドウ」を選択し「設定」→「Java」→「コンパイラー」 でコンパイラー準拠レベルを変更 --------------------------------------------------------- 以下activity_main.xml ---------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <TextView android:id="@+id/TextView01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textSize="12pt" /> <Button android:id="@+id/button01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/button01" /> </LinearLayout> ---------------------------------------------------------------------- 以下string.xml ---------------------------------------------------------------------- <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Botan</string> <string name="hello">ボタンを押してね。</string> <string name="button01">クリック</string> </resources> ---------------------------------------------------------------------- 以下MainActivity.java ---------------------------------------------------------------------- package com.example.botan; import android.os.Bundle; import android.app.Activity; import android.view.*; import android.view.View.OnClickListener; import android.widget.*; public class MainActivity extends Activity { private TextView text1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text1 = (TextView)this.findViewById(R.id.TextView); Button btn1 = (Button)this.findViewById(R.id.burron01); btn1.setOnClickListener(new MyClickAdapter()); } class MyClickAdapter implements OnClickListener { public void onClick(View view){ text1.setText("クリックしました!"); } } }----------------------------------------------------------------------------------- どなたか他にチェックする箇所、 もしくは上記で不適切な記述があることが分かるかた ご教示下さい。 よろしくお願い申し上げます。 補足 以下参考サイト(ソース等はコピペしたので同じはずです) ▼Androidプログラミング日記 http://androidn.hannnari.com/link7-botan.html

    • ベストアンサー
    • Java
  • Android R.color

    「values/colors.xml」内に「<color name="orange">#ffa500</color>」とか設定して、プログラムから下記みたいな感じで取得しようとするとエラーになってしまいます。 プログラムからリソースのカラーの値を取得する方法を ご存知の方が いらっしゃいましたら ご教授下さいm(_ _)m &#65374; import android.graphics.Color; &#65374; public class MainActivity extends AppCompatActivity { &#65374; int c = Color.parseColor(getString(R.color.orange)); &#65374;

  • アンドロイド 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
  • PhoneGapとjavaの変数の取得

    TELEPHONY_SERVICEのgetDeviceId()で取得できる値をPhoneGapから取得する方法を教えてください。 直接取得できるなら直接の方法を教えてください。 MainActivity.javaにgetDeviceId()で取得した値をグローバル変数などに代入してPhoneGapでJavaScriptなどでその値を参照することができましたらその方法も教えてください。

    • ベストアンサー
    • Java
  • [android]画面に円が表示されない原因

    こんにちは。 以下のサイトを参考に白い画面に赤い円を表示させたいのですが、実際にはエミュレータ上に表示されません。 logcatのエラーもありません。原因と対処方法をご教授ください。 eclipseのバージョンは以下のとおりです。 Eclipse Platform 3.8.0.v20120607-071945-9gF7jI7nG5qByXMVdkhRMWBQlF4PnDCLybDCPQ http://www.hakkaku.net/articles/20091127-594 ★MainActivity.java package com.example.test001_001; 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.Menu; import android.view.View; public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 描画クラスを設定 setContentView(new TestDrawView(getApplication())); } /* 描画用クラス */ class TestDrawView extends View { public TestDrawView(Context c) { super(c); } } // このメソッドで描画を行う protected void onDraw(Canvas c) { // --------- (*1)Check!! c.drawColor(Color.WHITE); Paint p = new Paint(); p.setColor(Color.RED); p.setStyle(Paint.Style.FILL); c.drawCircle(100, 100, 50, p); } }