zoukankan      html  css  js  c++  java
  • [android] 显示意图激活另外一个activity

    可以使用跳转的方式类似javaweb来实现界面转换

    显示意图就是必须要指定开启组件的具体信息,包名,组件名,组件的class

    新建一个类TwoActivity ,继承Activity类,重写onCreate()方法,这个方法是界面开启的时候自动调用,在这个函数里面大部分进行初始化的操作,比如调用界面和获取控件等

    activtity是系统的重要组件,系统要想找到这个activity,就必须在清单文件里面进行配置

    新加<Activity />节点,

    设置名称android:name=”包名.类名

    设置意图过滤器 <intent-filter> action的名称是android.intent.action.MAIN category的名称是android.intent.category.LAUNCHER的时候会创建快捷图标

    设置图标 android:icon=””

    设置标题 android:label=””

    android系统里面有一些其实是一个应用,创建了不同的图标进入不同的界面。

    在第一个Activity里面点击按钮跳转过来

    获取Intent对象,通过new出来

    调用Intent对象的setClassName(packageContext,className)方法,设置类名,参数:上下文,String类型的类名 全名称含包名

    调用Activity对象的startActivity(intent)方法,开启一个Activity,参数:Intent对象

    上面的方式有点麻烦,谷歌提供了稍微方便的方式

    获取Intent对象,通过new Intent(packageContext,cls),参数:上下文,class字节码

    调用Acitivity对象的startActiity(intent)方法

    激活系统应该程序的界面

    如何获取系统应用的界面全名称呢,通过清空logcat,模拟器上启动系统应用,查看日志,找到ActivityManager打印的信息可以看到

    获取Intent对象

    调用Intent对象的setClassName(packageName,className)方法,设置类名,参数:想要激活的应用string类型的包名,String类型的类名

    调用startActivity(intent)方法

    业务场景是在检查网络的时候,自动定位到网络设置的界面,这种需求

    检查用户的网络情况

    获取ConnectityManager对象,调用上下文对象的getSystemService()方法,参数:Context.CONNECTIVITY_SERVICE

    调用ConnectityManager对象的getActiveNetworkInfo()方法,返回NetworkInfo对象

    调用NetworkInfo对象的isConnected()方法

    判断NetworkInfo对象是否为null和上面方法返回值进行判断,展示Toast

    需要权限 android.permission.ACCESS_NETWORK_STATE

    4.0系统会有问题,之后再说

    package com.tsh.mstartactivity;
    
    import android.app.Activity;
    import android.content.Context;
    import android.content.Intent;
    import android.net.ConnectivityManager;
    import android.net.Network;
    import android.net.NetworkInfo;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
        }
        //跳转
        public void click(View v){
            //第一种方式
            //Intent intent=new Intent();
            //intent.setClassName(this, "com.tsh.mstartactivity.TwoActivity");
            //第二种方式
            Intent intent=new Intent(this,TwoActivity.class);
            startActivity(intent);
        }
        //检查网络
        public void click2(View v){
            ConnectivityManager cm=(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo info=cm.getActiveNetworkInfo();
            if(info!=null&&info.isConnected()){
                Toast.makeText(this, "网络连接正常", 0).show();
            }else{
                Toast.makeText(this, "网络连接失败", 0).show();
            }
        }
    }
  • 相关阅读:
    js
    DOM
    css
    html
    java虚拟机
    java并发
    java容器
    java基础
    计算机网络面试题
    计算机操作系统-设备管理
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5308961.html
Copyright © 2011-2022 走看看