Android学习实践:1.初次创建Android项目遇到的各种问题
使用的Android SDK Tools版本:24.3.4
使用的Eclipse版本信息:
Version: Mars Release (4.5.0)
Build id: 20150621-1200
Eclipse插件ADT版本:23.0.6.
在Eclipse中创建一个新工程,选择Android Application Project,点击Next:
如下图所示,填入Application Name,ProjectName,Package Name,下方的选项则是自动的:
接下来的默认选项则如下图所示:
第一个Create custom launcher icon是修改应用程序图标,如图选中,则Next出现下面对话框,不修改图标则直接Next跳过:
接下来是生成Activery的选项,这里就选择Blank Activiry:
接下来就是设置Activery的名字和对应的Layout文件的名字,这里也使用默认的:
点击Finish后,生成项目文件:
发现自动生成了一个appcompat_v7的Library工程,它是一个兼容低版本的支持库,关于Android Support Library请参见:http://blog.csdn.net/crazybigfish/article/details/18363351
选中activity_main.xml文件,在右则发现无法可视化显示,下方还有错误提示:
java.lang.NullPointerExceptionException details are logged in Window > Show View > Error LogThe following classes could not be instantiated:- android.support.v7.internal.app.WindowDecorActionBar (Open Class, Show Error Log)- android.support.v7.internal.widget.ActionBarContextView (Open Class, Show Error Log)- android.support.v7.widget.Toolbar (Open Class, Show Error Log)See the Error Log (Window > Show View) for more details.
因为创建工程时的编译SDK选的是版本22,将右则的版本选择换为21就可以正常显示了,如果遇到类似情况,可以换到更低的版本:
连上手机调试运行,可以各类手机助手自动安装手机驱动,记得关掉手机助手后再到Eclipse中进行调试运行,在工程右键菜单中选择Debug as\Android Application:
在设备列表中选择已成功连接的手机,将会自动将应用安装到手机并运行:
在手机上运行后如下图,应用界面上方有个大的标题”Demo1":
在工程的源代码目录Src中找到MainActivity.java打开:
package maxwoods.demo1;import android.support.v7.app.ActionBarActivity;import maxwoods.demo1.R;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends ActionBarActivity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item){// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings){return true;}return super.onOptionsItemSelected(item);}}
发现其引入了android.support.v7.app.ActionBarActivity,MainActivity继承自ActionBarActivity,而且ActionBarActivity还被标记为过期,可以将它改为AppCompatActivity。这里为了去掉ActionBar,现在修改MainActivity继承自Activity,并加上import android.app.Activity:
package maxwoods.demo1;import maxwoods.demo1.R;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class MainActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic 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;}@Overridepublic boolean onOptionsItemSelected(MenuItem item){// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings){return true;}return super.onOptionsItemSelected(item);}}
重新运行程序,ActionBar没有了:
更多相关文章
- 编译Android(安卓)使用 Java5 还是 Java6
- android.support.v4.app.Fragment和android.app.Fragment区别
- android 手机拍照流程
- 三种方法使android 手机执行 二进制程序
- Android(安卓)使用HTTPClient调用Web请求(查询手机号码区域)
- 【笔记】Android高版本Apache HTTPClient变更兼容和HTTP请求
- 3G定时开关 for android
- android系统信息(内存、cpu、sd卡、电量、版本)获取
- 3G定时开关 for android