Android工程师

download:Android工程师

移动端市场份额第一,物联网时代落地载体
Android不只能开发App,Android是一个生态系统
Googl不倒,Android不灭,Android不仅能开发App,在物联网,智能家居,车载设备都大有可为。
阶段一1.Android 零基础入门导学视频
Android大楼Java起,本阶段是Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始入门Android开发。

5步骤 / 41门课
·
课程总时长:58小时
·
练习题:430
·
作业:9
·
考试:4
·
课程源码:39
·
教辅资料:143
步骤1
java基础语法
Java入门第一步,学习常量与变量、运算符、流程控制、数组和方法等Java基础语法。掌握Java程序的执行流程,能够编写符合Java语法规则的程序。

第1课 Java初识
第2课 Java常量与变量
第3课 Java运算符
第4课 Java流程控制之选择结构
第5课 Java流程控制之循环结构
第6课 Java一维数组
第7课 Java数组之二维数组
第8课 Java方法
第9课 综合案例:数组移位
第10课 Java基础语法测试
步骤2
java面向对象
面向对象是开发过程中的重点内容!本步骤会介绍面向对象的三大特征继承、封装、多态,最终能编写具有面向对象思想的Java程序。

第1课 Java面向对象
第2课 Java封装
第3课 综合案例:学生信息管理
第4课 Java继承(上)
第5课 Java继承(下)
第6课 Java单例模式
第7课 Java多态
第8课 Java面向对象测试
步骤3
Java常用工具类
工具类的查看是开发中的必备技能!本步骤会介绍包装器、字符串处理类、集合、多线程和输入输出流等内容,并通过最后的综合案例,让你的Java技能更上一层楼。

第1课 Java异常
第2课 Java包装类
第3课 Java字符串
第4课 Java集合
第5课 Java多线程
第6课 Java输入输出流
第7课 综合案例:播放器
第8课 Java常用工具测试
步骤4
UI基础入门
在本步骤中,先通过介绍Android的发展前景,让你对Android开发有一个初步的认识;再通过创建项目以及目录结构分析,让你了解第一个Android项目;最后通过UI基础,常用控件等课程让你开始上手Android开发。

第1课 Android入门
第2课 AS使用指南
第3课 Android线性与相对布局
第4课 UI基础控件
第5课 Android约束布局
第6课 综合案例:选餐
第7课 UI基础入门测试
步骤5
UI常用组件
在本步骤中将为大家介绍Android中四大组件之一Activity,以及高级控件Menu和Diaglog以及碎片化界面管理,最后以一个综合案例来结束本步骤。相信这些内容能够为大家打下一个良好的基础。

第1课 Activity入门
第2课 Android菜单创建和使用
第3课 Android对话框处理
第4课 Activity生命周期详解
第5课 Fragment创建及使用
第6课 ListView——列表神器
第7课 ViewPager实现导航效果
第8课 综合案例:慕淘旅游
阶段二2.Android 网络操作与流行框架导学视频
本阶段是联网及数据处理的必备技能。课程从网络基础知识到线程间协同工作、异步下载处理;从文件存储、到轻量级数据库SQLite的使用;最后利用最流程的第三方框架助你快速开发企业级APP。

6步骤 / 23门课
·
课程总时长:37小时
·
练习题:114
·
作业:4
·
考试:2
·
课程源码:28
·
教辅资料:66
步骤1
网络操作与通信
本步骤是网络操作的必备基础,数据从哪来呢?怎么才能从服务器上获取实时的真数据呢?如果你有这个疑问,那你来对地方了。本步骤将介绍在Android中如何访问网络,并且将获取的数据在UI显示出来。

第1课 Android网络操作
第2课 Handler通信
第3课 AsyncTask异步任务
步骤2
高级控件
本步骤是网络数据显示的必备内容,在Android中如何访问网络之后,本步骤将介绍如何将获取的数据用列表控件在本地展示出来。

第1课 CardView实现卡片布局效果
第2课 屏幕适配
第3课 Android网络操作测试
步骤3
数据存储
本步骤是数据存储操作的必备内容, 为什么App关掉数据就没有了呢?数据都要重新从服务器请求吗?其实可以把数据存储在本地!本步骤将为大家讲解4种将数据存储在本地的方式,利用数据存储和网络操作提升App性能。

