第一行代码Android学习笔记完全版

合集下载

《第一行Android代码》课件:第一章 开始启程-你的第一行android代码

《第一行Android代码》课件:第一章 开始启程-你的第一行android代码


安卓开发者网站/
• Android Studio的引入:
• 2013年GoogleI/O大会首次发布了Android Studio IDE(Android平台集成开发环境)。它基于Intellij IDEA开 发环境,旨在取代Eclipse和ADT(Android开发者工具)为开发者提供更好的开发工具。既然Google一直在努力 推广,相信不久以后就有望赶上Eclipse。
配置和启动模拟器
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
完成配置
广东药科大学 数字媒体技术系 GDPUDM
启动虚拟机
广东药科大学 数字媒体技术系 GDPUDM
1.3.3 运行Helloworld
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
选择目标设备 这里我们选择手机,并为其 指定最小SDK为API 14
广东药科大学 数字媒体技术系 GDPUDM
点击Next按钮进入下一步,这时候会要求 你为应用添加一个Activity
广东药科大学 数字媒体技术系 GDPUDM
广东药科大学 数字媒体技术系 GDPUDM
Layout --- activity_main.xml
广东药科大学 数字媒体技术系 GDPUDM
1.3.5 资源-详解res目录
广东药科大学 数字媒体技术系 GDPUDM
res/values/string.xml
• 定义应用程序字符串
AndroidManifest.xml 引用了app_name

Android学习新手笔记(非教程)

Android学习新手笔记(非教程)
................................................................................................. 22 第 24 讲 UI 布局之帧布局和表格布局........................................................................................ 24 第 25 讲 UI 组件之 AlertDialog 的各种实现............................................................................. 24 1、AlertDialog 的创建........................................................................................................... 25 2、弹出框单选框................................................................................................................... 26 3、多选框............................................................................................................................... 27 第 26 讲 对话框 AlertDialog 的自定义实现 ................................................................................ 28 第 28 讲 UI 组件之 ListView 和 ArrayAdapter............................................................................ 28 第 29 讲 UI 组件_ListView 的组件与 BaseAdapter,SimpleAdapter ........................................ 31 一、简单的 BaseAdapter ....................................................................................................... 31 二、复杂的 BaseAdapter ....................................................................................................... 32 三、SimpleAdapter ................................................................................................................ 35 第 30 讲 UI 组件_网格布局组件 GridView................................................................................. 35 第 31 讲 UI 组件_画廊控件 Gallery............................................................................................. 40 一、实现图片的左右滑动浏览效果。 ................................................................................. 40 二、实现缩略图加放大图显示 ............................................................................................. 41 第 32 讲 UI 组件_日期选择控件 DatePicker 和 TimePicker ...................................................... 42 一、DatePicker ....................................................................................................................... 42 二、TimePicker ...................................................................................................................... 42 三、弹出式 Picker ................................................................................................................. 43 第 33 讲 UI 组件_进度条 ProcessBar 和 UI 阻塞之消息队列处理器 handler........................... 44 一、不同的 Precessbar........................................................................................................... 44 二、UI 阻塞 ........................................................................................................................... 44 1、post 方法 ................................................................................................................... 44 2、handler 方法.............................................................................................................. 45 3、利用 handler 实现进度条随时间递增 ..................................................................... 46 第 34 讲 UI 组件_ProgressDialog 和 Message ............................................................................. 47 第 35 讲 Activity 入门和跳转....................................................................................................... 49 一、自己配置 Activity........................................................................................................... 49 二、自动配置 Activity........................................................................................................... 49 三、Activity 之间的跳转....................................................................................................... 49 四、Activity 之间信息传递................................................................................................... 50 五、通过 layout 的切换实现类似 Activity 切换的效果 ...................................................... 50 第 36 讲 Android 之 activityForResult .......................................................................................... 50

第一行代码Android知识点总结

第一行代码Android知识点总结

第一行代码知识点总结1、Android四层架构:Linux内核层(提供底层驱动)、系统运行库层(提供特性支持,一些核心库)、应用框架层(提供各种API)和应用层2、Android四大组件:活动(activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)3、Android应用特色开发:四大组件、丰富的系统控件、SQL数据库(轻量级,运算速度快的嵌入式关系型数据库)、强大的多媒体和地理位置定位(LBS)。

4、Android程序设计讲究逻辑和视图分离,通常在布局文件中编写在界面4.1Android的日志工具Log:Log.d()打印调试信息对应debug。

Log.v()打印琐碎、意义最小日志,对应verbose,Log.i()打印比较重要的数据对应info;Log.w()打印警告信息对应error;Log.e()打印错误信息对应error。

Log.d(类名,打印内容)4.2活动:主要用于和用户进行交互、基本用法4.3活动中的提醒方式Toast4.4、drawable存放图片,mipmap存放应用图标,values放字符串、样式,颜色等配置,layout放布局文件4.5、Android Studio是采用Gradle来构建项目5、Intent的使用:显式Intent和隐式Intent()6、活动的生命周期7、返回栈的定义8、Android是使用任务来管理活动的9、活动状态:运行、暂停、停止、销毁状态10、Activity类中的七个回调方法:onCreate()onStaart()、onResume()、onPause()、onStop()、onDestroy()和onRestart()11、活动的三种生存期:完整、可见、前台12、活动的四种启动模式:standard、singleTop、singleTask 和singleInstance13、常用控件:TextView、Button、EditText、ImageView、ProgressBar(进度条)、AlertDialog(对话框)、ProgressDialog (显示对话框时出现进度条)14、基本布局:线性布局(LinearLayout)、相对布局(RelativeLayout)、帧布局(FrameLayout)百分比布局、AbsoluteLayout、TableLayout15、常用和最难用的控件ListView16、滚动控件:RecyclerView17、碎片的定义、使用方式、碎片的生命周期、状态和回调18、广播主要的两种类型:标准广播和有序广播;注册广播的方式:静态注册和动态注册;广播接收器继承BroadcastReceiver19、本地广播(LocalBroadcastManager)20、Android系统中三种数据持久化方式:文件储存、SharedPreference储存及数据库储存,还有保存在手机SD卡中21、SQliteOpenHelper帮助类:SQliteOpenHelper中有两个抽象方法onCreate()和onUpgrade();两种重要的实例方法getReadableDatabase()和getWritableDatabase()22、LitePal操作数据库23、跨程序共享数据:内容提供器24、ContentResolver的基本用法:ContentResolver类、ContentResolver中提供给了一系列的方法用于对数据进行CRUD操作包括增删改查操作;ContentResolver增删改查方法不接收表名参数,而是用Uri参数代替。

