自学Android历程->Android项目基本目录解析以及基本的组件
2017-02-14 18:48
302 查看
一、目录概解:
1、layout目录下的activity_main.xml:
该文件用于定义Andriod应用用户界面,其中TextView代表一个文本框,Button代表一个普通按钮,Andorid:id指定该控件的唯一标识,Andorid:layout_width指定该界面组件的宽度,Andorid:layout_heigth指定该界面组件的高度;
2、app/src目录:
该目录是Android项目的源代码,并且在main/java/org/crazyit/helloworld目录下有一个MainActivity.java文件它就是Andorid项目的java文件 .
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//使用ctivity_main.xml文件定义的界面布局
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
3、res目录解析:
res目录存放Android项目的各种资源文件,比如layout存放界面布局文件,values目录下则存放各种XML格式的资源文件,例如字符串资源文件:strings.xml,颜色资源文件:colors.xml,尺寸资源文件:dimens.xml,drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这4个子目录则分别用于存放低分辨率、中分辨率、高分辨率、超高分辨率的4种图片文件;
4、AndroidMainfest.xml文件:
这个文件是Android项目的系统清单文件,用于控制Android应用的名称、图标、访问权限等整体属性,除此之外,Android应用的Activity、Service、ContentProvider、BroadcastReceiver这4大组建都需要该文件中配置;
5、build目录:
用于Android Studio自动生成各种源文件(包括R.java也放在该目录的子目录下);
6、lib目录:
存储Anroid项目所需要的第三方JAR包也就是各种so库;
7、src目录详解:
存储Android项目开发的各种源文件,包括各种Java源文件(放在main/java子目录下)、各种资源文件(放在main/res子目录下)、和AndroidMainfest.xml文件,除此之外,src目录还包含一个Androidtest子目录,该目录下存放的是Android测试项目;
8、对于Adnroid开发者而言,重点关注以下两个目录:
src:对于Adnroid Studio项目的 app/src/main/java 子目录的各种java文件;
res:对于Android Studio项目的 app/src/main/res 子目录的各种资源文件;
9、在Android项目中的build.xml文件包含了如下常用生成的target:
clean :清除项目生成的内容,恢复项目到原始创建状态;
debug :打包一个Android应用的debug调试apk包,使用debug key进行签名;
release :打包一个发布用的Android应用apk包;
test :运行测试,要求该项目必须是一个测试项目;
install :将生成的调试用的apk包安装在模拟器上;
uninstall:从模拟器上卸载该程序;
10、AndroidMainfest.xml文件清单以及说明:
<?xml version="1.0" encoding="utf-8"?>
<!--指定该Adnroid应用的包名,该包名可用于唯一标识应用与该程序-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="store.tvos.com.helloworld">
<application
android:allowBackup="true"
<!--指定该Andorid应用程序的标签以及图标-->
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
<!--定义Android应用的一个组件,Activity,该Acti
c056
vity的类为HelloWrold,并指定该Activity的标签-->
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<!--指定该Andorid应用程序的函数入口-->
<action android:name="android.intent.action.MAIN" />
<!--指定该Andorid应用时运行该Activity-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
二、基本的组件介绍:
Android应用通常由一个或多个基本组件构成
1、Activity:
这个组件是Android应用中负责与用户交互的组件,通过调用setContentView()来显示指定的组件,这个方法接受以对象作为参数以及布局管理资源的ID作为参数;
2、View:
这个组件是所有UI控件、容器控件的基类,他们的关系是Activity通过调用setcontentView()方法,这个方法的参数是一个以View对象为参数的函数;
3、Service:
这个和Activity是并列的,只不过Activity是可以 直接显示给用户的,而Service是运行于后台,看不见的,主要为其它组件提供后台服务货监控其它组件的运行状态,同样这个组件要继承一个基类:Service;
4、BroadcastReceiver:
这个是Android中一个很重要的组件,顾名思义:广播消息接收器,类似于编程过程中的时间监听器,
5、Contentprovider:
对于Android应用而言,他们是相互独立各自运行在各自的进程中,没有数据的交互,而Contentprovider就是将两个或者多个程序组建起来进行数据的交互,比如让A进程里面需要被外部访问的Data放在第三方缓冲区,然后进程B进行数据访问,这样就实现了进程间的数据交互;
->insert(Uri,ContentValues):向Contentprovider插入数据;
->delete(Uri,ContentValues ):删除Contentprovider中指定的数据;
->update(Uri,ContentValues ,Srting,String[]):更新Contentprovider中指定的数据;
->query(Uri,String[],String,String[],String);从Contentprovider中查询数据;
1、layout目录下的activity_main.xml:
该文件用于定义Andriod应用用户界面,其中TextView代表一个文本框,Button代表一个普通按钮,Andorid:id指定该控件的唯一标识,Andorid:layout_width指定该界面组件的宽度,Andorid:layout_heigth指定该界面组件的高度;
2、app/src目录:
该目录是Android项目的源代码,并且在main/java/org/crazyit/helloworld目录下有一个MainActivity.java文件它就是Andorid项目的java文件 .
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//使用ctivity_main.xml文件定义的界面布局
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
3、res目录解析:
res目录存放Android项目的各种资源文件,比如layout存放界面布局文件,values目录下则存放各种XML格式的资源文件,例如字符串资源文件:strings.xml,颜色资源文件:colors.xml,尺寸资源文件:dimens.xml,drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这4个子目录则分别用于存放低分辨率、中分辨率、高分辨率、超高分辨率的4种图片文件;
4、AndroidMainfest.xml文件:
这个文件是Android项目的系统清单文件,用于控制Android应用的名称、图标、访问权限等整体属性,除此之外,Android应用的Activity、Service、ContentProvider、BroadcastReceiver这4大组建都需要该文件中配置;
5、build目录:
用于Android Studio自动生成各种源文件(包括R.java也放在该目录的子目录下);
6、lib目录:
存储Anroid项目所需要的第三方JAR包也就是各种so库;
7、src目录详解:
存储Android项目开发的各种源文件,包括各种Java源文件(放在main/java子目录下)、各种资源文件(放在main/res子目录下)、和AndroidMainfest.xml文件,除此之外,src目录还包含一个Androidtest子目录,该目录下存放的是Android测试项目;
8、对于Adnroid开发者而言,重点关注以下两个目录:
src:对于Adnroid Studio项目的 app/src/main/java 子目录的各种java文件;
res:对于Android Studio项目的 app/src/main/res 子目录的各种资源文件;
9、在Android项目中的build.xml文件包含了如下常用生成的target:
clean :清除项目生成的内容,恢复项目到原始创建状态;
debug :打包一个Android应用的debug调试apk包,使用debug key进行签名;
release :打包一个发布用的Android应用apk包;
test :运行测试,要求该项目必须是一个测试项目;
install :将生成的调试用的apk包安装在模拟器上;
uninstall:从模拟器上卸载该程序;
10、AndroidMainfest.xml文件清单以及说明:
<?xml version="1.0" encoding="utf-8"?>
<!--指定该Adnroid应用的包名,该包名可用于唯一标识应用与该程序-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="store.tvos.com.helloworld">
<application
android:allowBackup="true"
<!--指定该Andorid应用程序的标签以及图标-->
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
<!--定义Android应用的一个组件,Activity,该Acti
c056
vity的类为HelloWrold,并指定该Activity的标签-->
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<!--指定该Andorid应用程序的函数入口-->
<action android:name="android.intent.action.MAIN" />
<!--指定该Andorid应用时运行该Activity-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
二、基本的组件介绍:
Android应用通常由一个或多个基本组件构成
1、Activity:
这个组件是Android应用中负责与用户交互的组件,通过调用setContentView()来显示指定的组件,这个方法接受以对象作为参数以及布局管理资源的ID作为参数;
2、View:
这个组件是所有UI控件、容器控件的基类,他们的关系是Activity通过调用setcontentView()方法,这个方法的参数是一个以View对象为参数的函数;
3、Service:
这个和Activity是并列的,只不过Activity是可以 直接显示给用户的,而Service是运行于后台,看不见的,主要为其它组件提供后台服务货监控其它组件的运行状态,同样这个组件要继承一个基类:Service;
4、BroadcastReceiver:
这个是Android中一个很重要的组件,顾名思义:广播消息接收器,类似于编程过程中的时间监听器,
5、Contentprovider:
对于Android应用而言,他们是相互独立各自运行在各自的进程中,没有数据的交互,而Contentprovider就是将两个或者多个程序组建起来进行数据的交互,比如让A进程里面需要被外部访问的Data放在第三方缓冲区,然后进程B进行数据访问,这样就实现了进程间的数据交互;
->insert(Uri,ContentValues):向Contentprovider插入数据;
->delete(Uri,ContentValues ):删除Contentprovider中指定的数据;
->update(Uri,ContentValues ,Srting,String[]):更新Contentprovider中指定的数据;
->query(Uri,String[],String,String[],String);从Contentprovider中查询数据;
相关文章推荐
- android项目的目录结构以及简要说明
- eclipse3.7新建Android项目无法生成gen目录以及相关文件
- Android学习系列之(二)项目目录结构基本介绍
- Android之项目基本目录结构初识
- 【Android开源项目解析】QQ“一键下班”功能实现解析——学习Path及贝塞尔曲线的基本使用
- Android自学--一篇文章基本掌握所有的常用View组件
- 解析android项目的目录结构
- Android小项目之--应用解析 Content Provider->内容提供商(附源码)
- android-四大基本组件-<二>
- Github项目解析(二)-->将Android项目发布至JCenter代码库
- Android心得1.1--Android项目的目录与安装以及启动过程分析
- Android 自学之基本界面组件(上)
- android学习笔记3-android项目基本目录与文件
- 我的Android进阶之旅------>如何为ListView组件加上快速滑块以及修改快速滑块图像
- android项目的目录结构以及简要说明
- Android心得1.1--Android项目的目录与安装以及启动过程分析
- 初学Android 二 创建项目以及目录结构
- Android项目目录结构解析
- Android四大基本组件——Service完全解析
- Android Unable to instantiate activity ComponentInfo 基本入门 短信 轰炸机 项目 解析