Android开发之Activity(cho1)篇

一、Activity判断网络是否连通:

首先创建一个Andorid Project项目,然后添加一个on1类,Layout一个button控件和Textview控件。

values有一个Color.xml文件和string.xml文件(注:Color.xml文件可以网上找)

Color.xml文件:

string.xml文件:

MainActivity.java文件:

通过findViewById获取R资源文件中的控件,并且通过setOnClickListener方法将on1加入监听管理。

private Button btn1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btn1=(Button) this.findViewById(R.id.button1);
        btn1.setOnClickListener(new on1(this));
    }

on1.java文件:

1、on1类实现监听接口,调用onClick方法,实现点击按钮进入该方法进行相关的操作。定义一个上下文对象Context变量和TextView变量,还有ConnextivityManager 变量(ConnectivityManager主要管理和网络连接相关的操作),定义一个接受数据的函数。

2、通过将上下文对象进行强转为Activity,获取R文件资源,在OnClick方法中第定义一个String变量和int变量,两个变量用于Textview显示的文本和背景颜色。

3、通过Activity的getResources().getString(R.string.test2)方法 获取values文件下string.xml文件string标签 name属性值为test2的文本值(网络正常),通过Activity的getResources().getColor(R.color.blue)方法设置背景颜色。(注:可以通过和获取文本值一样获取Color.xml文件的颜色)。

public class on1 implements OnClickListener {

    private Context context;
    private TextView txt;
    private ConnectivityManager cn;
    public on1(Context u)
    {
        this.context=u;
    }
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Activity act=(Activity)context;
        txt=(TextView) act.findViewById(R.id.textView1);
        String text;
        int col;

        cn = (ConnectivityManager) act.getSystemService(act.CONNECTIVITY_SERVICE);
        NetworkInfo t=cn.getActiveNetworkInfo();
        if(t!=null)
        {
            text=act.getResources().getString(R.string.test2);
            col=act.getResources().getColor(R.color.blue);
        }else
        {
            text=act.getResources().getString(R.string.test1);
            col=act.getResources().getColor(R.color.red);
        }
        txt.setText(text);
        txt.setBackgroundColor(col);
    }

4、是否连接网络? 通过Activity的getSystemService(act.CONNECTIVITY_SERVICE)获得网络连接管理器对象,通过ConnectivityManager的getActiveNetworkInfo方法,获取网络连接管理器对象获得网络连接状态,如果没连接返回null。通过ConnectivityManager返回的对象判断是否连接网络并进行相关的操作。

5、获取网络权限:

点击 AndroidManifest.xml文件

点击Add添加

Name下拉框选中选中android.permission.ACCESS_NETWORK_STATE",在创建一个Add下拉框选中android.permission.INTERNET。

查看AndroidMandifest.xml文件添加了两个uses-permission标签。

效果图:

有网:

没网:

getSystemService知识点:

在Android后台运行着很多service,他们在系统启动是通过SystemService开启,支持系统的正常工作,也帮助我们更好的实现各种功能。

getSystemService是activity的一个方法,通过context进行调用,通过不同的服务名获得相应的服务对象,再根据获得的对象调用所需要的方法一下是一些服务的名称以及返回对象

传入的Name               |               返回的对象                  |             说明

WINDOW_SERVICE                      WindowManager                    管理打开的窗口程序

LAYOUT_INFLATER_SERVICE             LayoutInflater                   取得xml里定义的view

ACTIVITY_SERVICE                    ActivityManager                  管理应用程序的系统状态

POWER_SERVICE                       PowerManger                      电源的服务

ALARM_SERVICE                       AlarmManager                     闹钟的服务

NOTIFICATION_SERVICE                NotificationManager              状态栏的服务

KEYGUARD_SERVICE                    KeyguardManager                  键盘锁的服务

LOCATION_SERVICE                    LocationManager                  位置的服务,如GPS

SEARCH_SERVICE                      SearchManager                    搜索的服务

VEBRATOR_SERVICE                    Vebrator                         手机震动的服务

CONNECTIVITY_SERVICE                Connectivity                     网络连接的服务

WIFI_SERVICE                        WifiManager                      Wi-Fi服务

TELEPHONY_SERVICE                   TeleponyManager                  电话服务

1、ActivityManager am = (ActivityManager) this

List l = am.getRunningAppProcesses();//获取当前运行程序的信息

2、LayoutInflater inflater = (LayoutInflater) context

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);获得布局管理器对象