Android第一行代码第9章

Android第一行代码第9章

第9 章后台默默的劳动者,探究服务1.在三大智能手机操作系统中,__________ 是_ 不支持后台的,当应用程序不在前台运行时就会进入到挂起状态。

___________ 则_完全支持后台功能,这使得应用程序即使在关闭的情况下仍然可以在后台继续运行。

而 ___________ 则_ 是经历了一个由不支持到支持后台的过程,目前也具备了后台功能。

答:iOSAndroidWindows Phone2.默认情况下,Android 所有应用中的组件不但运行在同一进程中,而且也运行在此进程的同一线程中,这一线程被称为 __ 。

_答:主线程3.Android 主线程负责分发事件给相应的用户界面组件,包括绘制用户界面的事件,在主线程中应用与Android UI 交互,因此,主线程又被称为___________ 线_ 程。

答:UI (主线程)4.在Android 应用中,只有____________ 线_程能够维护和更新UI 组件的状态,因此,用户界面是一种单线程模型。

答:UI5.当Android 应用需要执行一些耗时操作时,如果不将这类操作放在子线程里去运行,就会导致被_阻塞,从而影响用户对软件的正常使用。

答:主线程6.Android 的UI 组件不是线程安全的, 在子线程中更新UI 会导致_______ 。

_答:程序崩溃7.Android 多线程编程基本模式与Java 多线程编程相同,主要有两种基本模式:即定义一个继承自的_线程类和定义一个实现_____________________ 接_ 口的类。

答:ThreadRunnable8.Android 系统异步消息通信机制由以下类组成:___________ 、____________ 、_MessageQueue 和Looper 。

答:MessageHandler9.在Android 系统异步消息通信机制中,____________ 是_在线程之间传递的消息,它可以在内部携带少量的信息,用于在不同线程之间交换数据。

第一行代码笔记

第一行代码笔记

Android系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。

所有的活动都必须要继承Activity才能拥有活动的特性onCreate()方法是一个活动被创建时必定要执行的方法drawable开头的文件夹都是用来放图片的,所有以values开头的文件夹都是用来放字符串的,layout文件夹是用来放布局文件的,menu文件夹是用来放菜单文件的1.在代码中通过R.string.hello_world可以获得该字符串的引用;2.在XML中通过@string/hello_world可以获得该字符串的引用setContentView()方法来给当前的活动加载一个布局<manifest xmlns:android="/apk/res/android"package="com.example.activitytest"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="14"android:targetSdkVersion="19" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activityandroid:name=".FirstActivity"/*使用android:name来指定具体注册哪一个活动com.example.activitytest.FirstActivity的缩写*/android:label="This is FirstActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity></application></manifest><manifest>通过package属性指定了程序的包名是com.example.activitytest使用了android:label指定活动中标题栏的内容label不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(yout.first_layout);Button button1 = (Button) findViewById(R.id.button_1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast.makeText(FirstActivity.this, "You clicked Button 1",Toast.LENGTH_SHORT).show();}});}requestWindowFeature(Window.FEATURE_NO_TITLE)的意思是不在活动中显示标题栏通过findViewById()方法获取到在布局文件中定义的元素findViewById()方法返回的是一个View对象,向下转型将它转成Button对象通过调用setOnClickListener()方法为按钮注册一个监听器,点击按钮时就会执行监听器中的onClick()方法Toast通过静态方法makeText()创建出一个Toast对象,然后调用show()将Toast显示出来就可以了makeText()方法需要传入三个参数。

android移动应用开发技术课第一章笔记

android移动应用开发技术课第一章笔记

android移动应用开发技术课第一章笔记第一章:Android移动应用开发技术课笔记一、引言在当今移动互联网时代,Android系统以其开放性和普及率成为了最受欢迎的移动操作系统之一。

随着移动应用市场的不断扩大,对Android移动应用开发技术的需求也日益增加。

学习和掌握Android移动应用开发技术成为了越来越多人的选择。

二、Android移动应用开发技术概述1. 什么是Android?Android是一款基于Linux操作系统的开源移动设备操作系统,主要用于触摸屏移动设备,如智能手机和平板电脑。

Android操作系统的开放性使得开发者可以自由定制和开发应用,受到了广大用户的喜爱。

2. Android移动应用开发技术的重要性随着信息化和数字化的发展,移动应用成为了人们获取信息和进行交流的重要方式。

而Android作为最主流的移动操作系统之一,其应用的开发和推广具有巨大的市场潜力和商业价值。

掌握Android移动应用开发技术成为了许多开发者和从业者的追求目标。

三、学习Android移动应用开发技术的重要性1. 对于个人的意义学习Android移动应用开发技术可以提升个人的职业技能,并且在移动应用开发领域有更多的发展机会。

可以通过开发自己的应用来实现个人价值和创造财富。

2. 对于企业的意义随着移动互联网的发展,各类企业都希望拥有自己的移动应用,以提升品牌形象和服务用户。

懂得Android移动应用开发技术的人才对企业来说显得格外宝贵。

四、学习Android移动应用开发技术的途径1. 自学通过阅读相关书籍、网上教程和参加线上培训班,可以自学Android 移动应用开发技术。

这种方式需要具备较好的自学能力和毅力。

2. 参加培训班选择权威的培训机构进行系统的学习和培训,可以更快速、系统地学习Android移动应用开发技术。

五、Android移动应用开发技术的未来发展随着人工智能、物联网、区块链等技术的不断发展,Android移动应用开发技术也将不断拓展应用场景和技术深度。

Android初学者学习笔记(自己整理)

Android初学者学习笔记(自己整理)

Android 笔记使用Android 和Eclipse ADT 创建并运行应用程序在 Android 简介的开始部分,我将帮助您尽可能快地创建一个简单的 Android 应用程序。

您将使用 Android 4.2 和 Eclipse Android Development Tools (ADT) 插件来创建一个基于 Java 的 Hello World 应用程序。

为 Android 建立开发环境的途径有两种。

刚接触 Eclipse 和 Android 的开发人员可以先下载ADT (Android Developer Tools) Bundle。

ADT Bundle 捆绑了一个 Android SDK 和一个 Eclipse 版本,其中已经安装了 ADT 插件。

