Android开发学习第一课

Android开发学习第一课

  1. Android系统四大组件分别是Activity、Service、BroadcastReceiver和ContentProvider。其中Activity是所有Android应用程序的门面,凡是在应用中你看得到的东西,都是放在Activity中的。而Service就比较低调了,你无法看到它,但它会在后台默默地运行,即使用户退出了应用,Service仍然是可以继续运行的。BroadcastReceiver允许你的应用接收来自各处的广播消息,比如电话、短信等,当然,你的应用也可以向外发出广播消息。ContentProvider则为应用程序之间共享数据提供了可能,比如你想要读取系统通讯录中的联系人,就需要通过ContentProvider来实现。
  2. 目录结构
    在这里插入图片描述
    在这里插入图片描述
    libs: 如果项目中使用到了第三方jar包,就需要把这些jar包都放在libs目录下,放在这个目录下的jar包会被自动添加到项目的构建路径里。
    androidTest: 此处是用来编写Android Test测试用例的,可以对项目进行一些自动化测试。
    java: 放置所有Java代码的地方(Kotlin代码也放在这里),展开该目录,系统帮我们自动生成了一个MainActivity文件。
    res: 在项目中使用到的所有图片、布局、字符串等资源都要存放在这个目录下。当然这个目录下还有很多子目录,图片放在drawable目录下,布局放在layout目录下,字符串放在values目录下。
    AndroidManifest.xml:这是整个Android项目的配置文件,你在程序中定义的所有四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。
    Android程序运行过程:
    首先在Mainfest.xml中对activity进行注册:
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

这段代码表示对MainActivity进行注册,没有在AndroidManifest.xml里注册的Activity是不能使用的。其中intent-filter里的两行代码非常重要,<action android:name="android.intent.action.MAIN"/> 和<category android:name="android.intent.category.LAUNCHER" />表示MainActivity是这个项目的主Activity,在手机上点击应用图标,首先启动的就是这个Activity

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

ActivityAndroid应用程序的门面,凡是在应用中你看得到的东西,都是放在Activity中的。而Activity类是Android系统提供的一个基类,我们项目中所有自定义的Activity都必须继承它或者它的子类才能拥有Activity的特性(AppCompatActivity是Activity的子类)。然后可以看到MainActivity中有一个onCreate()方法,这个方法是一个Activity被创建时必定要执行的方法。

Android程序的设计讲究逻辑和视图分离,因此是不推荐在Activity中直接编写界面的。一种更加通用的做法是,在布局文件中编写界面,然后在Activity中引入进来。可以看到,在onCreate()方法的第二行调用了setContentView()方法,就是这个方法给当前的Activity引入了一个activity_main布局。布局文件都在res/layout下。

基本过程:在Mainfest.xml中对myactivity进行注册、在res/layout文件夹下创建布局、创建myactivity类,调用’onCreat()'并设置布局。

res文件夹

在这里插入图片描述
所有drawable开头的目录都是用来放图片的,所有以mipmap开头的目录都是用来放应用图标的,所有以values0开头的目录都是用来放字符串、样式、颜色等配置的,所有以layout开头的目录都是用来放布局文件的。

资源的使用

strings.xml
<resources>
    <string name="app_name">HelloWorld</string>
</resources>
  1. 在代码中通过R.string.app_name可以获得该字符串的引用。
  2. 在XML中通过@string/app_name可以获得该字符串的引用。
   <application
        android:allowBackup="true"
        android:fullBackupContent="@xml/backup_rules"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.HelloWorld"
        tools:targetApi="31">
        ...
    </application>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值