可以使用跳转的方式类似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(); } } }
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/5473.html