集训day_02

一、创建第一个Android项目(HelloWorld)

1.创建HelloWorld项目

2.创建、启动虚拟器

3.运行HelloWorld

二、分析Android程序(常用)

1.app

       1)build:主要包含一些编译时自动生成的文件。

       2)libs:放jar包的目录。

       3)androidTest:用来编写AndroidTest测试的,可以对项目进行一些自动化测试。

       4)java:放置所有的Java代码。

       5)res:资源目录-图片放到drawable目录下,布局放到layout目录下,字符串放到values目录下。

扫描二维码关注公众号,回复: 2416128 查看本文章

       6)ANdroidManifest.xml:整个Android项目的配置文件,在程序中定义的所有四大组件都要在此文件中注册,另外还可以在这个文件中给应用程序添加权限声明。

       7)test:编写UnitTest测试用的,是对项目进行自动化测试的另一种方式。

       8)gitignore:用于app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore类似。

       9)build.gradle:app模块的gradle构建脚本,指定很多项目构建相关的配置。

       10)proguard-rules-pro:用于指定项目代码的混淆规则。

2.gradle:gradle wrapper的配置文件

3.gitignore:将指定的目录或文件排除在版本控制之外。

4.build.gradle:项目全局的gradle构建脚本。

5.gradle.properties:全局的gradle配置文件,配置的属性将会影响到项目中所有的gradle编译脚本。

6.gradlew和gradlew.bat:在命令行界面执行gradle命令。其中gradlew是在Linux或Mac系统中使用,gradlew.bat在 Windows系统中使用

7.local.properties:用于指定Android SDK路径,当SDK位置发生变化,将文件中的路径改成新的位置即可。

三、手动创建项目

1.活动:项目中的任何活动都应该重写Activity的onCreate()方法。

2.创建和加载布局

      1)右击app/src/main/res目录→New→Directory,创建名为layout的目录,然后对layout目录右击→Layout resource file,将布局命名为first_layout。OK完成布局创建。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <Button                                      //添加一个Button元素
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 1" 
        />
</LinearLayout>

      2)回到FirstActivity在onCreate()方法中加入如下代码

public class FirstActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);         //给当前的活动加载一个布局
    }
}

      3)在AndroidManifest文件中注册

                 Android studio自动给注册过了。

      4)配置主活动:在<activity>标签内部加入<intent-filter>标签,并在标签中加入

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

                 使用android:label指定活动中标题栏的内容。

3.在活动中使用Toast(吐司)

       在onCreate()方法中添加如下代码

protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
        Button button1 = (Button) findViewById(R.id.button_1);
        button1.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v){
                Toast.makeText(FIrstActivity.this, "You clicked Button 1",                 
                    Toast.LENGTH_SHORT).show();
            }
        });
}

4.在活动中使用Menu

      1)在res目录下右击New→Directory创建menu文件夹,在新建一个名叫main的菜单文件,右击menu→New→Menu resource file,输入文件名,点OK完成创建。在main.xml中添加如下代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item                                      //创建了两个菜单项
        android:id="@+id/add_item"
        android:title="Add"/>
    <item
        android:id="@+id/remove_item"
        android:title="Remove"/>
</menu>

       2)回到FirstActivity中重写onCreateOptionsMenu()方法,重写方法可以使用快捷键Ctrl+O

public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main,menu);
        return true;
}

       3)定义菜单响应事件:在FirstActivity中重写onOptionsItemSelected()方法:

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()){
            case R.id.add_item:
                Toast.makeText(this,"添加",Toast.LENGTH_SHORT).show();
                break;
            case R.id.remove_item:
                Toast.makeText(this,"删除",Toast.LENGTH_SHORT).show();
                break;
        }
        return true;
    }

5.销毁一个活动:finish()

button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        finish();
    }
});

6.使用Intent

        1)使用显式Intent

                [1]再创建一个活动,命名为SecondActivity

                [2]在second_layout.xml中定义一个按钮Button 2      

button1.setOnClickListener(new View.OnClickListener(){
    @Override                           //FirstActivity中用Button1按钮打开SecondActivity活动
    public void onClick(View view) {
        Intent intent = new Intent(FirstActivity.this,SecondAcitvity.class);
        startActivity(intent);
    }
});

        2)使用隐式Intent

                [1]在<activity>标签下配置<intent-filter>内容

<activity android:name=".SecondAcitvity">
    <intent-filter>
        <action android:name="com.example.activitytest.ACTION_START" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

                [2]修改FirstActivity中按钮的点击事件

button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view) {
        Intent intent = new Intent("com.example.activitytest.ACTION_START");
        startActivity(intent);
    }
});

                [3]定义多个category

                        1、在<intent-filter>中再添加一个category的声明

<activity android:name=".SecondAcitvity">
    <intent-filter>
        <action android:name="com.example.activitytest.ACTION_START" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="com.example.activitytest.MY_CATEGORY" />
    </intent-filter>
</activity>

                        2、修改FirstActivity中按钮的点击事件

button1.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view) {
        Intent intent = new Intent("com.example.activitytest.ACTION_START");
        intent.addCategory("com.example.activitytest.My_CATEGORY");
        startActivity(intent);
    }
});

猜你喜欢

转载自blog.csdn.net/depths_p/article/details/81151974