第1课 Android本地文件操作
第2课 Android数据库操作
第3课 手风琴特效
第4课 BroadcastReceiver
第5课 Application全局应用
第6课 Android本地数据操作测试
步骤4
流行框架(上)
本步骤将为大家介绍另一种编程方式:框架。框架的诞生将开发人员从复杂的步骤中解放出来,让我们专注于逻辑的开发。本步骤将为大家介绍流行框架:网络操作框架OKhttp,数据库框架GreenDao,图片加载框架Glide等。

第1课 OkHttp&Retrofit网络框架
第2课 EventBus事件总线
第3课 RecyclerView列表流行控件
第4课 Glide图片流行框架
第5课 GreenDao数据库框架
步骤5
流行框架(下)
本步骤将传授大家专注于Android系统的View注入框架ButterKnife,还会介绍主流第三方平台接入技术,极光推送和百度地图。为了方便开发者实现网页交互需求,这里还会为大家讲解WebView组件使用。

第1课 极光推送
第2课 WebView浏览器组件
第3课 ButterKnife实现View注入
第4课 百度地图
步骤6
项目实战
通过两个综合案例,带领大家巩固前面所学到的知识,掌握使用网络+第三方库制作一个餐饮类和一个图书阅读类的案例。

第1课 仿外卖开发点餐APP
第2课 仿QQ阅读的小慕书苑阅读器(赠送,了解)
阶段三3.Android 高级应用与Kotlin综合实战导学视频
本阶段是提升项目经验的必备,除Android开发的高级控件,还有Android官方大力推荐的开发语言Kotlin,未来Android发展的方向,最后使用Kotlin来开发热门电商项目。

6步骤 / 30门课
·
课程总时长:46小时
·
练习题:118
·
作业:5
·
考试:3
·
课程源码:26
·
教辅资料:67
步骤1
Android高级应用
本步骤是Android基础组件学习的必备内容,将为大家介绍Android高级组件ContentProvider和服务Service。

第1课 Service基础
第2课 AIDL实现远程服务的通信
第3课 ContentProvider初体验
第4课 Socket&Https通信
第5课 Android高级应用测试2
步骤2
Android动画处理与自定义View
助你提升app体验打造跨选app的必备内容,在一相些炫酷的APP中,那一定会有动画身影。本步骤将介绍android的基础动画与转场动画。还有与之相关的自定义View。

第1课 动画基础
第2课 转场动画
第3课 自定义View
第4课 SurfaceView游戏应用
第5课 Android事件分发机制
第6课 动画测试
步骤3
实战:小慕计步器
本步骤助你提升本地app开发经验,将一起来完成“小慕计步器”这个项目,督促宅男宅女时刻运动,为你的健康保驾护航。最后还会学习现在制作团队流行的APP热修复技术,和上架APP应用。

第1课 实战:计步器app项目准备
第2课 实战:计步器app功能实现
第3课 热修复
第4课 应用上架
步骤4
未来开发主流语言:Kotlin
本步骤是掌握Android主流语言的必备基础内容,学习官方推荐主流语言-Kotlin。从数据类型开始,到流程控制、面向对象等基础语法内容。通过本步骤学习,使你编写出符合Kotlin语法规则的程序。

第1课 初识Kotlin
第2课 Kotlin基础语法
第3课 Kotlin控制结构
第4课 Kotlin面向对象
第5课 Kotlin课程总结
第6课 Android开发Kotlin测试
步骤5
实战:仿小米开发小慕商城
本步骤将大力提升你的项目经验,使用Kotlin语言,通过开发移动端最流行的APP类型-电商项目,让大家不仅对Kotlin进步的熟悉,而且还达到了真实项目经验的积累。

第1课 电商通用模块的搭建
第2课 电商UI框架搭建
第3课 电商主页实现
第4课 商品分类
第5课 购物车
第6课 商品详情
步骤6
面试精讲
本步骤助力你更有竞争力,介绍一个在收到面试邀请后的面试者在面试之前需要准备的内容,面试的心态,以及在面试过程中经常提及到的问题。

第1课 面试精讲之核心技能点梳理
第2课 面试精讲之View
第3课 面试精讲之ContentProvider