这个程序包可帮助您快速、轻松地使用 Android。

如果 Eclipse 已经安装在台式机上并设置好,那么请手动下载并安装Android SDK。

基础 Android SDK 包含一些可简化 Android 开发的系统工具,但它缺乏开发特定 Android 版本所需的 Android 库。

为您的操作系统下载基础 Android SDK 后,可以访问 SDK 安装目录的工具目录,并运行清单 1中的 Android 脚本。

清单 1. 启动Android SDK Manager~/Development/tools/android/android-sdk-mac_x86/tools$>./android该脚本启动了 Android SDK Manager,您可以下载 Android 的各种版本和库,并创建模拟程序或虚拟设备实例。

Android SDK Manager 打开了一个窗口,其中显示一个很长的要下载的选项的列表,如图 1所示。

图 1. SDK Manager在左侧复选框中,选择Tools,然后选择Android 4.2 (API 17)。

Android笔记一

Android笔记一

1、Android中最重要的组件:a、Activity 整个应用程序的界面,负责应用程序当中数据的格式b、Intent 应用程序中所有的数据通过此来传递c、Service 承担大部分数据处理的工作,不可见d、Content Provider 负责存数数据,并允许有需要的应用程序访问这些数据2、开发工具以及安装:a)Android :SDK2.2 相当于java中的SDKi.下载后点击SDK Manager.exe安装API包b)Eclipse以及插件ADT(在找到安装插件的网址)c)Android模拟器的配置3、创建一个Android应用程序的步骤4、Android应用程序目录结构a)Gen目录:eclipse自动生成R.java类文件(不能修改)b)Assets目录:可以放置任何文件c)Res文件目录:里面放置的文件会在gen目录R.java中自动生成一个idi.Drawable-*dpi:高中低分辨率,所以每张图片要准备三个版本yout文件夹:放置布局文件,每一个activity对应一个布局配置文件,也会在R.java中自动生成一个唯一的idiii.iv.Values文件夹:放置值(都为键值对),也会在R.java中自动生成一个唯一的id5、AndroidManifest.xml文件的作用a)整个应用程序的配置文件b)该文件中filter标签在哪个Activity当中,就优先显示哪个ActivityActivity知识点1、Activity的主要作用a)是Android中非常重要的与用户进行交互的接口b)创建Activity的要点:i.一个Activity就是一个类,创建时且要继承Activityii.重写onCreate方法(当一个Activity第一次运行时,Android系统就会自动调用这个方法)iii.每一个Activity都必须在AndroidManifest.xml中进行注册配置iv.为Activity添加必要的控件(layout中xxx.xml文件,通常一个Activity对应一个xml文件)v.setContentView(yout.xxx); 将控件显示到这个Activity中c) 多个Activity之间的关系:一个或者多个应用程序之间d) Intent的基本作用(可以理解为请求)1、一个Intent对象包含了一组信息:(Component name (指定启动哪一个组件)、Action(指定另外一个Activity要做什么)、Data(传送的数据)、Catefory、Extras(额外信息:键值对传递)、Flags)e) 在Activity当中启动另外一个Activity的方法0、intent,setClass ( Actinity_01.this., Activity_02.class);1、startActivity(Intent intent);f) 使用Intent进行Activity之间数据的传唤0、intent..putXxxx();1、取时,Intent intent = getIntent(); 获得Intent对象2、Activity的生命周期1、资料:查看帮助文档中关于Activity生命周期的用法及介绍2、初始新建Activity时onCreat() 创建--> oncStart() 启动----> onResume()正在运行此时新加入一个Activity活动时(完全遮挡住第一个Activity),onPause() 暂停第一个Activity ------> (onCreat() 创建--> oncStart() 启动----> onResume() 正在运行) -----> onStop() 第一个停止(第一个Activity处于不可见的状态)点击回复按钮时,onPause() 暂停第二个Activity ----> onRestart() 重新启动第一个Activity _-----> onStart() 启动第一个---> onResume() 正在运行第一个---> onStop() 第二个停止----> onDestroy() 毁掉第二个创建的Activity3、Task基本概念a)采用栈的后进先出的原则b)可以把不同程序之间的Activity组合在一起为单元c)若当Activity中调用了finish(),调用完成后,则会销毁此Activityd)只能弹出和压入Activity,不能排序4、Activity和Task之间的关系5、对话框风格Activity的使用方法a)配置文件中:配置指定风格i.android:theme="@android:style/Theme.Dialog"则以窗口样式显示出来b) 启动对话框时Activity,第一个Activity还是处于可见的状态,调用第一个Activity的onPause()方法,暂时失去焦点。

第一行代码Android学习笔记完全版

第一行代码Android学习笔记完全版

hujunjob 于北航 2015.04.02
目录
第一章 Android 系统 ...................................................................................................................... 6 1.1 安卓系统架构.................................................................................................................... 6 1.2 Android 项目中的资源...................................................................................................... 6 第二章 Activity................................................................................................................................ 6 一、创建 Activity 步骤:........................................................................................................ 6 二、采用 Intent 切换 activity ..............................................................................................

《第一行代码》笔记

《第一行代码》笔记

