[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,结果由于这 ...
随机推荐
- why microsoft named their cloud service Azure?
best guess I can personally make is that because Azure literally means “bright blue color of the clo ...
- JavaScript异步编程的Promise模式
参考: http://www.infoq.com/cn/news/2011/09/js-promise http://www.cnblogs.com/rubylouvre/p/3495286.html ...
- Android 展示控件之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系
一.Surface Surface在SDK的文档中的描述是这样的:Handle onto a raw buffer that is being managed by the screen compos ...
- TextView的跑马灯效果实现
TextView的跑马灯效果实现 问题描述 当文字内容过长,但是只允许显示一行时,可以将文字显示为跑马灯效果,即文字滚动显示. 代码实现 第一种方法实现 先查询TextView控件的属性,得到以下信息 ...
- Eclipse 启动报错 An internal error occurred during: "Initializing Java Tooling"
如图所示,我的Eclispe版本是Oxygen,启动的时候turnaround弹出这种错误. 多种情况会导致这种报错.通过[重置窗口布局],可解决大部分情况: 解决办法:点击菜单导航栏的Window ...
- PHP中的自动加载
自动加载? 或许你已经对自动加载有所了解.简单描述一下:自动加载就是我们在new一个class的时候,不需要手动去写require来导入这个class.php文件,程序自动帮我们加载导入进来.这是 ...
- Java回调机制总结
调用和回调机制 在一个应用系统中, 无论使用何种语言开发, 必然存在模块之间的调用, 调用的方式分为几种: 1.同步调用 同步调用是最基本并且最简单的一种调用方式, 类A的方法a()调用类B的方法b( ...
- Linux主机操作系统加固规范
对于企业来说,安全加固是一门必做的安全措施.主要分为:账号安全.认证授权.协议安全.审计安全.总的来说,就是4A(统一安全管理平台解决方案),账号管理.认证管理.授权管理.审计管理.用漏洞扫描工具 ...
- AI - 框架(Frameworks)
1 - Scikit-Learn Sklearn(scikit-learn: machine learning in Python):https://scikit-learn.org/ 文档丰富而又详 ...
- poj 1177 --- Picture(线段树+扫描线 求矩形并的周长)
题目链接 Description A number of rectangular posters, photographs and other pictures of the same shape a ...