一、用户界面典范
1.自界说窗口
体系主题或自界说主题都必须在清单文件中设置。
一切经过 Activity.requestWindowFeature()办法修改窗口特性的恳求都必须在调用
Activity.setContentView()之前完成。在此之后的一切改动都不会生效。
//设置自界说标题的布局资源
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title);
2.动态开关体系的UI控件
夜间方式 API Level 11
任何视图中调用 setSystemUiVisibility()
即可。而想要恢复到默许方式,需求以同样的方式调用 SYSTEM_UI_FLAG_VISIBLE。通
过调用 getSystemUiVisibility()并检查标识的当时状态就能够知道我们现在所在的方式了 。
XML 布局文件中的根元素是 LayoutInflater. inflate()回来的 View 元素
3.屏幕分辨率
低分辨率(ldpi): 120 dpi 尺度是 mdpi 的 75%
中分辨率(mdpi): 160 dpi 原始的图片尺度
高分辨率(hdpi): 240 dpi 尺度是 mdpi 的 150%
超高分辨率(xhdpi): 320 dpi (API Level 8 新增) 尺度是 mdpi 的 200%
超级高(xxhdpi): 480 dpi (API Level 16 新增) 尺度是 mdpi 的 300%
4.锁定Activity方向
android:screenOrientation="portrait"或 android:screenOrientation="landscape"
假如为 Activity 设置了 android:screenOrientation="behind", Activity 就会跟 Activity 栈中前一个 Activity 的方向保持一致
android:configChanges="orientation|keyboardHidden" />
在一条赋值语句中能够注册多种变动,用“ |”符号将它们分隔即可。
5.弹出菜单
也能够调用 Activity.openContextMenu()来触发任意视图的 ContextMenu,传入之前注
册的视图即可。
程序清单 2-29 自界说布局的 AlertDialog
public class CustomItemActivity extends Activity
implements DialogInterface.OnClickListener, View.OnClickListener {
private static final String[] ZONES = {"Pacific Time", "Mountain Time",
"Central Time", "Eastern Time", "Atlantic Time"};
private static final String[] OFFSETS =
{"GMT-08:00", "GMT-07:00", "GMT-06:00", "GMT-05:00", "GMT-04:00"};
Button mButton;
AlertDialog mActions;br/>@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle("Activity");
mButton = new Button(this);
mButton.setText("Click for Time Zones");
mButton.setOnClickListener(this);
ArrayAdapteradapter = new ArrayAdapter(this,
R.layout.list_item) {
br/>@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if(row == null) {
row = getLayoutInflater().inflate(R.layout.list_item,
parent, false);
}
TextView name = (TextView) row.findViewById(R.id.text_name);
TextView detail = (TextView) row.findViewById(R.id.text_detail);
name.setText(ZONES[position]);
detail.setText(OFFSETS[position]);
return row;
br/>}
@Override
public int getCount() {
return ZONES.length;
}};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Time Zone");
builder.setAdapter(adapter, this);
//这儿的撤销动作只会让对话框消失,但在用户单击 Cancel 按钮时,也能够添加一个
//监听器来处理一些其他的操作
builder.setNegativeButton("Cancel", null);
mActions = builder.create();
br/>setContentView(mButton);
}
//这儿处理列表的挑选事件
@Override
public void onClick(DialogInterface dialog, int which) {
String selected = ZONES[which];
mButton.setText(selected);
}
//这儿处理 Button 的单击事件(弹出对话框)
br/>@Override
public void onClick(View v) {
mActions.show();
}
}
6.模仿home键
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
7.TextView
SDK 中有一些很便利的预界说的用于格式化文本输入的 TextWatcher 实例
8.动画
Android SDK的AnimationUtils 类加载
滑入和渐显AnimationUtils.makeInAnimation()用布尔参数决议滑入的方向是左边仍是右侧向上
滑入和渐显 AnimationUtils.makeInChildBottomAnimation() 视图总是从屏幕的底部向上滑入
滑出和渐隐 AnimationUtils.makeOutAnimation() 用布尔参数决议滑入的方向是左边仍是右侧
渐隐 AnimationUtils.loadAnimation() 将 int 参数设为 android.R.anim.fade_out
渐显 AnimationUtils.loadAnimation() 将 int 参数设为 android.R.anim.fade_in
AlphaAnimation 以动画的守时改动视图的透明度。
RotateAnimation 以动画的方式改动视图的旋转角度。中心点是可装备的,默许是左上角。
ScaleAnimation 以动画的方式改动视图的缩放比例(巨细)。中心点是默许是左上角。
TranslateAnimation 以动画的方式改动视图的方位。
动画视图 ViewPropertyAnimator
ObjectAnimator
在 XML 顶用标签界说 Drawable 时,实际上是创立了一个 GradientDrawable
方针。方针的形状能够是矩形、椭圆、线条或圆圈,最常见的布景形状是矩形。具体来说,
在运用矩形时,能够用下面这些参数界说形状:
● 角半径 界说 4 个角的半径,或是分别界说各个角的半径。
● 突变 线性、放射或 sweep 突变。两个或三个色彩值。方向能够是 45°的任何倍数(0 便是从左到右, 90 便是从下到上,以此类推)。
● 固定色彩 用一种色彩填充形状。 假如一同界说了突变的话,作用会受影响。
● 边线 方针形状的边界。 界说宽度和色彩。
● 巨细和 padding
XML 中色彩的种类约束是 3 种,可是 GradientDrawable 的构造函数中的色彩参数是一个整型数组int[],传递多少色彩都能够。
Activity 间的过渡动画, 能够运用 overridePendingTransition()
Fragment 的过渡动画,能够运用 onCreateAnimation()或 onCreateAnimator()
经过调用 setCustomAnimations()覆写单个 FragmentTransaction 的
过渡动画。
setCustomAnimations()必须在 add()、 replace()和其他动作办法之前调用,不然动画将不
会运行。