《第一行代码》笔记1第一章:Android简介1.1Android系统架构1.1.1Linux内核层1.1.2系统运行层1.1.3应用框架层1.1.4应用层1.1.5架构图1.2Android已发布的版本1.2.12.3.3-2.3.7还占有15左右1.2.24.0以上占有80%1.2.3目前最新版是5.0 棒棒糖1.3Android应用特色1.3.1四大组件活动(Activity)服务(Service)广播接收器(Broadcast Receiver)内容提供器(Content Provider) 1.3.2丰富的系统控件1.3.3SQLite数据库1.3.4地理位置定位1.3.5强大的多媒体1.3.6传感器1.4Android开发环境1.4.1Android SDK1.4.2Eclipse1.4.3ADT1.5Android程序结构1.5.1src放java代码1.5.2gen代码自动生成,主要放R.java文件1.5.3assets可以放一些程序打包的文件,WebView加载的网页1.5.4bin编译时自动产生的文件1.5.5libs放些第三方jar包1.5.6res放些图片、布局、字符串等资源的文件drawable-hdpi,drawable-ldpi,drawable-mdpi文件夹layout文件夹menu文件夹value文件夹1.5.7AndroidManifest.xml整个Android项目的配置文件,四大组件都需要在这里注册1.5.8project.properties指定编译时SDK的版本1.6Logcat工具1.6.1Log.v()对应verbose级别,最低级1.6.2Log.d()对应debug级别,比verbose高一级1.6.3Log.i()对应info级别,比debug高一级1.6.4log.w()对应warn级别,比info高一级1.6.5log.e()对应error级别,比warn高一级2第二章:活动(Activity)2.1什么是活动(Activity)2.1.1是一种包含用户界面的组件,用于与用户交互,一个应用程序中包含零个或多个活动2.2活动(Activity)用法2.2.1自定义类继承Activity父类,并且要在AndroidManifest.xml文件中注册2.3intent2.3.1是Android各个组件之间进行交互的另一中重要方式,可以指明动作,并可以互相传递数据2.4intent用法2.4.1显式用法和隐式用法2.5活动(Activity)生命周期2.5.1返回栈,Android使用Task来管理活动,一个Task是一组存放在栈里活动的集合2.5.2活动状态运行状态暂停状态停止状态销毁状态2.5.3活动生存期onCreate() onStart() onResume() onPause() onStop() onDestroy() onRestart()图解流程2.6活动(Activity)启动模式2.6.1standard默认的启动模式,每次创建活动都会先建新的实例2.6.2singleTop启动活动时,发现返回栈的栈顶是该活动,则可以认为直接使用它,不会创建新的实例Subtopic2.6.3singleTask每次创建活动时,先判断是否已经存在活动实例,如果没有,则创建,如果有,则会把这个活动之上的所有活动统统出栈2.6.4singleInstance单独的返回栈来管理这个活动,可以解决共享活动实例问题2.7活动集合2.7.1BaseActivity,放一个活动集合实例,统一管理活动添加和销毁3第三章:UI控件3.1常见控件3.1.1TextView3.1.2Button3.1.3EditText3.1.4ImageView3.1.5ProgressBar 3.1.6AlertDialog 3.1.7ProgressDialog 3.2基本布局3.2.1LinearLayout 3.2.2RelativeLayout 3.2.3FrameLayout 3.2.4TableLayout 3.3自定义控件3.3.13.4ListView3.4.1数据列表控件3.4.2内部类ViewHolder,用于对控件实例缓存,convertView 判断,setTag()方法调用3.5单位和尺寸3.5.1px,像素-屏幕中最小元素单元3.5.2dp、sp来帮忙3.69-Patch工具4第四章:碎片(Fragment)4.1什么是碎片4.1.1是可以嵌入到活动中的UI片段,适用于平板比较多4.2碎片的生命周期4.2.1运行状态4.2.2暂停状态4.2.3停止状态4.2.4销毁状态4.3碎片生存期4.3.1onAttach()4.3.2onCreateView()4.3.3onActivityCreated()4.3.4onDestroyView()4.3.5onDetach()4.3.6图解流程4.4动态布局技巧4.4.1使用限定符4.4.2Subtopic5第五章:广播机制(Broadcast Receiver) 5.1有序广播5.1.1Subtopic5.2无序广播5.2.1Subtopic5.3接收系统广播5.3.1动态注册监听启动程序才能注册注意要取消注册5.3.2静态注册监听程序未启动,就能注册系统级别,不需要手动取消注册5.4发送自定义广播5.5使用本地广播6第六章:数据持久化6.1将内存中的瞬时数据保存到存储设备中6.2文件存储6.3SharedPreferences存储6.3.1Context的getSharedPreference()6.3.2Activity的getPreference()6.3.3PreferenceManager的getDefaultSharedPreference() 6.4SQLite数据库6.4.1创建数据库,SQLiteOpenHelper6.4.2升级数据库,onUpgrade()6.4.3添加数据6.4.4更新数据6.4.5删除数据6.4.6查询数据6.4.7SQL操作数据库7第七章:内容提供器(Content Provider)7.1主要是用于不同应用程序之间实现程序共享,并提供了完整的机制7.2ContentResolver用法7.3URI介绍7.4创建自己的内容提供器7.4.1onCreate()7.4.2query()7.4.3insert()7.4.4update()7.4.5delete()7.4.6getType()8第八章:多媒体应用8.1使用通知(Notification)8.2接受和发送短信8.3调用摄像头和相册8.4播放多媒体文件9第九章:服务(Service)9.1Android后台运行的解决方案,不依赖于用户界面9.2Android多线程编程9.2.1new Thread(线程类).start()9.2.2在子线程中更新UI9.2.3异步消息机制MessageHandlerMessageQueueLooperSubtopic9.2.4使用AsyncTask onPreExecute() doInBackground(Params...) onProgressUpdate(Progress...) onPostExecute(Result)9.3服务基本用法9.3.1定义一个服务9.3.2启动和停止服务9.3.3活动和服务通信9.3.4服务生命周期onCreate() onStartCommand() onDestroy9.3.5服务更多技巧前台服务IntentServiceAlarm机制10第十章:网络技术10.1WebView用法10.2Http协议访问网络10.2.1HttpURLConnection类10.2.2HttpClient类10.3解析XML格式数据10.3.1Pull解析10.3.2SAX解析10.4解析JSON格式数据10.4.1JSONObject10.4.2GSON11第十一章:位置服务(LBS) 11.1基于位置服务11.2LocationManager11.3Google API11.4百度地图11.5高德地图12第十二章:传感器12.1探测外界信号,转化我们需要的信息12.2光照传感器12.3加速度传感器12.4方向传感器13第十三章:Android高阶技巧13.1全局获取Context的技巧,利用Application类来初始化13.2使用Intent传递对象13.2.1Serializable方式13.2.2Parcelable方式13.3定制自己的日志工具13.3.1全局封装类13.4调试Android程序13.5编写测试用例14第十四章:实战14.1酷欧天气15第十五章:将应用发布到Google Play。

第一行代码——Android(第2版)

