自学Android历程->Android项目基本目录解析以及基本的组件

本文介绍了Android项目的目录结构及其功能,包括layout目录下的activity_main.xml、app/src目录下的MainActivity.java、res目录下的各种资源文件等。此外,还详细解析了AndroidManifest.xml的作用及组件配置。
摘要由CSDN通过智能技术生成
一、目录概解:

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.xmldrawable- ldpidrawable- mdpidrawable- hdpidrawable- xhdpi这4个子目录则分别用于存放低分辨率、中分辨率、高分辨率、超高分辨率的4种图片文件;

4、AndroidMainfest.xml文件:
     这个文件是 Android项目的系统清单文件,用于控制 Android应用的名称、图标、访问权限等整体属性,除此之外, Android应用的 ActivityServiceContentProviderBroadcastReceiver这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 ,该 Activity 的类为 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中查询数据 ;























评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值