AndroidManifest.xml file missing!
是因为开始想当然的用中文当project名
no launcher activity found
第一次运行出了点问题,no launcher activity found,谷歌了一下,在manifest里加上如下就可以
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
目录文件详解
res目录存放资源文件,比如layout存放界面布局文件
src目录存放java源文件
lib目录存放库类
AndroidManifest.xml文件为系统清单文件,用于控制app 的名称、图标、访问权限等整体属性,Activity Service ContentProvider BroadcastRecevier四大组件也是在这里配置
aapt(Android asset Packaging Tool)根据AndroidManifest.xml和res资源打包成apk
R.java是aapt根据res生成的一个java文件,每类资源对应R.java的一个内部类,具体的资源会在相应的内部类里生成一个静态常量.将在页面布局交互设计时使用的资源自动生成对应的变量,在业务代码和xml文件里可以引用相应的变量
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.helloworld" 4 android:versionCode="1" 5 android:versionName="1.0" android:installLocation="auto"> 6 <!-- 应用程序的包名是此应用的唯一标识 --> 7 <uses-sdk 8 android:minSdkVersion="19" 9 android:targetSdkVersion="19" /> 10 11 <application 12 android:allowBackup="true" 13 android:icon="@drawable/ic_launcher" 14 android:label="@string/app_name" 15 android:theme="@style/AppTheme" > 16 <!-- 指定应用的标签和图标 --> 17 <activity 18 android:name="com.example.helloworld.HelloWorldActivity" 19 android:label="@string/title_activity_hello_world" > 20 <intent-filter> 21 <!-- 指定此Activity为程序的入口 --> 22 <action android:name="android.intent.action.MAIN" /> 23 <!-- 指定加载该应用时运行此Activity --> 24 <category android:name="android.intent.category.LAUNCHER" /> 25 </intent-filter> 26 </activity> 27 </application> 28 29 30 </manifest>
基本组件介绍
- Activity 是负责与用户进行交互的组件,但需要通过setContentView(View)来显示指定组件,也可接受一个布局管理资源的ID作为参数(xml文件),如果需要多个用户界面,多个Activity组成Activity栈。Activity包含了一个setTheme()方法来设置窗口风格,如果希望不显示ActionBar或者以对话框形式来显示窗口,都可以在这里实现
- Sevice类似于后台线程
- BroadcastReceiver类似于监听器,但监听的是Activity组件
- ContentProvider实现Android应用之间数据交换
- Intent 实现不同组件之间通信
发布APK需要数字签名,区分不同发布者。
界面编程
view组件控制布局
提供xml文件和java代码方式来控制界面
其中Drawable是一个特别的抽象基类,可以用来绘制图形
ViewGroup常作容器类
在代码中创建UI组件需要传入一个Context参数,Context代表访问Android应用环境的全局信息,Activity和Service都继承了Context,传入this就行
platforms:该目录下存放不同版本的Android系统
tools:该目录下存放了大量的Android开发、调试工具