第一行代码——Android(第2版)
LOGO
2020
第一行代码——Android(第2版)
演讲人 2011-11-1101第2版的来自化第2版的变化02
读者对象
读者对象
03
本书内容
本书内容
04
源码下载
源码下载
05
1 开始启程——你的第一行 ANDROID代码
1 开始启程——你的第一行Android代码
1.1 了解全貌—— Android王国简介
1.3.2 启动模拟器
1.3.4 分析你的第一个 Android程序
1.3.6 详解build.gradle文 件
1 开始启程——你的第一行Android代码
1.3 创建你的第一个Android项目
1 开始启程— —你的第一行 Android代码
1.4 前行必备——掌握日志 工具的使用
https:///
1.1.2 Android已 发布的版本
1.1.3 Android应 用开发特色
1 开始启程——你的第一行Android代码
1.2.1 准备所需要 的工具
A
1.2.2 搭建开发环 境
B
1.2 手把手带你搭建开发环境
1.3.1 创建HelloWorld项目
1.3.3 运行HelloWorld 1.3.5 详解项目中的资源
2 先从看得到的入手——探究活动
2.7 小结与点评
2.2.1 手动创建活动
2.2.3 在AndroidManifest文 件中注册
2.2.5 在活动中使用Menu
2.2.2 创建和加载布局
2.2.4 在活动中使用Toast
2.2.6 销毁一个活动
2 先从看得到的入手——探究活动
2.2 活动的基本用法

MTK 智能手机开发, android,安卓 AOSP学习笔记

MTK 智能手机开发, android,安卓 AOSP学习笔记

对于5.0的系统是要求的ubuntu 12.041 新代码第一步执行:source build/envsetup.sh (此命令完成一些命令的初始化,配置了android编译的环境)2 执行lunch 命令(选择平台编译选项,用来让用户选择编译项,类似于旧框架的./mk listp)3 输入所需要编译的工程(这里需要编译82平台输入20),会显示相关的一些信息(1)A: ProjectConfig.mk路径:alps\device\farsighted\fars6582_wt_l(2)B: Drvtool路径:alps\kernel-3.10\tools\dct(3)C: Codegen.dws路径alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\dct\dct(4)D: flash时序表路径:alps\device\mediatek\build\build\tools\emigen\MT6582(5)E: flash配置文路径:alps\bootable\bootloader\preloader\custom\fars6582_wt_l\inc(6)F: 背光,键盘灯配置文路径:kernel :alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\leds\ mt65xxlk:alps\bootable\bootloader\lk\target\fars6582_wt_l(7)G: TP驱动路径:alps\kernel-3.10\drivers\input\touchscreen\mediatekTP 用户头文件配置路径:alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\touchpanel\ GT9XX新增TP还需要在以下文件增加编译路径:***新增TP还需要在以下文件增加编译路径:alps\kernel-3.10\drivers\input\touchscreen\mediatek\ Makefilealps\kernel-3.10\drivers\input\touchscreen\ KconfigTP mk文件配置(8)H: LCM驱动存放路径lk:alps\bootable\bootloader\lk\dev\lcm\ mt65xx_lcm_list.c配置文件:Lk部分mk文件配置:alps\bootable\bootloader\lk\project\ fars6582_wt_l.mkBOOT_LOGO有两处alps\bootable\bootloader\lk\project\ fars6582_wt_l.mkalps\bootable\bootloader\lk\dev\logo\ rules.mkKernel部分:lcm驱动:alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\lcm\此目录下只放.c文件,不需要文件夹alps\kernel-3.10\drivers\misc\mediatek\lcma:链接obj alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\lcm\ MakefileB:编译路径alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\lcm\ mt65xx_lcm_list.cC:kernel mk文件配置路径:alps\kernel-3.10\arch\arm\configs\ fars6582_wt_l_defconfigKerner config配置建议使用menuconfig命令make dir outmake O=out fars6582_wt_l_debug_defconfig(这是对应的项目配置文件)make O=out menuconfig(进不去的同学可看看后面的补充)(9)I: CAMERA 配置:1 alps\device\farsighted\fars6582_wt_l\ProjectConfig.mk2 hal目录3 驱动目录4 涉及修改的文件MT6582_L0\alps\kernel-3.10\drivers\misc\mediatek\imgsensor\inc\kd_imgsensor.hMT6582_L0\alps\kernel-3.10\drivers\misc\mediatek\imgsensor\src\mt6582\kd_sensorlist.hMT6582_L0\alps\vendor\mediatek\proprietary\custom\fars6582_wt_l\hal\imgsensor_src\sensorlist .cppalps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\camera\camera\kd_camera_hw.calps\vendor\mediatek\proprietary\custom\common\kernel\imgsensor\inc\kd_imgsensor.h(10)J: Gsensor,alps配置:1 1 alps\device\farsighted\fars6582_wt_l\ProjectConfig.mk2 驱动目录MT6582_L0\alps\kernel-3.10\drivers\misc\mediatek\alspsMT6582_L0\alps\kernel-3.10\drivers\misc\mediatek\ accelerometer3 custom文件alps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\accelerometeralps\kernel-3.10\arch\arm\mach-mt6582\fars6582_wt_l\ alsps4 makefilealps\kernel-3.10\drivers\misc\mediatek\alsps\Makefilealps\kernel-3.10\drivers\misc\mediatek\ accelerometer \Makefilealps\kernel-3.10\drivers\misc\mediatek\Kconfig.drivers此makefife加了后menuconfig后才有选项(11)K: Sound 配置1 1 alps\device\farsighted\fars6582_wt_l\ProjectConfig.mk2alps\vendor\mediatek\proprietary\custom\fars6582_wt_l\hal\audioflinger\audio\audio_custom_exp .h3编pl模块需先把项目名赋值我拿到的代码是需要做如下修改才能正常运行menuconfig,如果你们的正常可以忽略以下:Menuconfig需修改的地方:1 MT6582_L0\alps\kernel-3.10\Makefile修改如下:2 安装sudo apt-get install libncurses5 libncurses5-dev3 make O(大写字母O)=out menuconfig****需注意的是,如果编完后关闭了窗口再重新打开编译都要运行一次source build/envsetup.sh lunch一些常用编译命令:make –j24 2>&1 | tee build.log (相当于new命令,编译过程会生成build.log文件在alps目录下)-j后面通常是编译主机CPU支持核数2>&1, 表示将标准错误重定向到标准输出tee :同时将LOG输出到控制台和文件preloadermake –j24 pl 2>&1 | tee pl.loglkmake –j24 lk 2>&1 | tee lk.logkernelmake –j24 kernel 2>&1 | tee kernel.log clean commondm ,mm ,mmm,mma打包命令。

Android学习笔记1-12

Android学习笔记1-12

Android学习笔记(1)-永远不变的Hello WorldGoogle的Android SDK发布也有一段时间了,一直想研究一下却苦于找不到时间。

利用这个周未,开始强迫自己再次进入学习状态,原因很简单:我看好开放的gPhone。

SDK的下载与安装并不复杂,网上也有不少同学已经进入状态了,我就不再重复了吧。

