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等.其实看了上面视频的 ...
随机推荐
- 半透命opacity:(0-1),对于IE6版本不支持需要用filter:alpha(opacity=0-100)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- C# dev GridControl绑定数据不能显示
如题, dev GridControl绑定数据不能显示时可检查数据操作顺序 view = advBandedGridView1 as AdvBandedGridView; //第1 this.advB ...
- Left/Right/Inner Join用法和区别
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只 ...
- Java ZIP压缩和解压缩文件并兼容linux
JDK中自带的ZipOutputStream在压缩文件时,如果文件名中有中文,则压缩后的 zip文件打开时发现中文文件名变成乱码. 解决的方法是使用apache-ant-zip.jar包(见附件)中的 ...
- Android中通过pid获取app包名
String callerPackage = getAppNameByPID(getContext(), Binder.getCallingPid()); private String getAppN ...
- Extjs4---Cannot read property 'addCls' of null - heirenheiren的专栏 - 博客频道 - CSDN.NET
body { font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLi ...
- 2016"百度之星" - 资格赛(Astar Round1) Problem C
字典树. 插入的时候update一下节点出现的次数. delete的时候,先把前缀之后的全删了.然后看前缀最后一个节点出现了几次,然后前缀上每个节点的次数都减去这个次数. 前缀从上到下再检查一遍,如果 ...
- keil c51的内部RAM(idata)动态内存管理程序(转)
源:keil c51的内部RAM(idata)动态内存管理程序 程序比较简单,但感觉比较有意思,个人认为有一定应用价值,希望大家有更好的思路和方法,互相促进. 程序的基本思路是:在CPU堆栈指针SP以 ...
- Python+Selenium定位不到元素常见原因及解决办法(报:NoSuchElementException)
在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException ...
- 从零开始HTML
1.属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息.属性总是以名称/值对的形式出现,比如:name="value". 属性总是在 HTML 元素的 ...