9.圆角遮罩
首先在 Canvas 中依据所需的圆角半径创立一个圆角矩形,然后以 PorterDuff.Mode.SRC_IN 为画笔在同一个 Canvas 上绘制源图,得到的便是带圆角的源图。
10.Dialog
呈现给用户的界面需求在旋转过程中保持状态,始终处于最前端,更好的办法是
运用 Activity。这样就能够经过各种生命周期回调办法来保存和读取状态。
11.自界说Enter键
android:imeOptions
actionUnspecified:默许值,依据设备的状况显现动作。
actionGo:在 Enter 键上显现 Go。
ActionSearch:在 Enter 键上显现 Search。
actionSend:在 Enter 键上显现 Send。
antionNext:在 Enter 键上显现 Next。
actionDone:在 Enter 键上显现 Done。
自界说用户按下按键时所触发的动作。重
载动作的默许行为需求给相应的视图加上 TextView.OnEditorActionListener。
用 InputMethodManager.hideSoftInputFromWindow()办法能够让输入法管理器隐藏可见
的输入法。
12.listview
ExpandableListView 控件及其适配器能够处理分节列表中的二维数据结构。
13.getPageWidth()。
这个办法允许你在每个方位上设置图片页面巨细相关于 ViewPager 页面巨细的百分比。默
认值为 1,前面的示例也没有改动该默许值。但假如要一次显现几个页面,能够经过调整
这个办法的回来值来完成