今天主要讨论的,还是永远不变的话题:Hello World.1.最简单的HelloWorld安装了SDK后,直接生成一个Android Project,一句代码不用写,就能跑出一个最简单的HelloWorld例程。

我们看一下它的代码:public void onCreate(Bundle icicle) {super.onCreate(icicle);setTheme(android.R.style.Theme_Dark);setContentView(yout.main);}看上去实在很简单,只有两句话而已。

关键在这个yout.main上,凭直觉,这应该是定义的资源。

的确,在R.java中只是定义了一个static int 而已,真正的资源描述在res/layout/main.xml文件里(注意:这里的R.java不要手工编辑,每次build project时它都会根据res下的资源描述被自动修改)。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView id="@+id/txt"android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="Hello World"/></LinearLayout>这个文件很好读,一个描述了这是一个线性排列的布局,android:orientation=vertical表示所有组件将纵向排布。

Android学习笔记(入门必看)

Android学习笔记(入门必看)

Android学习笔记(by quqi99 MSN: quqi99@)Android platform是一个用于开发移动程序的软件包,它包括了操作系统、中间件及一些关键应用。

开发者能使用android SDK为Android platform开发应用,这些应用使用JA V A 语言书写,运行在虚拟机Dalvik(一个专为手机程序开发的基于linux内核的JA V A虚拟机)。

/wiki/index.php?title=%E7%BF%BB%E8%AF%91%E4%BB%BB %E5%8A%A1%E9%A2%86%E5%8F%96&printable=yes/forumdisplay.php?fid=21 什么是Android1.1 Android的特性✓应用框架,让一些基础设施得以重用✓Dalvik虚拟机,专为开发移动程序优化✓集成的浏览器,(基于WebKit引擎)✓优化的图形库,(2D图形库以及基于OpenGL ES 1.0规范的3D图形库)✓SQLite,用于结构化数据的存储,是一个数据库✓多媒体支持,支持多种音频,视频格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)✓GSM技术(依赖具体硬件)✓Bluetooth, EDGE, 3G, WiFi(依赖具体硬件)✓Camera, GPS, compass, accelerometer(依赖具体硬件)✓丰富的开发环境(DEBUG工具,内存及性能工具,Ec lipse的插件等)1.2 Android的架构Android操作系统的模块如下:应用:Android已集成了一些应用,如邮件客户端,SMS程序,日历,地图,浏览器等应用框架:程序库:例行程序Linux内核2 Andvoid起步2.1 开发环境配置使用Eclipse + Android Development Tools (ADT)插件。

在Help > Software Updates > Find and Install....中键入更新地址:https:///android/eclipse/2.2 运行第一个Andvoid程序使用Eclipse插件1、建立的工程类型为:Andvoid Project2、建立Launch Configuration. Run > Open Run Dialog... or Run > Open Debug Dialog 命令行运行程序1、创建工程activityCreator .ActivityName2、编译。

android自己做的一些基础笔记

android自己做的一些基础笔记