convertView = inflater.inflate(R.layout.item_appoint_list_1, null);//这个应该不用多说,getView中一直用的。

时间: 2024-10-19 00:34:12

Android开发之Activity(cho1)篇的相关文章

Android开发之Activity的创建跳转及传值

在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider).今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大组件以后再进行介绍.说道Android中的Activity,如果你做过iOS开发的话,Activity类似于iOS中的ViewController(视图控制器).在应用中能看到的东西都是放在活动中的.活动是安卓开发比较重要的东西

android开发之activity横竖屏切换时的生命周期以及横竖屏切换时的资源适配方案

背景:之前有过两篇写activity的博客 android之activity的生命周期详解:详细介绍了activity的整个生命周期.各状态间的转换和返回桌面时保存activity的状态 android之activity中onSaveInstanceState和onRestoreInstanceState的触发时机:介绍了activity中这两个方法的触发时机和作用 本篇博客会牵扯到里面的内容,如果你都有所了解可以直接往下看,如果不了解可以进去回忆下. 问题:在做应用的退出对话框时,发现如果对话

Android开发之Activity的启动模式

黑发不知勤学早,白首方悔读书迟.--<劝学> 今天花了整个下午+晚上的的时间学习了Activity的启动模式,本来以为这个知识点很简单,但是在学习的过程中发现,Activity的启动模式并没有自己想象的那么简单,下面我们一起来看看这Activity的四种启动模式吧,如有疑问欢迎留言,如有谬误欢迎大家批评指正,谢谢 Activity的启动模式共有四种 1.standard 2.singleTop 3.singleTask 4.singleInstance 如图所示: LaunchMode在多个A

Android开发之Activity和Fragment生命周期对比图

一.Activity 生命周期 二.Fragment 生命周期 三.对比图 四.测试代码 [java] view plaincopy package com.goso.testapp; import android.app.Activity; import android.app.ListFragment; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import a

Android开发之Is Library篇

一.生活场景描述 由于公司有一个项目开发的时间比较长,项目里堆砌的代码也比较多,并且有些功能在给不同客户发布的时候有些功能还不需要,这样功能模块分离就很有必要了. 所以,Library就被推到了前台,被我们运用起来. 二.注意事项 1.两个Library不能互相引用 2.Library中的Drawable文件不能被项目中使用(该项有待进一步确认) 3.由于在项目中使用的上下文对象是属于当前项目,所以在Library中获取文件对象Context.getAssets().open("fileName

Android开发之Activity的生命周期

路漫漫其修远兮,吾将上下而求索.---屈原<离骚> 可能很多人会感觉Activity很简单,但是经历了半年的android开发,我发现我对Activity的的理解还是比较浅显的,其实Activity并没有我们想象的那么简单今天花了一个下午学习了Activity的生命周期,为以后忘记后迅速回顾,做准备. 一.首先看下官网给出activity的生命周期图 我们可以从图中分析它的执行过程: 1.启动Activity:系统会首先调用onCreate方法,然后调用onStart方法,最后调用onResu

Android开发之Activity之间的数据传递

通过putExtra设置值,通过getExtra获取值 putExtra需要设置键值对,getExtra通过对应的键获取传递的值(直接在getExtra之间加上想获取的值类型) 1.在一个Activity通过startActivityForResult()开启另一个Activity 2.该方法通常接收两个参数,第一个是Intent对象,第二个是requestCode 3.在第一个Activity中重写onActivityResult方法,通过switch判断传过来的requestCode(哪个A

android开发之Fragment加载到一个Activity中

Fragments 是android3.0以后添加的.主要是为了方便android平板端的开发.方便适应不同大小的屏幕.此代码是为了最简单的Fragment的使用,往一个Activity中添加Fragment,主要涉及的知识点有:1.Fragment类的创建,2.Fragment的添加3.无UI的 Fragment的添加,根据Tag找回Fragment Fragment对应的Xml布局文件, <LinearLayout xmlns:android="http://schemas.andro

Android开发之InstanceState详解(转)---利用其保存Activity状态

Android开发之InstanceState详解 本文介绍Android中关于Activity的两个神秘方法:onSaveInstanceState() 和 onRestoreInstanceState(),并且在介绍这两个方法之后,再分别来实现使用InstanceState保存和恢复数据功能.Android实现屏幕旋转异步下载效果这样两个示例. 首先来介绍onSaveInstanceState() 和 onRestoreInstanceState() .关于这两个方法,一些朋友可能在Andr