二、显现web信息
1.经过url显现的运用
拜访XX网站
经过web服务器显现实时更新的页面,能够动态更新
显现大资源图片,经过缩放来交互
2.显现本地资源
可用assets目录存储本地资源 file:///android_asset
可显现string资源或变量中的原始html代码
3.经过WebviewClient阻拦事件
WebViewClient.shouldOverrideUrlLoading()回调来阻拦和监控用户的 Activity
shouldOverrideUrlLoading()会依据传入的 URL 决议是否要在 WebView 中加
载内容, 防止用户脱离想要展现 的网站。
WebView.addJavascriptInterface()会为 JavaScript 绑定一个 Java 方针,这样就能够在
WebView 中调用 Java 的办法。会存在javascript注入问题
4.下载图片
彻底在后台下载运用DownloadManager API service 支撑断点续传
DownloadManager.Request 恳求方针,它代表了下载的内容
Request.setAllowedNetworkTypes():指定下载所运用的网络类型
Request.setAllowedOverRoaming():设定当设备处于漫游方式时是否要下载。
Request.setDescription():设置下载在体系告诉栏中显现的描述。
Request.setDestinationInExternalFilesDir():设置方针方位为外部存储器中的一个隐藏目录
Request.setDestinationInExternalPublicDir():设置方针方位为外部存储器中的一公共目录
Request.setDestinationUri():设置方针方位为坐落外部存储器中一个文件 Uri
三。通信
1.接纳短信
注册一个 BroadcastReceiver 来监听收到的音讯,并在 onReceive()中处理它们。当收到一条短信时,操作体系会发送一个 action 值为 android.provider.Telephony.SMS_RECEIVED
的播送 Intent。运用程序则能够注册一个 BroadcastReceiver 过滤这个 Intent 并处理收到的
数据。接纳短信需求在 manifest 中声明 android.permission.RECEIVE_SMS 权限。
2.蓝牙通信
蓝牙上的衔接是经过发现可用的“服务”,并经过一个 128 位的 UUID 衔接到相应的服务。
android.permission.BLUETOOTH 权限。另外,想要改动蓝牙的可发现性以及启用/禁用蓝牙适配器,还要在 manifest 中声明android.permission.BLUETOOTH_ADMIN 权限
3.查询网络衔接状态
经过 ConnectivityManager 监控设备的网络衔接状态。
public boolean isNetworkReachable() {
ConnectivityManager mManage = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo current = mManager.getActiveNetworkInfo();
if(current == null) {
return false;
}
return (current.getState() == NetworkInfo.State.CONNECTED);
}
判别链接类型
return (current.getType() == ConnectivityManager.TYPE_WIFI);
4.运用NFC传输数据
依据想要推送内容的巨细,有两种机制能够用来在两个设备间 Beam 数据。
第一种. 运用前台 Push 进行 Beam。假如运用 NFC 在设备间发送简略的内容, 能够运用前台推送机制来创立一个 NfcMessage,它包含了一个或多个 NfcRecord 实例。
第二种,Android Application Record
5.运用 Beam 来发送大型图片文件
6.USB链接
端点: USB 设备的最小构件。运用程序最终便是经过衔接端点发送和接纳数据的。首要分4 种类型:
y 操控传输:用于装备和状态指令。每个设备至少一个操控端点,即“端点 0”,不会相关任何接口。
y 中断传输:用于小量的、高优先级的操控指令。
y 批量传输:用于传输大数据。一般都是双向成对出现的(1 IN 和 1 OUT)。
同步传输:用于实时数据传输,如音频。编撰本书时最新的 Android SDK 还不支撑这个功能。
● 接口:端点的集合,用来表明一个“逻辑”设备 。
y 多个物理 USB 设备关于主机来说能够呈现为多个逻辑设备, 即经过露出接口来标识 。
● 装备:一个或多个接口的集合。 USB 强制规定一个设备在某一特守时间只能有一个装备是激活的。事实上,大都设备也就只有一个装备,并把它作为设备的操作方式