安卓笔记第一章:安卓的相关知识:一:3G1.3G的概念3G全称为:3rd Generation,中文含义即为第三代数字通信,是指将无线通信与国际互联网等多媒体通信结合的新一代移动通信系统2. 符合3G标准的技术CDMA2000WCDMATD-SCDMA速度快、融入了多媒体(图片视频等等)二、智能手机苹果ios、android、黑莓、塞班、meego、乌邦图(ubuntu---linux)、火狐os、miui、wp 7、锤子系统三、android特点?开源、linux内核、可自定义性强、dalvik虚拟机、OHA联盟缺点:碎片化(版本太杂了)、屏幕适配问题四、dalvik虚拟机1..java--->.dex .java--->.class2.速度快(基于寄存器的)慢(内存中运算)3.文件更小4.自身对硬件要求低对资源做了优化五、framwork四层application javaapplication framwork javalibraries类库、android runtime (c语言)linux六、安装JDKEclipseADT(插件)SDK(android开发工具adb.exe ddms 模拟器、sqlite、draw9patch)七、安卓项目的文件说明:例如:helloworld包名:com.公司名.应用名继承activity 重写oncreate方法,setContentView(yout.main)工程有哪些文件src,gen,res,assets,binres:drawable(h/l/m),layout,values,raw(图片,音乐,数据),menu,values-v11 v14,anim(animation动画)package=“com.jky”包名是一个软件的唯一标识(同包名的软件会替换原来的程序)android:versionCode=“1”;版本号android:versionName="1.0"版本名android:minsdkversion=“8”Sdk最小支持的版本号(project.properties文件里的#Project target target=android-8标是当前开发使用的版本)android:icon 软件的图标android:lable 软件的名字<activity>“<activity>是android的四大组件之一,作用:专门用于显示,做一些逻辑控制name名字lable:一般的一个软件的名字是根据application的lable决定的,但是如果activity里设置了lable,那么软件的名字就会跟随此名字”<intent-filter>“<intent-filter>是意图过滤器,让别人能调用此activity,隐式调用”</intent-filter></activity>安卓四大组件:Activity,BroadcastReeiver(广播接收者),ContentProvider(内容提供者),Service(服务)。

Android详细学习笔记第一季

Android详细学习笔记第一季

一、Android学习第一天——环境搭建Android 开发环境的搭建环境搭建需要①Android SDK ②JDK ③eclipse环境搭建开始:㈠将Android SDK与JDK解压,最好路径中不要出现汉字,然后配置环境变量,方便命令行操作㈡为eclipse(3.4.1)安装开发Android插件——Android ADTHelp-->Install New Software输入:https:///android/eclipse便会自动检测出所需要安装的东西,点击install即可。

㈢重启eclipse,进行Android SDK的配置。

Windows-->Preferences-->Android找到你解压的Android SDK的路径即可。

㈣新建一个Android Project来验证平台是否搭建成功。

注:我上面步骤走下来之后发现我在运行程序时,没有Android Virtual Devices(AVD)的选项。

这时可以在Windows-->Android SDK Manager中找到你所需要安装版本,进行安装。

搭建过程还是比较顺利,加油~二、Android学习第二天——初识Activity昨天程序搭建成功以后,就可以开发跟运行Android应用程序了,因为Activity是开发中不可或缺的组成部分,所以要对Activity有所认识。

以下两点是需要注意的:(个人总结)1.凡是覆写得方法,在方法体中的第一行一定是super.XXX(),一定要先调用父类里的相应方法做必要的事情,再根据自己的需求去写其他的代码。

2.如果是从头学习安卓开发,不一定要开发最新的版本,可以在较低版本(2.3.3)下进行开发,然后在高版本(4.0)下进行编译与运行,这样可以提高代码的适应能力,可以兼容高级版本。

下面对我今天的学习进行个小结:首先Android的四个重要部分①Activity——形象点就是一个应用程序的门面,我们在手机上看到的图形界面②Intent——它就像一个搬用工,用于Activity之间传递数据,就像请求③Service——这个是不可见的,是为整个应用程序提供服务支持的底层④Content Provider——为应用程序提供数据的接口上面的描述我自己感觉也比较抽象,今天专门研究了Activity,终于守得云开见月明:首先进行以下学习之前需要对Android的工程项目目录有一个总体的了解:自己总结:src下是我们自己写得程序;gen下是我们创建程序时系统自动生成的,切忌勿修改assets是一个资源库,与res的区别是不会自动在R.java中自动生成idres是一个资源库,与assets不同的是,每增加一个资源(图片等),会自动在R.java 中生成对应的idlayout用于存放布局文件,用来控制Activity的显示格局string.xml中存放的一个一个键值对,Activity可以对其进行提取AndroidManifest.xml是系统比较重要的一个文件,存放Activity的注册信息,每生成一个Activity就应该在这里注册一个。

第一行代码学习笔记

第一行代码学习笔记

2015/11/131、当Intent在组件间传递时,组件如果想告知Android系统自己能够响应和处理哪些Intent,那么就需要用到IntentFilter对象。

除了用于过滤广播的IntentFilter可以在代码中创建外,其他的IntentFilter必须在AndroidManifest.xml文件中进行声明。

2、静态注册实现开机启动3、不要在onReceive()方法中添加过多的逻辑或者进行任何的耗时操作,因为在广播接收器中是不允许开启线程的,当onReceive()方法运行了较长时间而没有结束时,程序就会报错。

4、发送有序广播5、MODE_PRIVA TE 仍然是默认的操作模式,和直接传入0 效果是相同的,表示只有当前的应用程序才可以对这个SharedPreferences文件进行读写6、android:layout_span控件跨越的列数7、要调用setCancelable()方法将对话框设为不可取消2015/11/161、Log for Java创建对话框两种方式activity、fragment设计模式蓝牙低功耗模式通信1、静态注册实现开机启动:程序在未启动的情况下就能接收到广播。

2、在广播接收器中是不允许开启线程的3、发送标准广播在发送广播之前,我们还是需要先定义一个广播接收器来准备接收此广播才行,不然发出去也是白发。

4、发送有序广播: sendOrderedBroadcast()方法接收两个参数,第一个参数仍然是Intent,第二个参数是一个与权限相关的字符串,这里传入null就行了。

5、设定广播接收器的先后顺序: android:priority 属性给广播接收器设置了优先级,优先级比较高的广播接收器就可以先收到广播。

6、中断广播: 在onReceive()方法中调用了abortBroadcast()方法,就表示将这条广播截断,后面的广播接收器将无法再接收到这条广播。

5.4 使用本地广播1、系统全局广播:即发出的广播可以被其他任何的任何应用程序接收到,并且我们也可以接收来自于其他任何应用程序的广播。

Android入门笔记

Android入门笔记

Android入门笔记闫孝军一.开发环境搭建1.下载并安装JDK(1)下载地址:/javase/downloads/index.jsp(2)假设下载的是JDK6.0,点击运行图标,将其安装于C:/JDK6.0(3)添加环境变量:右键“我的电脑”——>“属性”——>“高级”——>“环境变量”——>“系统变量”——>“新建”在新建系统变量对话框里填入以下内容,变量名:CLASSPATH,变量值:%JAV A_HOME%\lib;.(注意,后面的分号和点不能省略)变量名:具体如图(1)所示图(1)(4)配置完成后保存,重启计算机,环境变量生效。

2.下载并安装EclipseEclipse是优秀的java基础开发环境,下载地址为/downloads/下载完成后不用安装,点击图标即可正常运行使用。

3.下载并安装Android SDK要进行android应用程序的开发,必须要按照Android SDK,下载地址为/sdk/index.html,这里下载的是Android2.1版本的SDK,(1)将下载sdk解压在C:/android-sdk目录下(2)点击运行sdk目录下的“SDK Stepup.exe”, 如果你遇到了消息为“Failed to fetch URL…”(如图2)的错误提示,那么你需要将HTTPS方式改为HTTP方式,方法如下:图(2)a)在“Android SDK and AVD Manager”窗口的左侧选择“Settings”b)选中“Force https://… ” 这个选项然后重新运行“SDK Setup.exe”,图(3)图(3)(3)选择开发所需要的API,驱动,文档,这里选“Accept All”,然后点击“Install Setected”如图(4)图(4)(4)等待安装程序下载所选中的安装包。

(5)下载完成后点击“Visual device”创建虚拟机,如图(5)图(5)a)N ame:虚拟机的名字,这里可以自行指定b)Target:虚拟机所对应的API级别和SDK版本c)S D卡:可以指定模拟SD卡的容量d)Skin:指定模拟器的外观e)点击“Create AVD”完成创建。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一行代码Android学习笔记感谢《第一行代码》,感谢郭霖博主,拯救我于水火。

之前看视频学习Android,自以为已经小成了。

在网易工作的朋友问了我几个问题,我就懵逼了。

然后,遇到了《第一行代码》,终于把我带进了Android的世界。

好书,真的会醉人啊。

这是学习第二遍时的部分笔记,以备后用。

这是第二版,比第一版增加了一些常用的方法。

