1、Activity简介

(1)Activity用于提供可视化用户界面的组件,可以与用户进行交互来完成某项任务

(2)所有的Activity都直接或间接继承了它的父类Context

(3)Activity类中常用的方法

a.openContextMenu(View view):开启上下文菜单

b.setResult(int resultCode):返回数据给上一个Activity,Activity与Activity进行数据交换的时候使用的

c.startActivityForResult(Intent intent,int requestCode):携带数据并跳转Activity

d.finish():结束当前Activity

(4)Activity类中关于生命周期常用的方法

a.onStop():用于停止Activity

b.onDestory():用于销毁Activity

c.onResume():将Activity由暂停状态恢复使用

d.onStart():将Activity由停滞状态恢复使用

(5)Activity类中关于页面交互常用的方法

a.onKeyDown(int keyCode,KeyEvent event):键盘按键按下时的动作事件处理方法

b.onKeyUp(int keyCode,KeyEvent event):键盘按键抬起时的动作事件处理方法

c.onTouchEvent(MotionEvent event):监听屏幕的触摸事件处理方法

2、Activity生命周期的四个状态

(1)运行状态:activity可见、焦点在该activity上可与用户进行交互

(2)暂停状态:该activity部分可见,无法与用户进行交互

(3)停止状态:activity完全不可见

(4)销毁状态:activity主动调用finish(),或者被系统回收

3、Activity生命周期的三个循环

(1)整个生命周期:

onCreate()--onStart()--onResume()===(运行状态)---onPause()===(暂停状态)---onStop()===(停止状态)----onDestory()===(销毁状态)

(2)可见生命周期

onCreate()--onStart()--onResume()===(运行状态)---onPause()===(暂停状态)---onStop()===(停止状态)--onStart()--onResume()===(运行状态)---onPause()===(暂停状态)---onStop()===(停止状态)

(3)前台生命周期

onCreate()--onStart()--onResume()===(运行状态)---onPause()===(暂停状态)--onResume()===(运行状态)---onPause()===(暂停状态)

 

 

 4、创建activity步骤

(1)创建相应的activity java类,并直接或间接继承activity父类

public class MyLifeCycle extends AppCompatActivity

(2)在AndroidManifest.xml中配置activity组件

<activity android:name=".MyLifeCycle">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
</activity>

(3)创建activity对应的xml界面

(4)重写onCreate()方法,将java类与xml页面进行绑定

@Override
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mylife);
}

5、Activity四种启动模式

(1)standard:Activity默认启动模式,在该模式下,每次启动activity都会创建新的对象

 

(2)singleTop

a.如果该activity已经处于栈顶,启动该activity时,不会新创建对象,而是调用onNewIntent方法,复用栈顶的activity

b.如果该activity不是处于栈顶,当启动该activity时,会新创建activity对象

(3)singleTask

判断是否在指定名称的栈中,若否,则创建新的栈,并创建新的activity放入其中,若是

a.如果activity处于栈顶,则复用该activity

b.如果activity不是处于栈顶,将该activity之上的所有activity销毁

(4)singleInstance:在该模式下启动activity,自动新建一个栈,并将该activity放入栈中

 

 (5)启动模式使用场景

a.standard:最普通的一种模式,无需特殊注意

b.singleTop:在当前activity需要启动当前页面时,推送通知栏、登录界面

c.singleTask:保持一个栈中只有一个activity实例,home页面,电商中的订单确认界面、付款界面

d.singleIntance:整个系统的单例模式,锁屏键、来电显示等系统应用

6、Assets原生资源访问

(1)创建assets文件夹

(2)将资源拷贝到assets文件夹内

(3)在页面定义展示图片的ImageView组件

(4)在后台进行资源读取并设置资源展示

//获取assets文件下指定资源输入流
InputStream inputStream = getResources().getAssets().open("theGirl.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
show_assets.setImageBitmap(bitmap);

7、Android常用的定义资源的xml文件有四种:

(1)strings.xml:用于定义文本内容的资源文件

(2)colors.xml:用于定义颜色设置的资源文件

(3)dimens.xml:用于定义尺寸的资源文件

(4)styles.xml:用于定义主题和样式的资源文件

8、访问索引资源

(1)string资源的使用

a.资源定义在strings.xml中

<resources>
    <string name="app_name">ResourceDemo</string>
    <string name="use_in_xml">在xml页面引用</string>
    <string name="use_in_java">在java代码调用</string>
</resources>

 b.在xml中调用

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"
    android:text="@string/use_in_xml"/>

c.在java代码中调用

<TextView
    android:id="@+id/tv_show_mess"
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"/>
TextView show_mess;
show_mess = findViewById(R.id.tv_show_mess);
show_mess.setText(R.string.use_in_java);

(2)color资源的使用

a.资源定义在color.xml中

<resources>
    <color name="use_in_xml">#f8f61004</color>
    <color name="use_in_java">#bb0202fh</color>
</resources>

b.在xml中调用

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"
    android:text="xml设置颜色"
    android:textColor="@color/use_in_xml"/>

c.在java代码中调用

<TextView
    android:id="@+id/tv_set_color"
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"
    android:text="java设置颜色"/>
TextView show_color;
show_color= findViewById(R.id.tv_set_color);
show_color.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      show_color.setTextColor(getResources().getColor(R.color.use_in_java));
    }
});    

(3)dimen资源的使用

a.资源定义在dimens.xml中

<resources>
    <dimen name="text_size_xml">30sp</dimen>
    <dimen name="text_size_java">50sp</dimen>
</resources>

b.在xml中调用

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"
    android:text="页面设置字体大小"
    android:textSize="@dimen/text_size_xml"/>

c.在java代码中调用

<TextView
    android:id="@+id/tv_set_texSize"
    android:layout_width="match_parent"
    android:layout_height="wrap_parent"
    android:text="java设置代码字体大小"/>
TextView set_texSize;
set_texSize= findViewById(R.id.tv_set_texSize;
set_texSize.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      set_texSize.setTextSize(getResources().getDimension(R.dimen.text_size_java));
    }
}); 

 9、AndroidManifest.xml清单文件中通常包含以下几项信息

(1)声明应用程序的包名

(2)描述应用程序组件

(3)声明应用程序拥有的权限

10、AndroidManifest.xml

(1)manifest

a.xmls:android定义android命名空间

b.package指定本应用的包名

 (2)application

a.android:allowBackup是否允许备份应用

b.android:icon设置应用图标

c.android:label定义应用的名称

d.android:theme设置应用主题

(3)uses-permission权限说明

<!--访问网络权限-->
<uses-permission android:name="android.permission.INTERNET" />
posted on 2021-04-19 21:46  樱花飘落の季節  阅读(688)  评论(0编辑  收藏  举报