入门篇:11.Android中日志系统和权限系统

一、安卓中的日志系统

1.java中常用的两个日志

System.out.println();//普通日志

System.err.println();//警告日志

2.android中常用的日志种类

Log.e(Tag,"错误信息");

Log.w(Tag,"警告信息");

Log.i(Tag,"普通信息");

Log.d(Tag,"调试信息");

Log.v(Tag,"无用信息");

ps:这个log.v神奇的地方就在于它没有用,它存在的意义竟然是供开发人员自娱自乐的,哦呵呵。。。

二、安卓中的权限系统

1.android常用的使用权限

在开发过程中,有时候我们需要我们应用可以访问用户的网络、通讯录、照相机、前置摄像头、听筒等等设备或权力,此时就需要申请这些组件的权限供用户选择,用户可以选择给予该应用这些权限,也可以拒绝这些权限。

权限的添加:在AndroidManifest.xml文件中添加<uses-permission android:name=""/>

2.代码的权限检查

除了系统定义的这些权限,开发人员自己也可以自定义权限,比如执行某些代码时需要获取自定义的权限。

使用方法:

新建一个类Hello.java

public class Hello{
     public static final String PERMISSION_SAY_HELLO = "com.example.demo.permission.sayHello";
     public static void sayHello(Context context){
          int checkResult = context.checkCallingOrSelfPermission(PERMISSION_SAY_HELLO);
          if(checkResult!=packageManager.PERMISSION_GRANTED){
              throw new SecurityException("执行……需要……的权限");
         }
         Log.i("info","hello android");
     }
}

上述定义的PERMISSION_SAY_HELLO常量权限需要在AndroidManifest.xml文件中声明

<permission android:name="com.example.demo.permission.sayHello"/>

如果想要看到输出hello android,需要在AndroidManifest.xml文件中添加权限

<uses-permission android:name="com.example.demo.permission.sayHello"/>

3.为基本组件添加权限

创建一个activity,MyAty

在AndroidManifest.xml文件中声明一个权限

<permission android:name="com.example.demo.permission.MyAty"/>

在MyAty标签中添加一个permission的属性

android:permission="com.example.demo.permission.MyAty"

需要注意的是:同应用内启动activity等组件不需要此权限,只有跨应用启动时才需要此权限。

同时,不只是activity,其他的三个基本组件同样也可以添加权限。添加方法类似。

至此,安卓入门篇的笔记已经全部结束。接下来的时间开始总结安卓界面篇的有关知识。加油吧!

时间: 2024-08-24 21:07:30

入门篇:11.Android中日志系统和权限系统的相关文章

RxJava入门系列四,Android中的响应式编程

RxJava入门系列四,Android中的响应式编程 在入门系列1,2,3中,我基本介绍了RxJava是如何使用的.但是作为一名Android开发人员,你怎么让RxJava能为你所用呢?这篇博客我将针对Android开发来介绍一下RxJava的使用场景. RxAndroid RxAndroid是为Android打造的RxJava扩展.通过RxAndroid可以让你的Android开发变得更轻松. 首先,RxAndroid中提供了AndroidSchedulers,你可以用它来切换Android线

Python学习(一):入门篇:python中的一些数据结构

Python里的一些基本知识点总结 Last Edit 2014/5/2 这里记录的是Python2.7版本的语法特征,部分与Python3.0是不一样的. 一,关于开发环境 在windows下可以直接在官网下载相关的版本,然后默认安装.使用直带的IDLE编辑器. IDLE中两个有用的快捷键: ALT+P:重复历史命令(从最近到最老) ALT+N:   重复历史命令(从最老到最近) IDLE中没有清屏功能. 在cmd中进行: 1,首先要在环境变量的path中添加相关的路径: C:\Python2

Python学习(三):入门篇:Python中怎么编写类

Python中怎么编写类 Last Edit 2013/5/2 先看一个例子: #person.py class person: """class to representaion a person""" def __init__(self,name,age): self.name=name if 0<age<=150: self.age=age else: print 'age is no valid!' def display(s

Python学习(二):入门篇:python中流程控制与函数编写

python中流程控制与函数编写 Last Eidt 2014/5/2 转载请注明出处http://blog.csdn.net/jxlijunhao 一,流程控制 1)布尔逻辑 Python中利用True来表示逻辑真,False来逻辑假 not :非 and:与 or   :或 ==  :逻辑等 >>> False==True False >>> False==False True >>> not False True >>> Fal

Android系统篇之----Android中的run-as命令引出升降权限的安全问题(Linux中的setuid和setgid)

一.前言 最近一周比较忙,没时间写东西了,今天继续开始我们今天的话题:run-as命令,在上周的开发中,遇到一个问题,就是在使用run-as命令的时候出现了一个错误,不过当时因为工作进度的问题,这问题就搁浅没有解决,用了其他一个曲线救国的方式去解决的.那么咋们今天闲来说说Android中的run-as命令吧. 二.遇到的问题&解决问题 Android中我们知道如果设备没有root,我们想看一个应用的沙盒数据(/data/data/目录内容),在以前的方式很难办到,一般人都是选择root之后,去查

Android系统篇之----Android中的智能指针

一.前言 今天我们开启Android系统篇的文章了,其实一直想弄,只是之前一直没有太多深入的了解,最近又把这块拿出来好好看了一下,所以想从新梳理一下,来看看Android中的这块知识,首先我们今天来看一下:Android中的智能指针的概念,为什么说先看一下智能指针这个知识呢?因为我们在看Android源码的时候,会发现几乎好多地方都用到了这个东东,所以我们在介绍后面的知识点,先来看看这个吧. 二.问题 那么Android中的智能指针是个什么东西呢?我们知道Android用的Java语言开发的,J

《Java从入门到放弃》入门篇:spring中AOP的配置方式

spring中最核心的两个东东,一个IOC,一个AOP. AOP(Aspect-OrientedProgramming)面向方面编程,也可以叫面向切面编程. 从一个新人的角度可以这样来理解:一般软件中的功能,我们可以分为两大类,一类是业务功能,一类是系统功能. 业务功能是指这个软件必须要用到的,没有的话客户就不给钱的.比如淘宝APP,如果你只能在上面浏览商品而不能购物,那就说明业务功能太监了···. 系统功能主要是指与业务无关,没有这块内容也不影响软件使用的.比如日志管理.权限处理等. AOP主

《Java从入门到放弃》入门篇:hibernate中的多表对应关系

hibernate中的对应关系其实就是数据库中表的对应关系, 就跟某些电影中的某些场景是一样一样滴. 比如可以是一男一女,还可以是一男多女, 更可以是多男一女,最后最后最后还可以是多男多女!!! 有些不纯洁的看官肯定已经开始想歪了吧···,我还是上图吧!请看下图 我说滴是这样滴一群人打群架滴场景,嘿嘿嘿··· 好吧,进入正题!!! 数据库中表与表之间的数据映射关系有一对一,一对多,多对一,多对多.例如: 一个身份证只能对应一个护照,一个护照也只能对应一个身份证,这就是一对一的关系 一个男人可以有

[后端人员耍前端系列]AngularJs篇:使用AngularJs打造一个简易权限系统

一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多说,直接进入主题. 二.整体架构设计介绍 首先看下整个项目的架构设计图: 从上图可以看出整个项目的一个整体结构,接下来,我来详细介绍了项目的整体架构: 采用Asp.net Web API来实现REST 服务.这样的实现方式,已达到后端服务的公用.分别部署和更好地扩展.Web层依赖应用服务接口,并且使