[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();
}
}
}
[android] 显示意图激活另外一个activity的更多相关文章
- Android 显示意图激活另外一个Actitity
1.跳转到一个新的Actitity 新建项目, 新建一个java类OtherScreenActivity 继承自 Activity类 package com.wuyudong.twoactivity; ...
- 无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)
1.smartimageview使用 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q ...
- [android] 隐式意图激活另外一个activity
随着api的升级,系统的很多应用包名和类名都改掉了,所以很多时候,打开系统应用的时候会报错,隐式意图就是解决组件之间松耦合,描述动作行为 获取Intent对象,通过new出来 调用Intent对象的s ...
- Android 隐式意图激活另外一个Actitity
上篇文章<Android 显示意图激活另外一个Actitity>最后谈到显示意图激活另外一个Actitity会有一些局限性和弊端 本文介绍另一种方法:隐式意图激活另外一个Actitity ...
- Android 显示意图和隐式意图的区别
意图在android的应用开发中是很重要的,明白了意图的作用和使用后,对开发会有很大帮助.如果没有把意图搞懂,以后开发应用会感觉缺些什么. 意图的作用: 1.激活组件 ...
- android 显示意图
//显示意图 public void enter(View view) { Intent intent = new Intent();//创建一个空的意图 intent.setClassName(ge ...
- Android开发:向下一个activity传递数据,返回数据给上一个activity
1.向下一个activity传递数据 activity1 Button button=(Button) findViewById(R.id.button1); button.setOnClickLis ...
- android 案例:从另一个activity选择信息并获取返回值
主窗口: package com.example.test; import android.app.Activity; import android.app.AlertDialog; import a ...
- Eclipse中在android项目中出现新建一个Activity后,出现整个project的报错以及包导入以后无法执行等等情况分析。
今天用Eclipse去写android项目,然后后面须要建一个Blank Activity后,非常正常的建立的.然后那个Activity是基于ActionBarAtivity,要导入v7,结果由于这 ...
随机推荐
- Smokeping安装部署
稳定性检测工具smokeping安装配置和使用方法 Smokeping介绍 是对IDC网络质量,稳定性等最好的检测工具,包括常规的 ping,dig,echoping,curl等,可以监视www服务器 ...
- Python之旅Day7 面向对象&异常处理
########################################面向对象初识######################################### 面向对象简介 面向对象编 ...
- 写在HTTP协议之前
1.网络模型 OSI模型即:开放系统互连参考模型(Open System Interconnect 简称OSI)是国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连参 ...
- [转]Request Flow for Provisioning Instance in Openstack
One of the most important use-case in any cloud is provisioning a VM . In this article we shall do ...
- 在linux环境下用中文查询数据库
1.用SQL在linux环境下,查询语句的中文条件,查不到结果. mysql -h ***.***.***.*** -P 3303 -uroot -p*********** -D boztax -e ...
- 工作了才发现display全忘了
CSS display属性这几天用的我头疼 人老了 健忘了 1.inline(行内元素) 是元素变成行内元素,拥有行内元素特性,共享属性,不会吃独食! 共享经济时代 inline是主导大哥 !impo ...
- JAVA泛型实现原理
1. Java范型时编译时技术,在运行时不包含范型信息,仅仅Class的实例中包含了类型参数的定义信息.泛型是通过java编译器的称为擦除(erasure)的前端处理来实现的.你可以(基本上就是)把它 ...
- Android 9.0/P 版本推荐使用 HttpURLConnection
早在几年前,谷歌就推荐在Android2.3版本以上使用HttpURLConnection,而在即将正式发布的 Android P 版本中,谷歌彻底取消了对Apache HTTPClient的支持,针 ...
- Laravel 5.6: Specified key was too long error
Laravel 5.6: Specified key was too long error 在Laravel执行以下命令: php artisan migrate 这是由于Laravel5.6设置了数 ...
- 微信小程序中的app.js-清除缓存
微信小程序中的app.js 关于小程序app.js生命周期的介绍 App(Object) App() 函数用来注册一个小程序.接受一个 Object 参数,其指定小程序的生命周期回调等. App() ...