hujunjob于北航2015.04.02目录第一章Android系统 (6)1.1 安卓系统架构 (6)1.2 Android 项目中的资源 (6)第二章Activity (6)一、创建Activity步骤: (6)二、采用Intent切换activity (7)1、显式Intent (7)2、隐式Intent (7)3、隐式Intent的其他用法 (8)三、Intent传递数据 (8)1、向下一个activity传递数据 (8)2、返回数据给上一个activity (8)四、activity的生命周期 (9)1、活动状态 (9)2、activity生存期 (9)3、activity被回收数据保存 (11)五、activity的启动模式 (11)六、activity最佳实践 (11)1、知道当前页面是哪一个activity (11)2、随时随地退出程序 (11)3、给每个activity都添加一个合适的启动方法 (13)第三章UI (13)一、常用控件 (13)1、TextView (13)2、Button (13)3、EditText (13)4、ImageView (14)5、ProgressBar (14)6、AlertDialog (14)7、ProgressDialog (15)二、基本布局 (15)1、LinearLayout (15)2、RelativeLayout (15)3、FrameLayout (15)4、TableLayout (15)5、GridLayout (16)三、自定义控件 (16)1、添加自定义标题布局(无操作的) (16)2、创建自定义控件 (16)四、ListView (17)1、最简单的Adapter (17)2、定制ListView界面 (18)3、提升ListView效率 (19)4、ListView点击事件 (20)五、单位和尺寸 (20)六、最佳实践——聊天界面 (21)第四章Fragment (21)第五章BroadCast Receiver (24)一、广播机制 (24)二、接收系统广播 (24)1、动态注册 (24)2、静态注册 (25)3、广播接收器使用注意事项 (26)三、发送自定义广播 (26)1、标准广播 (26)2、有序广播 (27)四、发送和接收本地广播 (27)五、强制下线 (27)注意事项: (27)第六章数据存储 (28)一、文件存储 (28)1、存储5部曲: (29)2、读取5部曲: (29)二、SharedPreferences存储 (31)1、存储4部曲 (31)2、读取2部曲 (31)三、SQLite数据库 (31)1、创建数据库 (31)2、升级数据库 (32)3、添加数据 (33)4、更新数据 (33)5、删除数据 (33)6、查询数据 (33)7、直接使用SQL操作数据库 (33)四、数据库最佳实践 (34)1、使用事务 (34)2、升级数据库最佳写法 (35)第七章Content Provider (36)一、简介 (36)二、访问已有的CP (36)1、ContentResolver用法 (36)2、读取系统联系人 (37)三、创建自己的ContentProvider (38)1、创建CP步骤5部曲 (38)四、跨程序数据共享实践 (40)附录:Git使用 (41)一、创建代码仓库 (41)二、提交本地代码 (42)三、忽略文件 (42)四、查看修改内容 (42)五、撤销未提交的修改 (43)六、查看提交记录 (44)第八章多媒体 (44)一、通知 (44)1、通知创建 (44)2、通知点击事件 (45)3、通知的其他属性 (45)二、短信 (46)1、接收短信 (46)2、拦截短信 (46)3、发送短信 (46)三、调用摄像头和相册 (46)四、播放多媒体 (46)第九章Service (46)一、Service介绍 (46)二、多线程 (47)1、线程基本用法 (47)2、在子线程中更新UI (47)3、异步消息处理机制 (48)4、AsyncTask (49)三、Service (50)1、定义Service (50)2、启动和停止Service (51)3、Activity与Service通信 (51)四、Service的生命周期 (53)五、Service更多技巧 (53)1、前台Service (53)2、傻瓜方式使用Service—IntentService (54)六、后台执行的定时任务 (54)第十章网络技术 (56)一、WebView (56)二、使用HTTP协议访问网络 (56)1、使用HttpURLConnection (56)2、使用HttpClient (59)三、解析XML格式数据 (61)1、Pull解析方式 (61)2、SAX解析方式 (63)四、解析JSON格式数据 (64)1、JSONObject (64)2、GSON (65)五、网络编程最佳实践——java的回调机制 (66)第十一章LBS (68)附录:Git的高级用法 (69)一、分支用法 (69)二、与远程版本库协作 (70)第十二章传感器 (71)第十三章Android高级技巧 (71)一、全局获取Context的技巧 (71)二、使用Intent传递对象 (72)1、Serializable方式 (72)2、Parcelable方法 (72)三、定值自己的日志工具 (73)四、调试Android程序 (74)五、编写测试用例 (74)1、创建测试工程 (74)2、进行单元测试 (75)第十四章实战 (75)第一章Android系统1.1 安卓系统架构Linux Kernel: 各种底层驱动Libraries : Runtime Libraries, Dalvik VM, 各种库支持,数据库,3D绘图,浏览器内核Application Framework: API,各种managerApplications1.2 Android 项目中的资源src: 各种java程序在此,包括主程序gen: 最重要的是R.java,所有res资源都在这里编号,通过R.xx.xx或@xx查询res: 各种资源都在这里,包括drawable, layout, values等另外还有menifest文件,统筹兼顾全局的,Android四大组件都要在此注册。

第二章ActivityActivity是包含用户界面的组件,用于和用户进行交互。

一、创建Activity步骤:1、首先,创建没有Activity的application,发现src文件夹是空的。

手动创建一个包com.example.demo1activity,在包中添加一个class,MainActivity.java。

要使用activity,extents Activity。

此时,重写Activity的onCreate()方法。

2、此时,只有activity,用户是不可见的。

因此,需要在上面添加layout和view。

在res layout 中添加一个Android XML file,可以在该xml文件中创建布局。

添加诸如TextView/Button等常用控件。

3、此时,需要将创建的layout文件加载到activity中,在第一步创建的MainActivity中onCreate()方法中,使用setContentView(yout.myactivity)将布局加载进来。

4、所有四大组件的使用,都需要在AndroidManifest.xml文件中注册。

注册方法为:在<application>中添加<activity>标签,将需要注册的activity使用android:name=".MainActivity"注册。

如果是主activity,即打开application时看到的activity,则需要添加<action android:name="android.intent.action.MAIN"/><category android:name="UNCHER"/>总体注册代码为:<activityandroid:name=".MainActivity"android:label="My App" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="UNCHER" /></intent-filter></activity>5、销毁activityfinish();二、采用Intent切换activity1、显式Intent首先,按照上面的步骤重新创建一个SecondActivity(记得注册),采用Intent实现跳转Intent intent = new Intent(MainActivity.this, SecondActivity.class);startActivity(intent);2、隐式Intent隐式Intent并不能实现直接跳转,需要指定两个条件(intent-filter):action和category。

如果在intent-filter中指定category为default的category,即android.intent.category.DEFAULT,则只需满足action条件即可。

intent-filter在注册activity时添加,注册方法如下:<activity android:name=".SecondActivity" ><intent-filter><action android:name="com.example.demo1activity.SECOND_START" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>跳转方法为:Intent intent=new Intent("com.example.demo1activity.SECOND_START");startActivity(intent);intentfilter中只能有一个action,但可以有多个category,满足其中一个category即可。

相关文档
最新文档