zoukankan      html  css  js  c++  java
  • Android应用的基本组件介绍和签名Android应用程序

    一、Android应用的基本组件介绍

    1.  Activity和View :Activity只能通过setContentView(View)来显示指定的组件。View组件是所有UI控件、容器控件的基类,View组件就是Android应用中用户实实在在看到的部分。但View组件需要放到容器组件中,或者使用Activity将它显示出来。如果需要通过某个Activity把指定View组件显示出来,调用Activity的setContentView()方法即可。setContenView()方法可接受一个View对象作为参数,例如如下代码:
      //创建一个线性布局管理器
      LinearLayout layout=new LinearLayout(this);
      //设置该Activity显示layout
      setContentView(layout);

      上面的程序通过代码创建了一个LinearLayout对象(它是ViewGroup的子类,ViewGroup又是View的子类),接着调用Activity的setContentView(layout)把这个布局管理器显示出来。setContentView()方法也接受一个布局管理资源的ID作为参数,例如如下代码:

      //设置该Activity显示main.xml文件定义的View
      setContentView(R.layout.main);

      Activity包含了一个setTheme(int resid)方法来设置其窗口的风格,例如我们希望窗口不显示ActionBar、一对话框形式显示窗口,都可以通过该方法来实现。

    2. Service:Service与Activity的地位是并列的,它也代表一个单独的Android组件。Service与Activity的区别在于:Services通常位于后台运行,它一般不需要用户交互,因此Service组件没有图形用户界面。与Activity组件需要继承Activity基类相似,Service组件需要继承Service基类。一个Service组件被运行起立之后,它将拥有自己独立的生命周期,Service组件通常用于为其他组件提供服务或监控其他组件的运行状态。
    3. BroadcastReceiver:BroadcastReceiver代表广播消息接收器。BroadcastRecevier非常类似于事件编程中的监听器,BroadcastReceiver监听的事件源是Android应用中的其他组价。使用BooadcastRecevier组件接收广播消息比较简单,开发者只需要实现自己的BroadcastRecevier子类,并重写onReceive(Context context,Intent intent)方法即可。当其他组件通过sendBroadcast()、sendStickyBroadcast()或sendOrderedBroadcast()方法发送广播消息时,如该BroadcastReceiver()也对该消息“感兴趣”(同过IntentFilter设置),BroadcastReceiver的onReceive(Context context,Intent intent)。①在Java代码中可以通过Context.registReceiver()方法注册BroadcastReceiver。在AndroidManifest.xml文件中使用<receiver />元素完成注册。
    4. ContentProvider:对于Android应用而言,他们必须相互独立,各自运行在自己的Dalvik虚拟机实例中。如果这些Android应用之间需要时时的数据交换,例如我们开发了一个发短信的程序,当发短信时需要从联系人管理应用中读取指定联系人的数据——这就需要多个应用之间进行数据交换。Android系统为这种跨应用的数据交换提供了一个标准:ContentProvider。当用户实现自己的ContentProvider时需要实现以下方法:①insert(Uri,ContentValues):向ContentProvider中插入数据。②delete(Uri,ContentValues)删除ContentProvider中的指定数据③update(Uri,ContentValues,String,String[])更新ContentProvider中的指定数据。④query(Uri,String[],String,String[],String)从ContentProvider中查询数据。   通常与ContentProvider结合使用的是ContentResolver,一个应用使用ContentProvider暴露自己的数据,另一个应用程序使用ContentResolver访问数据。
    5. Intent和IntentFilter:此处待续。   

    二、签名Android应用程序

    1. 在Eclipse中对Android应用签名
    •   右击Android项目,“Android Tools->Export Signed Application Package...”菜单项,Eclipse弹出如图所示窗口

         

    单击“Next”按钮,Eclipse将会出现下图窗口

      

    点击“Next”按钮,Eclipse打开下图窗口

    点击“Finish”按钮,签名完成。Eclipse将会在指定路径下生成一个签名后的APK安装包。

    上面数字证书生成之后,之后生成APK签名包时可以使用已有的数字证书。

    三、把Android应用下载链接做成二维码

         1.能够生成二维码的网站介绍

         2.借助网盘和二维码生成网站二维码下载链接

    •  把签名后的安装包提交到百度网盘,并分享,并创建公开分享链接如图:

       

    •  在二维码生成网站中把公开链接生成二维码如下图:

         

    用微信扫描二维码即可下载apk安装包

             

  • 相关阅读:
    关于Class.getResource和ClassLoader.getResource的路径问题
    spring源码第一章_获取源码并将源码转为eclipse工程
    《ORACLE数据库管理与开发》第三章学习之常用函数记录
    hibernate部分源码解析and解决工作上关于hibernate的一个问题例子(包含oracle中新建表为何列名全转为大写且通过hibernate取数时如何不用再次遍历将列名(key)值转为小写)
    整合Spring时Service层为什么不做全局包扫描详解
    Tomcat启动时加载数据到缓存---web.xml中listener加载顺序(例如顺序:1、初始化spring容器,2、初始化线程池,3、加载业务代码,将数据库中数据加载到内存中)
    tomcat出现的PermGen Space问题
    org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pcisv7]]
    用户线程和守护线程
    @override的意思
  • 原文地址:https://www.cnblogs.com/wolipengbo/p/3236362.html
Copyright © 2011-2022 走看看