android 编程基础

简介:

应用程序基础
android 应用程序由java编程语言编写.
android sdk工具会将android代码和数据以及资源文件编译成为一个android package,这是一个归档文件,名称以.apk结尾.在同一个apk文件中的代码被认为是一个应用程序.
android应用程序被安装进一个设备后,每个android应用程序驻留在自己的安全沙盒中.
android操作系统是一个多用户linux系统,每个应用程序相当于一个用户.
默认情况下,系统为每个应用程序分配一个独立的linux user id.系统给这个应用程序的所有的文件授予许可,这样就只有这个应用程序对应的user id的用户(实际上是进程)才能访问.
每个进程有自己的虚拟机(vm),这样保证了一个应用程序代码和其它的应用程序就孤立开了.
默认情况下,每个应用程序运行后有自己独立的linux进程.
android系统实现了最小权限原则,每个应用程序默认只有访问自己组件的权限(以保证它能正常工作).
要让一个应用程序能够跟其它应用程序共享数据,有两种方法:
    1.让两个应用程序共享同样的linux user id;
    2.使用者给应用程序授权(安装时候)

android常用类 
1.Activity 
    Activity是一个应用程序部件.它提供了屏幕上可见的部分供用户交互使用.

    android应用程序可以激活另外一个应用程序的某个Activity.从这一点上来说,android应用程序不像通常的java或者c程序有一个main的入口函数.

    开发人员所开发的Activity都是android.app.Activity的子类.
2.Intent 
    在各个应用程序之间传输数据,类似一个提交了的表单.
3.service 
    不可见,承担大部分数据处理的工作.

    service运行在后台,执行一个长期操作或者和远程进程进行交互,它不提供一个用户界面.
    开发人员开发的service都是android.app.Service的子类.
4.Content Provider 
    为应用程序提供数据.

    在android中,数据存储位置有文件系统,sqlite数据库,web以及其他持久化存储位置.通过content provider,其它应用程序可以查询甚至是修改这些数据(要注意授权).
    content provider也可以操作应用程序的私有数据.
    content provider可以实现自android.content.ContentProvider.

激活组件
    activities,services,broadcast receivers都是可以个intent激活的.
    Activity激活可以通过将一个intent对象传递给startActiviy()或者startActivityForResult().
    service激活可以通过将一个intent传递给startService(),也可以将一个intent传递给bindService()来绑定一个service.

开发环境: 
    1.sdk 
    2.eclipse 
    2.adt(eclipse下的android开发插件)



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/08/01/2124077.html,如需转载请自行联系原作者

目录
相关文章
|
7月前
|
Java 调度 Android开发
构建高效Android应用:探究Kotlin多线程编程
【2月更文挑战第17天】 在现代移动开发领域,性能优化一直是开发者关注的焦点。特别是在Android平台上,合理利用多线程技术可以显著提升应用程序的响应性和用户体验。本文将深入探讨使用Kotlin进行Android多线程编程的策略与实践,旨在为开发者提供系统化的解决方案和性能提升技巧。我们将从基础概念入手,逐步介绍高级特性,并通过实际案例分析如何有效利用Kotlin协程、线程池以及异步任务处理机制来构建一个更加高效的Android应用。
|
7月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
7月前
|
存储 Java Android开发
OpenCV3 安卓应用编程:1~6 全
OpenCV3 安卓应用编程:1~6 全
48 0
|
7月前
|
存储 算法 开发工具
OpenCV 安卓编程示例:1~6 全
OpenCV 安卓编程示例:1~6 全
154 0
|
7月前
|
Java 调度 数据库
Android 性能优化: 如何进行多线程编程以提高应用性能?
Android 性能优化: 如何进行多线程编程以提高应用性能?
113 0
|
5月前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:平台特性与编程实践
【7月更文挑战第8天】在移动开发的广阔天地中,安卓和iOS这两大操作系统各自占据着半壁江山。它们在用户界面设计、系统架构及开发工具上展现出截然不同的特色。本文将深入探讨这两个平台在技术实现和开发生态上的关键差异,并分享一些实用的开发技巧,旨在为跨平台开发者提供有价值的见解和建议。
|
6月前
|
安全 IDE Android开发
探索Android与iOS开发的差异:平台特性与编程实践
【6月更文挑战第17天】在移动应用开发的广阔天地中,Android和iOS两大平台各自占据半壁江山。它们在用户群体、系统架构以及开发环境上的差异,为开发者带来了不同的挑战和机遇。本文深入探讨了这两个平台在技术实现、界面设计、性能优化等方面的主要区别,并提供了实用的开发建议,旨在帮助开发者更好地理解各自平台的特性,从而创造出更加优秀的移动应用。
|
7月前
|
Java Android开发 Dart
50家大厂面试万字精华总结android编程基础学习
50家大厂面试万字精华总结android编程基础学习
|
7月前
|
Ubuntu Android开发 数据安全/隐私保护
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
【Android平板编程】远程Ubuntu服务器Code-Server编程写代码
100 0
|
7月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程