Android Studio快速上手

  • 1.什么是Activity?
  • 2.Activity的一般结构
  • 3.控件分类
  • 4.尺寸单位
  • 5.TextView控件显示文本
  • 6.在代码中操作控件
  • 7.线性布局LinearLayout的使用
  • 8.button及捕获点击事件
  • 9.可视化布局
  • 10.如何创建Activity
  • 11.开启一个Activity
  • 12.关闭Activity
  • 13.`src-main-AndroidManifest.xml`文件作用
  • 14.手动创建Activity

废话不啰嗦

1.什么是Activity?

通常一个界面就是一个Activity,但不一定所有界面都是,有些是对话框。
Activity也可以通过透明效果,做出对话框的效果。

2.Activity的一般结构

逻辑层面
一个java类:用来描述逻辑,例如:按钮点击;登录这样的逻辑。
一个布局:用来描述样式和位置,例如:按钮颜色,按钮大小,按钮位置。
Activity组成部分
一个Activity对应一个java类文件和一个XML文件。

3.控件分类

容器控件:内部还能放其他控件。
非容器控件:内部不能放其他控件,例如button。

4.尺寸单位

不推荐px单位,字体用sp单位,除字体外都用dp单位。
dp:与设备无关像素,根据屏幕的缩放自动计算,1dp在缩放为1的设备上,就是1px,在缩放为2的设备上就是2px。

5.TextView控件显示文本

非容器类型控件

<TextView        android:layout_width="wrap_content"        android:layout_height="wrap_content"         android:text="Hello World!"          android:textSize="50sp"        android:textColor="#f00"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

6.在代码中操作控件

要在代码中操作空间,要先找到控件,因此需要先给空间取个名字,即id属性

<TextViewandroid:id="@+id/tv"        android:text="Hello World!"          android:textSize="50sp"        android:textColor="#f00"                app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />

android:id="@+id/tv",然后在代码中找到相应的控件,通过findViewById的方法:

TextView tv = findViewById(R.id.tv);        tv.setText("Hello tv!");

7.线性布局LinearLayout的使用

外部容器的布局设置,LinearLayout:线性布局,其默认的方向是水平(horizontal);
更改为垂直只需要设置orientation属性位vertical

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:orientation="vertical"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".MainActivity">    <TextView        android:id="@+id/tv1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!"        android:textSize="50sp"        android:textColor="#f00"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />    <TextView        android:id="@+id/tv2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="Hello World!"        android:textSize="50sp"        android:textColor="#f00"        app:layout_constraintBottom_toBottomOf="parent"        app:layout_constraintLeft_toLeftOf="parent"        app:layout_constraintRight_toRightOf="parent"        app:layout_constraintTop_toTopOf="parent" />LinearLayout>

边距:
可以给LinearLayout设置一个padding,或者TextView设置margin

8.button及捕获点击事件

<Button        android:id="@+id/bt"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="点我" />
Button bt = findViewById(R.id.bt);        bt.setOnClickListener(new View.OnClickListener(){           @Override           public void onClick(View v){               Toast.makeText(MainActivity.this,"???",Toast.LENGTH_LONG).show();           }        });

9.可视化布局

打开布局文件,切换到可视化

10.如何创建Activity

Activity就是一个类,一个界面会有一个java类,还有一个布局文件,还有一些其他文件。所以可以按照java中的方法来分包。例如:我们可以将所有的Activity放到activity包中,这样方便管理。

创建包

创建Activity
选中包,右键New-Activity-选择一个模板,输入名称,finish。

11.开启一个Activity

点击button实现界面的跳转。
activity_main.xml中添加一个Button

<Button        android:id="@+id/bt_openSecond"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="跳转到第二个界面"/>

然后在MainActivity.java中添加

Button bt_openSecond = findViewById(R.id.bt_openSecond);        bt_openSecond.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent = new Intent(MainActivity.this, SecondActivity.class);                startActivity(intent);            }        });

Intent是信息的载体,是一个将要执行的动作的抽象的描述,用它可以去请求组件做相应的操作,一般来说是作为参数来使用,由Intent来协助完成 Android各个组件之间的通讯。
Intent一般用于启动Activity、启动服务,发送广播等,承担了Android应用程序三大核心组件的相互通信功能。
1.开启一个新的Actiity–显式Intent
首先实例化一个intent对象,构造方法中接受两个参数,第一个参数Context需要填入一个启动活动的上下文,一般为当前的Activity,第二个参数Class是要启动的目标Activity的java类,这样就构造出一个表示我们"意图"的intent对象。
如上面这段代码,首先构造出一个intent,将当前的activity作为上下文,SecondActivity作为目标activity,然后用startActivity()方法开启新的activity,即当点击当前activity页面的按钮,就会跳转到第二个activity。
2.开启一个新的Activity–隐式Intent
没有明确指定组件名的Intent称为隐式意图。系统会根据隐式意图中设置的动作(action)、类别(category)、数据(Uri和数据类型)找到最合适的组件。

