分类:C#.Android.VS2015: 创建日期:2016-03-05 一.简介 这一章我们介绍"共享存储和内容提供程序"的基本用法. 二.先优化一下前面章节例子的代码 在前面章节的示例中,并没有对每个例子都添加IntentFilter,但是,当你按章节顺序一步一步学到这一章时,你应该已经意识到下面的问题: (1)让每个例子都接收MainActivity的通知可能不合适,这是因为每个例子都是独立的模块,它和主界面(MainActivity)可能并没有什么直接的联系. (2)或许你还…
分类:C#.Android.VS2015: 创建日期:2016-02-09 修改日期:2016-02-13 一.在AssemblyInfo.cs文件中配置应用程序清单 前面的章节我们说过,除了在AndroidManifest.xml文件中配置应用程序清单外,还可以在AssemblyInfo.cs文件中配置应用程序清单. 实际上,用C#编写Android应用程序时,可以完全不去考虑AndroidManifest.xml文件,这些内部处理的过程都让编译器替你去管理好了,反正最终生成的清单配置结果都是…
分类:C#.Android.VS2015: 创建日期:2016-02-26 一.简介 Android 内置了三种数据存取方式:SQLite数据库.文件.SharedPreferences. 这一章我们主要学习如何使用SQLite数据库存取数据. 1.SQLite是个什么档次的数据库 SQLite是一种免费的.开源的数据库,由于它独特的设计(把各种数据类型都转换为它自己内部处理的5种类型)导致其占用内存极少,因此很多项目都喜欢使用它. Android集成了SQLite并内置了专门对SQLite操作…
分类:C#.Android.VS2015: 创建日期:2016-03-03 一.简介 通过服务绑定(Bound Services),可以轻松实现后台服务与界面(UI)的交互. 二.本章示例主界面 1.运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() { ChapterName = "第17章 服务绑定", ChapterItems = new ChItem[] { new ChItem { type = typeof(ch…
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 这一章我们主要学习Intent的基本用法,并通过例子演示如下功能: 如何启动另一个界面: 如何获取另一个界面的返回值: 如何利用Intent读取图库中的图片: 如何利用Intent读取和更新通讯录: 如何利用Intent实现记事本功能. 二.本章示例主界面 1.运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() { ChapterName = "第1…
分类:C#.Android.VS2015: 创建日期:2016-02-21 一.简介 这一章我们学习activity和fragment,深入理解activity和fragment的生命周期是如何工作的,以便合理地管理不同activity和fragment的状态. 二.本章示例主界面 1.运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() { ChapterName = "第11章 活动和片段", ChapterItems =…
分类:C#.Android.VS2015: 创建日期:2016-03-01 一.简介 本章主要演示Started Service.带Intent过滤器的Started Service.IntentService的基本用法,并简单介绍Android提供的系统服务. 二.本章示例主界面 1.运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() { ChapterName = "第16章 自定义服务和系统服务", ChapterIt…
分类:C#.Android.VS2015: 创建日期:2016-02-28 一.简介 广播(Broadcast):其功能类似于收音机的广播,你只要调到那个台(只要在接收的类中注册了要接收的广播),就能收到这个台播放的信息. 通知(Notifications):安卓的服务组件(Android Service,后面章节再细讲)本来是在后台运行的,可是,用户可能希望关注某个后台任务当前正在执行的状态或者结果,此时就可以利用“通知”在前台告诉用户. 二.本章示例主界面 1.运行截图 这个截图也演示了本博…
分类:C#.Android.VS2015: 创建日期:2016-02-27 一.简介 Android使用的文件系统是基于Linux的文件系统,在Android应用程序中,开发人员既可以建立和访问程序自身的私有文件,也可以访问保存在资源目录中的原始文件和XML文件,同时还可以将文件保存在SD卡等外部存储设备中. 从文件存储分类上来看,可将这些文件简单分为: l 内部存储:移动公司卖的手机卡 l 外部存储:SD卡存储(扩展内存卡) l 资源文件存储:Resource文件夹及其子文件夹下的文件. l…
分类:C#.Android.VS2015: 创建日期:2016-03-04 一.简介 目前,基于位置的服务发展迅速,已涉及到商务.医疗.定位.追踪.敏感区域警告.工作和生活等各个方面.定位服务融合了GPS定位.移动通信.导航等多种技术,从而获取用户终端设备的位置信息,为移动用户提供了与空间位置相关的综合应用服务. 这一章我们主要以安卓内置的定位服务和百度定位服务为例,演示定位服务(Location Service)的基本用法. 二.本章示例主界面 1.运行截图 2.MainActivity.cs…
分类:C#.Android.VS2015: 创建日期:2016-02-08 在Android应用中,常用的对话框有:Toast.AlertDialog.ProgressDialog.时间选择对话框.日期选择对话框等.这一章主要介绍这些常用对话框的基本用法. 本章源程序共有4个示例,这些示例都在同一个项目中. 项目名:ch06demos 项目模板:Blank App(Android) 1.运行截图 主界面运行截图如下: 点击每行的示例项,即进入对应示例的页面. 2.主界面(Main.axml) 将…
分类:C#.Android.VS2015: 创建日期:2016-02-06 这一章主要介绍Android简单控件的基本用法.本章源程序共有9个示例,这些示例都在同一个项目中. 项目名:ch05demos,项目模板:Blank App(Android) 运行主界面截图如下: 点击每行的示例项,即进入对应示例的页面. 1.在drawable文件夹下添加图片 添加的图片见下面的左图,也可以直接拖放图片到drawable文件夹下. 右图是各节例子实现后的纵向屏幕布局文件(layout文件夹).横向屏幕布…
分类:C#.Android.VS2015: 创建日期:2016-02-18 1.主界面运行截图 2.MainActivity.cs文件中对应的代码 chItems.Add(new Chapter() { ChapterName = "第10章 扩展组件库和其他视图", ChapterItems = new ChItem[] { new ChItem { type=typeof(ch1001GridViewDemo), Title="例10-1 网格视图基本用法",…
前言 打造一款完整可用的Android播放器有许多功能和细节需要完成,也涉及到各种丰富的知识和内容,本章将结合Fragment.ViewPager来搭建播放器的主界面,并实现本地播放基本功能.系列文章提供截图.代码说明.源码下载,欢迎交流! 声明 欢迎转载,但请保留文章原始出处:)    博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com 系列 1.使用Vitamio打造自己的Android万能播放器(1)——准备 2.使用Vi…
第6章 对话框 一个对话框是一个小窗口,提示用户做出决定或输入额外的信息,一个对话框不填充屏幕并且通常用于在程序运行时中断,然后弹出通知提示用户,从而直接影响到正在运行的程序.图6-1就是对话框的外观. 图6-1 Dialog类是所有具体对话框的基类,但你应该避免直接实例化Dialog.因为可能有些现成的已经给你提供好了,比如以下几种: ◆AlertDialog 一个对话框,可以显示一个标题(可选),三个按钮(可选),内容的列表(可选),或一个自定义布局. ◆DatePickerDialog或T…
一.概述 随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化.对于6.0的几个主要的变化,查看查看官网的这篇文章http://developer.android.com/intl/zh-cn/about/versions/marshmallow/android-6.0-changes.html,其中当然包含Runtime Permissions. ok,本篇文章目的之一就是对运行时权限处理的一个介绍,以及对目前权限相关的库…
原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/48371123 http://inthecheesefactory.com/blog/things-you-need-to-know-about-Android-m-permission-developer-edition/en 一.Marshmallow版本权限简介 android的权限系统一直是首要的安全…
在运行时请求权限 从Android 6.0(API级别23)开始,用户权限授予应用程序在应用程序运行时,当他们安装程序.这种方法简化了应用程序的安装过程,因为用户不需要安装或更新应用程序时授予权限.这也给了用户更多的控制应用程序的功能;例如,一个用户可以选择给相机应用程序访问相机而不是设备的位置.用户可以随时撤销权限,通过将应用程序的设置屏幕. 系统权限分为两类,普通和危险: 正常的权限不直接用户的隐私风险.如果你的应用程序清单列出了一个正常的权限,系统自动授予许可. 危险的权限可以给应用程序访…
注:本文只针对Google原生Android系统有效, 小米魅族等手机有自己的权限机制, 可能不适用 一.运行时权限的变化及特点 新的权限机制更好的保护了用户的隐私,Google将权限分为两类,一类是Normal Permissions,这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动.访问网络等:另一类是Dangerous Permission,一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard.访问通讯录等. 运行时权限的特点是,实时性,用户可以随时取消授权,所以…
原文  http://droidyue.com/blog/2016/01/17/understanding-marshmallow-runtime-permission/ 主题 安卓开发   Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注.因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发者在实践开发中需要做出改变. 没有深入了解运行时权限的开发者通常会有很多疑问,比如什么是运行时权限,哪些是运行时的权限,我的应用是不是会在6.0系统上各种崩溃呢,如何…
简单介绍 关于运行时权限的说法,早在Google发布android 6.0的时候,大家也听得蛮多的.从用户的角度来讲,用户是受益方,更好的保护用户的意思,而对于开发者来说,无疑增加了工作量. 对于6.0以下的权限在安装时,会根据权限声明产生一个权限列表,用户只有同意才能完成app的安装.而在6.0以后,不需要先对权限授权就可以安装app,对于权限的授权我们可以选择禁止. 在新的权限机制中,Google将权限分为两类: Normal Permissions(普通权限):不涉及用户隐私,不需要用户进…
转自:http://blog.csdn.net/yihongyuelan/article/details/46409389 isLoggable是什么 在Android源码中,我们经常可以看到如下代码: //packages/apps/InCallUI/src/com/android/incallui/Log.java public static final String TAG = "InCall"; public static final boolean DEBUG = andro…
Android 6.0权限管理 关于权限管理 Android6.0 发布之后,Android 的权限系统被重新设计.在 23 之前 App 的权限只会在用户安装的时候询问一次,App一旦安装后就可以使用所有的权限了,而从 23 之后,App 可以直接安装,App 只有在运行时需要使用某些权限时才会向用户询问是否授权,此时系统会弹出一个对话框让用户选择确认或者取消授权,同时用户也可以在设置页面对每个 App 的权限进行管理.重要:这个对话框需要开发者手动调用,且不可自行定制样式 Android D…
感谢郭神,从Android 6.0开始,不再是安装应用时用户确定获得全部的权限.而是在使用软件过程中需要该权限时,弹出对话框让用户选择权限.不仅如此,用户选择权限后还可以关闭. 检查是否获得权限 通过 ContextCompat.checkSelfPermission(context,permission) 方法,方法返回值为 PackageManager.PERMISSION_GRANTED or PackageManager.PERMISSION_DENIED: 请求权限 通过 Activi…
如图,我们要做得就是这个: 先上代码: 1,逻辑代码 package com.example.hello; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.content.SharedPreferences; import android.content.Sha…
所有关于Android 6.0 棉花糖的知识 上下文帮助 1.现在按压:不需要离开你正在运行的app或者访问的网站就可 获取帮助,仅仅触摸和按下Home按钮.(长按Home键,可以在 android 的桌面中层叠多个app,就是这样,很不错) 2.按照你的意愿你可以做的更多.现在你可以有一个对话框, 这个对话框是在app上面的可以支持新的声音交互服务.例如, 如果一个用户说"在Tuneln 上面播放声音",Tuneln会回复 给你并且发出声音"what genre?"…
在拜读和翻译了 Android design 设计指导后,对比 Android 4.0 与 Android2.3 及之前版本的 app 设计指导,总结了 Android 4.0 设计的 10 大改变: 1. 导航栏 (详见模式 PATTERNS>导航 Navigation) 由之前的物理按键导航(返回.菜单.搜索.主页)变成了嵌入屏幕的虚拟按键(返回.主页.最近任务). 左侧为早期有 4 个物理按键的手机,右侧为新版只有 3 个虚拟按钮的手机 把菜单项和搜索项从导航栏去掉,把之前通过长按主页键才…
权限一刀切 棉花糖运行时权限 权限的分组 正常权限 正常权限列表 特殊权限危险权限 请求SYSTEM_ALERT_WINDOW 请求WRITE_SETTINGS 必须要支持运行时权限么 不支持运行时权限会崩溃么 然而有点糟糕的是 该来的还得来 一个标准的流程 如何批量申请 申请这么多权限岂不是很累 注意事项两个权限 API问题 多系统问题 些许建议 注意 Android 6.0,代号棉花糖,自发布伊始,其主要的特征运行时权限就很受关注.因为这一特征不仅改善了用户对于应用的使用体验,还使得应用开发…
Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk-8u31-windows-i586.exe,eclipse.exe,android-sdk-windows-1.5_r3.exe,ADT-23.0.4.zip 方法/步骤 1 一.安装JDK 1.JDK的下载及安装 进入JDK下载页面,勾选Accept License Agreement ,点击 j…
Material Design Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出内容. Material Design对排版.材质.配色.光效.间距.文字大小.交互方式.动画轨迹都做出了建议,以帮助设计者设计出符合Material Design风格的应用. Material Design设计语言鼓励大家使用充满活力的鲜艳色彩,并在同一界面建议使用…