Android应用的基本组件介绍和签名Android应用程序
一、Android应用的基本组件介绍
- 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、一对话框形式显示窗口,都可以通过该方法来实现。
- Service:Service与Activity的地位是并列的,它也代表一个单独的Android组件。Service与Activity的区别在于:Services通常位于后台运行,它一般不需要用户交互,因此Service组件没有图形用户界面。与Activity组件需要继承Activity基类相似,Service组件需要继承Service基类。一个Service组件被运行起立之后,它将拥有自己独立的生命周期,Service组件通常用于为其他组件提供服务或监控其他组件的运行状态。
- 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 />元素完成注册。
- 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访问数据。
- Intent和IntentFilter:此处待续。
二、签名Android应用程序
- 在Eclipse中对Android应用签名
- 右击Android项目,“Android Tools->Export Signed Application Package...”菜单项,Eclipse弹出如图所示窗口

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

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

点击“Finish”按钮,签名完成。Eclipse将会在指定路径下生成一个签名后的APK安装包。
上面数字证书生成之后,之后生成APK签名包时可以使用已有的数字证书。
三、把Android应用下载链接做成二维码
1.能够生成二维码的网站介绍
- http://cli.im/ 草料二维码网站
- http://www.liantu.com/ 联图网
2.借助网盘和二维码生成网站二维码下载链接
- 把签名后的安装包提交到百度网盘,并分享,并创建公开分享链接如图:

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

用微信扫描二维码即可下载apk安装包
Android应用的基本组件介绍和签名Android应用程序的更多相关文章
- 17.(转) Android之四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...
- android拾遗——四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器. 一:了解四大基本组件 Activity ...
- Android Application的基本组件介绍
一个Android应用通常由一个或多个基本组件组成,常用的一般有Activity.Service.BroadcastReceiver.ContentProvider.Intent等等. ⒈Activi ...
- 我的Android第三章:Android的组件介绍
小编摘录了Android文档介绍Android四大组件的基本内容,感觉文档的内容写的很详细所以小编将它写入了博客 Android 使用Java语言开发.Android SDK 工具编译代码-以及任意数 ...
- Android四大基本组件介绍与生命周期
Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器 ...
- Android基础_1 四大基本组件介绍与生命周期
Android四大基本组件分别是Activity,Service(服务),Content Provider(内容提供者),BroadcastReceiver(广播接收器). 一.四大基本组件 Acti ...
- Android官方架构组件介绍之LifeCycle
Google 2017 I/O开发者大会于近日召开,在开发者大会上谷歌除了发布了Android O等一些新产品之外,也对Android代码的架构做出了一个官方的回应. Google 2017 I/O开 ...
- 【转】Android四大基本组件介绍与生命周期
转自:http://www.cnblogs.com/bravestarrhu/archive/2012/05/02/2479461.html Android四大基本组件分别是Activity,Serv ...
- Android官方架构组件介绍之LifeCycle(一)
Android官方架构组件介绍之LifeCycle 下面是官方提供的Android App开发的架构图: 从上图可以看到一些关键字:ViewModel,LiveData,Room等.其实看了上面视频的 ...
随机推荐
- PAT (Advanced Level) 1048. Find Coins (25)
先对序列排序,然后枚举较小值,二分较大值. #include<iostream> #include<cstring> #include<cmath> #includ ...
- Linux批量部署工具Expect
既然没有遇到过,做好准备总是好的.这是自己送给自己的话,现在运维做自动话越来越多,自己就学以下,记录笔记.目前主流的有puppet.Expect.pssh等等,今天就用Expect做自动部署和日常管理 ...
- Restful based service 的跨域调用
1.关于跨域, w3c的官方文档:https://www.w3.org/TR/cors/ 2.有时间再整理吧. <html> <head> <script src=&qu ...
- ScrollView的fillViewPort属性
ScrollView嵌套Relative时候会发生问题,RelativeLayout不会充满ScrollView,即使设置match_parent属性也不行 这个时候就需要fillViewPort属性 ...
- js动画(三)
咳咳咳咳,感冒了感冒了,鼻塞,蓝瘦啊!嘴巴也开裂,哎,心疼自己.想到这是第三只唇膏了!只怪,放荡不倔爱自由, 行驶在冷风路上么,北风那个吹啊吹啊吹啊,好了,发神经发完了,接下来进入正题,严肃脸.(字数 ...
- redis sentinel 集群监控 配置
环境: ip 172.16.1.31 26379 redis sentinel ip 172.16.1.30 6379 主 1 ip 172.16.1.31 6380 从 1 ip ...
- 编译安装CoreSeek-4.1
编译安装CoreSeek-4.1 yum -y install expat-devel* wget http://www.coreseek.cn/uploads/csft/4.0/coreseek- ...
- (总结)Linux的chattr与lsattr命令详解
PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了.chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的li ...
- Shell实例----------从文件夹里面多个文件里面查找指定内容
脚本执行方式:脚本名称 目录的路径 要查找的内容 #!/bin/bash num=`ls $1 |tr ' ' '^$'|wc -l` for i in `seq 1 $num` do file_n ...
- Android开发之FileProvider
最近做项目时,都需要用到FileProvider.于是就研究了下,现总结如下: 官方路径:http://developer.android.com/intl/zh-cn/training/secure ...