AndroidManifest.xml文件中,首先被调用的Activity要有一个带有并且包含的Activity,设定它能处理的Intent,并且category设为"android.intent.category.DEFAULT"。action的name是一个字符串,可以自定义,例如我在这里设成"abcdefg":

Action:用来指明要实施什么动作,一些常用的Action如下:

ACTION_CALL                                启动一个电话ACTION_EDIT                                 显示用户编辑的数据ACTION_MAIN                                作为Task中第一个Activity启动ACTION_SYNC                               同步手机与数据服务器上的数据ACTION_BATTERY_LOW              电池电量过低警告ACTION_HEADSET_PLUG            插拔耳机警告ACTION_SCREEN_ON                   屏幕变亮警告ACTION_TIMEZONE_CHANGED   改变时区警告

Category:一个字符串,包含了关于处理该intent的组件的种类信息。一个intent对象可以有任意个category。intent类定义了许多category常数。

12.关闭Activity

点击返回键可以关闭当前的Activity,这是系统默认实现的,当然也可以自己实现一个按钮,点击时关闭当前的Activity,比如左上角的"←"键。

activity_second.xml文件中创建一个button控件

<Button        android:id="@+id/bt_Close"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="关闭"/>

然后在SecondActivity.java中设置监听器,实现关闭

public class SecondActivity extends AppCompatActivity implements View.OnClickListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        Button bt_Close = findViewById(R.id.bt_Close);        bt_Close.setOnClickListener(this);    }    @Override    public void onClick(View view) {        finish();    }

这是让当前类实现监听器,前面使用的是匿名监听器。

13.src-main-AndroidManifest.xml文件作用

该文件可以翻译为“清单文件”,所以说它的功能就是将当前应用的界面等组件写到这里,好处是Android会用到,例如:手动安装apk文件时,都会显示一个界面,说这个应用需要哪些权限,而这些权限就是写到该文件的。

文件格式还是xml文件:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.a01_example">            <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme">                <activity android:name=".MainActivity">                                <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            intent-filter>        activity>                <activity android:name=".activity.SecondActivity">activity>    application>manifest>

android.intent.action.MAIN:表示该Activity是应用的启动入口,且不需要任何Intent携带的数据。
android.intent.category.LAUNCHER:表示将该Activity的图标设为手机主屏幕上的应用图标,如果它没有图标,就用Application的图标。
若你换一个默认页面入口,只需将和其里面的内容放入到你要设置的那个activity中去即可。

14.手动创建Activity

前面说过,一个activity对应一个java类和一个xml布局文件,因此在手动创建activity时,就是需要创建二者,并进行一些相关的配置。
①首先创建java文件,继承AppCompatActivity类(可以参考其他activity的java文件)
②在res下的layout文件中创建xml文件,选择根元素后创建。
这里注意一点,java文件和xml文件的命名最好按照系统的默认套路,比如FirstAcitvity.java对应activity_first.xml这样。
③创建完两个文件后,他们之间还没有什么关系,此时需要将二者关联起来,只需要在java文件的onCreate方法中,通过setContentView方法中设置,可以参考其他activity。
④在清单文件中配置此activity,参考其他activity。

Android Studio界面

将项目运行到模拟器
将项目运行到手机上
开启开发者模式:关于手机->连续点击3,4次Android版本 更多设置中会出现开发者选项,打开USB调试
USB连接电脑,运行项目是就会有真实设备选项。

更多相关文章

  1. 关于android:configChanges="keyboardHidden|orientation"
  2. Android培训班(68)dex文件打开流程
  3. 全局捕获异常,并输出到日志文件
  4. android studio aar 添加依赖
  5. Android(安卓)中LayoutInflater的使用!
  6. 【Android】原生安装和卸载应用
  7. 自定义控件其实很简单(笔记一)
  8. android支付之银联支付
  9. Android(安卓)actionbar左侧小箭头的隐藏

随机推荐

  1. Android--Toast 两个 Crash
  2. Widget开发中遇到的坑
  3. android 系统 makefile文件(Android.mk)组
  4. Android(安卓)新浪微博XAuth方式授权与发
  5. [PX3][Android7.1] 调试笔记 去除USB权限
  6. android之绘图工具类详解
  7. Android(安卓)Studio 项目基本结构
  8. Android(安卓)Looper And Hander 机制剖
  9. Android之使用PopupWindow使用和总结
  10. vitamio简介.java