Android開發中遇到的問題(二)——建立android工程的時候eclipse沒有產生MainActivity和layout布局

來源:互聯網
上載者:User

標籤:

一、建立android工程的時候eclipse沒有產生MainActivity和layout布局

  最近由於工作上的原因,開始學習Android開發,在入門的時候就遇到了不少的坑,遇到的第一個坑就是"建立android工程的時候eclipse沒有自動產生MainActivity和layout布局”,項目的建立過程如所示:

  

  

  

  

  

  

  展開HelloAndroid項目,可以看到建立好的項目的目錄結構,如所示:

  

  我的項目是採用的是官方整合了ADT的Eclipse(adt-bundle-windows-x86_64-20140702)建立的,建立項目時選擇的是【Blank Activity】,結果產生的項目的目錄結構就成了如所示的樣子,正常情況下,Eclipse會在src目錄下建立一個名字為me.gacl.helloandroid的包,然后里面會有一個MainActivity.java的檔案,然後layout檔案夾中會有一個activity_main.xml檔案,但是現在這兩個都沒有產生。由於HelloAndroid項目中沒有可啟動並執行Activity,那麼直接運行HelloAndroid項目是無法啟動並執行,如所示:

  在Eclipse中運行Android項目,操作步驟如所示:

  

  運行會在Console列印出 "No Launcher activity found!",並且模擬器也不運行,如所示:

  

  下面說一下"No Launcher activity found!"錯誤,叫Android的項目中都會有一個AndroidManifest.xml設定檔,如所示:

    

  我們看一下AndroidManifest.xml裡面的代碼,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="me.gacl.helloandroid"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="21" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >    </application></manifest>

  可以看到,裡面沒有配置啟動項,原因是因為Eclipse在建立項目時沒有幫我們自動產生MainActivity.java和activity_main.xml檔案,這應該是Eclipse在建立【Blank Activity】的bug,在<application></application>中少了這段代碼

<activity android:name=".MainActivity" android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter></activity>

  其中.MainActivity就是你的項目的主Activity,所以凡是遇到"No Launcher activity found!"錯誤,那麼絕對是AndroidManifest.xml檔案中沒有配置啟動的主Activity

二、建立android工程的時候eclipse沒有產生MainActivity和layout布局的解決辦法

  解決辦法:在建立項目時把【Blank Activity】換成【Empty Activity】就可以解決上述所說的問題!

  刪除HelloAndroid項目,重新建立,前面的建立步驟都一樣,就是到【Create Activity】時選擇【Empty Activity】,如所示:

  

  很多視頻教程在【Create Activity】這一步時選擇的都是【Blank Activity】,但是經過我實踐證明,【Create Activity】時這一步時如果選擇的是【Blank Activity】,那麼建立出來的Android項目就會出現"建立android工程的時候eclipse沒有自動產生MainActivity和layout布局的問題也就是沒有產生MainActivity.java和activity_main.xml檔案,缺少了MainActivity的Android項目是無法啟動並執行,運行時就會出現上述所說的"No Launcher activity found!"錯誤。所以到了這一步千萬要注意,【Create Activity】這一步時選擇的是【Empty Activity】,而不是【Blank Activity】。這或許和我自身使用的Eclipse版本有關係,我使用的採用的是官方整合了ADT的Eclipse(adt-bundle-windows-x86_64-20140702),而有些版本的Eclipse在【Create Activity】這一步時選擇【Blank Activity】是可以正常產生MainActivity和layout布局的,反正建立項目到【Create Activity】這一步時,如果自身使用的Eclipse版本在【Create Activity】這一步時選擇【Blank Activity】可以正常產生MainActivity和layout布局的話,那麼【Create Activity】就可以選擇【Blank Activity】作為建立模板,如果不行,那麼【Create Activity】就選擇【Create Activity】作為建立模板,反正我們的目的就是希望Eclipse自動幫我們產生MainActivity和layout布局,哪一種模板可以做到就選擇哪一種。

  

  點擊【Finish】按鈕完成建立,這樣建立的android項目就會自動產生MainActivity.java和activity_main.xml檔案,如所示:

  

  我們看看AndroidManifest.xml中的代碼:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="me.gacl.helloandroid"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="21" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>    </application></manifest>

  在<application></application>中多了這段代碼

<activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter></activity>

  我們直接運行建立的Android項目,如所示:
  

  運行Android應用時,是需要在模擬器上面啟動並執行,到這一步時首先是要建立一個模擬器的,不過在Eclipse中建立模擬器時啟動要花很長時間,剛好我手頭上有一台台電的平板電腦,可以用於測試,因此就直接使用真機測試了,如所示:

  

  在平板電腦中的運行結果如下:

  

  平板電腦的案頭上也顯示出了我們安裝部署上面的HelloAndriod應用的表徵圖,如所示:

  

Android開發中遇到的問題(二)——建立android工程的時候eclipse沒有產生MainActivity和layout布局

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.