一、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安装包

Android应用的基本组件介绍和签名Android应用程序的更多相关文章

  1. 17.(转) Android之四大基本组件介绍与生命周期

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...

  2. android拾遗——四大基本组件介绍与生命周期

    Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...

  3. Android Application的基本组件介绍

    一个Android应用通常由一个或多个基本组件组成,常用的一般有Activity.Service.BroadcastReceiver.ContentProvider.Intent等等. ⒈Activi ...

  4. 我的Android第三章:Android的组件介绍

    小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...

  5. Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...

  6. Android基础_1 四大基本组件介绍与生命周期

    Android四大基本组件分别是Activity,Service(服务),Content Provider(内容提供者),BroadcastReceiver(广播接收器). 一.四大基本组件 Acti ...

  7. Android官方架构组件介绍之LifeCycle

    Google 2017 I/O开发者大会于近日召开,在开发者大会上谷歌除了发布了Android O等一些新产品之外,也对Android代码的架构做出了一个官方的回应. Google 2017 I/O开 ...

  8. 【转】Android四大基本组件介绍与生命周期

    转自:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Android四大基本组件分别是Activity,Serv ...

  9. Android官方架构组件介绍之LifeCycle(一)

    Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的 ...

随机推荐

  1. 半透命opacity:(0-1),对于IE6版本不支持需要用filter:alpha(opacity=0-100)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. C# dev GridControl绑定数据不能显示

    如题, dev GridControl绑定数据不能显示时可检查数据操作顺序 view = advBandedGridView1 as AdvBandedGridView; //第1 this.advB ...

  3. Left/Right/Inner Join用法和区别

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...

  4. Java ZIP压缩和解压缩文件并兼容linux

    JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...

  5. Android中通过pid获取app包名

    String callerPackage = getAppNameByPID(getContext(), Binder.getCallingPid()); private String getAppN ...

  6. Extjs4---Cannot read property 'addCls' of null - heirenheiren的专栏 - 博客频道 - CSDN.NET

    body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...

  7. 2016"百度之星" - 资格赛(Astar Round1) Problem C

    字典树. 插入的时候update一下节点出现的次数. delete的时候,先把前缀之后的全删了.然后看前缀最后一个节点出现了几次,然后前缀上每个节点的次数都减去这个次数. 前缀从上到下再检查一遍,如果 ...

  8. keil c51的内部RAM(idata)动态内存管理程序(转)

    源:keil c51的内部RAM(idata)动态内存管理程序 程序比较简单,但感觉比较有意思,个人认为有一定应用价值,希望大家有更好的思路和方法,互相促进. 程序的基本思路是:在CPU堆栈指针SP以 ...

  9. Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)

         在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...

  10. 从零开始HTML

      1.属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息.属性总是以名称/值对的形式出现,比如:name="value". 属性总是在 HTML 元素的 ...