四、设备硬件交互
1.定位
需求留意设备的电量以及尊重用户的志愿
GPS 回来的信息愈加精确(差错为几米),但需求的时间更长并且更耗电,
而网络方位一般精确到几千米,但速度更快并且省电
android.permission.ACCESS_COARSE_LOCATION 或
android.permission.ACCESS_FINE_LOCATION 权限
(1) 判别所需的方位信息源是否可用。假如不可用的话,决议是要求用户启用它仍是
测验其他的信息源。
(2) 用恰当的最小距离和更新时间距离注册设备方位的改变状况。
(3) 当不需求时,及时撤销对设备方位改变状况的注册,以节约电量。
2.地图方位
百度、高德、谷歌
3.拍摄相片和视频
将保存图片的文件方位指定为设备的外部存储器指定 android.permission.
WRITE_EXTERNAL_STORAGE 权限。
在摄像头不用时及时调用Camera.release()办法在摄像头不用时及时调用Camera.release()办法
录音
private void resetRecorder() {
//告诉录音机将运用设备的麦克作为音频输入源(AudioSource.MIC)
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(path.getAbsolutePath());
try {
recorder.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
经过 android.speech 包中的类能够运用 Android 设备中内置的语音辨认技能。
4.传感器
运用 SensorManager 接纳来自于加速度计传感器继续的反馈数据
registerListener()的最后一个参数界说了更新频率。这儿挑选的是 SENSOR_DELAY_UI,它是接纳更新的最快频率,每次更新都会直接修改 UI。
每当传感器有新值更新,都会用 SensorEven 值一同调用已注册监听器的 onSensorChanged()办法。这个 SensorEvent 值包含了 X/Y/Z 轴上的加速度值。
罗盘传感器
设备的磁场传感器和加速度计一同确定用户面向的方向
运用 SensorManager 的 getOrientation()得到用户在地球上的方向
5.从媒体内容得到截图的缩略图或其他元数据
MediaMetadataRetriever 读取媒体文件并回来有用的信息,能够读取和盯梢专辑或艺术家数据、或许内容数据本身,抓取该帧的截图

四。数据耐久化
1.存储、修改和显现用户设置及运用设置
PreferenceActivity 和 XML Preference 文件
2.读写文件
内部存储
受维护的用于读写文件数据的目录空间。
外部存储
外部挂载的用于读写文件数据的空间。
API Level 4 以上需求 WRITE_EXTERNAL_STORAGE 权限。一般都是设备的 SD 卡。
Assets
APK 中只读的受维护空间。用于放置不能/不该该被编译的本地资源。
3.共享数据
ContentProvider作为运用程序数据对外的接口,能够向外部恳求露出任何类型的运用程序数据,包含运用程序各种资源(包含 assets 下的资源)

五。与体系交互
1.告诉
经过一切的体系控件,如 Service、 BroadcastReceiver 或许 Activity,都能够将一个通
知发送到 NotificationManager。
Notification.Style展现更多的告诉款式
2.创立粘性操作
IntentService 会即将履行的使命(用 Intent表明)放到行列中,然后逐一处理每个恳求,全部处理完成后会终止自己。
3.启用其他运用程序
a。读取PDF文件
intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(file, "application/pdf");
b、与好友共享内容
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_TEXT, update);
startActivity(Intent.createChooser(intent, "Share..."));
c。ShareActionProvider共享内容
依据用户运用习气,频频运用的选项会排到列表的最上方
android:showAsAction="ifRoom"
android:title="Share"
android:actionProviderClass="android.widget.ShareActionProvider"/>
MenuItem item = menu.findItem(R.id.menu_share);
ShareActionProvider provider = (ShareActionProvider) item.getActionProvider();
4.发动体系运用程序
a。浏览器
pageIntent.setAction(Intent.ACTION_VIEW);
pageIntent.setData(Uri.parse(“
http://WEB_ADDRESS_TO_VIEW” ));
b。电话拨号器
dialIntent.setAction(Intent.ACTION_DIAL);
dialIntent.setData(Uri.Parse(“ tel:8885551234” );
c。地图
mapIntent.setAction(Intent.ACTION_VIEW);
mapIntent.setData(Uri.parse(“ geo:latitude,longitude” ));
d。电子邮件
mailIntent.setAction(Intent.ACTION_SEND);
mailIntent.setType(“ message/rfc822” );
mailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] {"[email protected]"}); 收件人
mailIntent.putExtra(Intent.EXTRA_CC, new String[] {"[email protected]"}); 抄送
mailIntent.putExtra(Intent.EXTRA_BCC, new String[] {"[email protected]"}); 密件抄送
mailIntent.putExtra(Intent.EXTRA_SUBJECT, "Email Subject");
mailIntent.putExtra(Intent.EXTRA_TEXT, "Body Text");
mailIntent.putExtra(Intent.EXTRA_STREAM, URI_TO_FILE); 附件
e、短音讯
smsIntent.setAction(Intent.ACTION_VIEW);
smsIntent.setType(“ vnd.android-dir/mms-sms” );
smsIntent.putExtra(“ address” , “ 8885551234” );
smsIntent.putExtra(“ sms_body” , “ Body Text” );
f。联系人挑选器
pickIntent.setAction(Intent.ACTION_PICK);
pickIntent.setData(URI_TO_CONTACT_TABLE);
g。Google Play
marketIntent.setAction(Intent.ACTION_VIEW);
marketIntent.setData(Uri.parse(“ market://details?id=PACKAGE_NAME_HERE” ));

六。Android NDK和Renderscript
七。运用程序规划指南
1.规划经过滤的运用程序
2.规划高性能的运用程序
优化代码结构、少创立方针、减少浮点运算、运用 System.arraycopy()复制、
运用扩大版的循环(比方 for (Strings: strings) {})
3.规划快速呼应的运用程序
留意运用线程
4.规划无缝衔接的运用程序
不要丢掉数据,不要供给原始数据,发送告诉、用线程履行长时间操作、防止ANR、扩展体系主题、规划运用多种分辨率的用户界面、留意网络判别、不要指定键盘布局、节约用电。
5.规划安全的运用程序

猜你喜欢

转载自blog.51cto.com/15051766/2563046