Android开发之Activity(cho1)篇

古人已用三冬足,年少今开万卷余。这篇文章主要讲述Android开发之Activity(cho1)篇相关的知识,希望能为你提供帮助。
一、Activity判断网络是否连通:
        首先创建一个Andorid Project项目,然后添加一个on1类,Layout一个button控件和Textview控件。
        values有一个Color.xml文件和string.xml文件(注:Color.xml文件可以网上找)
        Color.xml文件:
                       

Android开发之Activity(cho1)篇

文章图片

      string.xml文件:
                 
Android开发之Activity(cho1)篇

文章图片

        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文件
                 
Android开发之Activity(cho1)篇

文章图片

              点击Add添加
               
Android开发之Activity(cho1)篇

文章图片

              Name下拉框选中选中android.permission.ACCESS_NETWORK_STATE",在创建一个Add下拉框选中android.permission.INTERNET。
               
Android开发之Activity(cho1)篇

文章图片

 
                     
Android开发之Activity(cho1)篇

文章图片

查看AndroidMandifest.xml文件添加了两个uses-permission标签。
       
Android开发之Activity(cho1)篇

文章图片

                       
效果图:
      有网:
                   
Android开发之Activity(cho1)篇

文章图片

    没网:
                   
Android开发之Activity(cho1)篇

文章图片

  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(); //获取当前运行程序的信息
【Android开发之Activity(cho1)篇】 
2、LayoutInflater inflater = (LayoutInflater) context     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 获得布局管理器对象   convertView = inflater.inflate(R.layout.item_appoint_list_1, null); //这个应该不用多说,getView中一直用的。

    推荐阅读