Android(安卓)Studio快速上手
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连接电脑,运行项目是就会有真实设备选项。
更多相关文章
- 关于android:configChanges="keyboardHidden|orientation"
- Android培训班(68)dex文件打开流程
- 全局捕获异常,并输出到日志文件
- android studio aar 添加依赖
- Android(安卓)中LayoutInflater的使用!
- 【Android】原生安装和卸载应用
- 自定义控件其实很简单(笔记一)
- android支付之银联支付
- Android(安卓)actionbar左侧小箭头的隐藏