自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 《第一行代码》学习笔记:运行时权限

Android现在将所有的权限归成了两类,一类是普通权限,一类是危险权限。准确地讲,其实还有第三类特殊权限,不过这种权限使用得很少。普通权限指的是那些不会直接威胁到用户的安全和隐私的权限,对于这部分权限申请,系统会自动帮我们进行授权,危险权限则表示那些可能会触及用户隐私或者对设备安全性造成影响的权限,如获取设备联系人信息、定位设备的地理位置等,对于这部分权限申请,必须要由用户手动点击授权才可以,否则程序就无法使用相应的功能。Android中所有的危险权限,一共是9组24个权限。每个危险权限都属于一个权限组

2020-07-11 11:05:16 329

原创 《第一行代码》学习笔记:使用LitePal操作数据库

LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将平时开发最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表和増删改查的操作。LitePal的项目主页上也有详细的使用文档,地址是:https://github.com/LitePalFramework/LitePal 。一、配置LitePal编辑app/build.gradle文件,在dependencies闭包中添加如下内容:(旧版已废弃)注意要点击Sync nowimplem

2020-07-10 12:05:06 492

原创 《第一行代码》学习笔记:SQLite数据库存储

SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少,因而特别适合在移动设备上使用。SQLite不仅支持标准的SQL语法,还遵循了数据库的ACID事务。而SQLite又比一般的数据库要简单得多,它甚至不用设置用户名和密码就可以使用。一、创建数据库Android为了让我们能够更加方便地管理数据库,专门提供了一个SQLiteOpenHelper帮助类,借助这个类就可以非常简单地对数据库进行创建和升级。SQLiteOpenHelper是一个抽象类,这意味着如果我们想要使用它的话,就需要创建

2020-07-09 11:41:47 430

原创 《第一行代码》学习笔记:文件存储

文件存储是Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。如果使用文件存储的方式来保存一些较为复杂的文本数据,就需要定义一套自己的格式规范,这样可以方便之后将数据从文件中重新解析出来。一、将数据存储到文件中新建一个项目并修改activity_main.xml中的代码,在布局中加入一个EditText,用于输入文本内容。但是在文本输入框中随意输入点什么内容,再按下Back键,这时输

2020-07-07 14:06:59 250

原创 《第一行代码》学习笔记:广播实践——实现强制下线功能

实现强制下线功能的思路只需要在界面上弹出一个对话框,让用户无法进行任何其他操作,必须要点击对话框中的确定按钮,然后回到登录界面即可。一、创建ActivityCollector 类用于管理所有的活动public class ActivityCollector { public static List<Activity> activities = new ArrayList<>(); public static void addActivity(Activity activity

2020-07-06 20:36:00 461

原创 《第一行代码》学习笔记:使用本地广播

使用本地广播很容易引起安全性的问题,比如说我们发送的一些携带关键性数据的广播有可能被其他的应用程序截获,或者其他的程序不停地向我们的广播接收器里发送各种垃圾广播。为了能够简单地解决广播的安全性问题,Android引入了一套本地广播机制,使用这个机制发出的广播只能够在应用程序的内部进行传递,并且广播接收器也只能接收来自本应用程序发出的广播,这样所有的安全性问题就都不存在了。用法本地广播的用法并不复杂,主要就是使用了一个LocalBroadcastManager来对广播进行管理,并提供了发送广播和注册广播接

2020-07-06 13:36:38 237 1

原创 《第一行代码》学习笔记:发送自定义广播

一、发送标准广播先定义一个广播接收器。新建一个MyBroadcastReceiver,代码如下所示:public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, "received in MyBroadcastReceiver", Toast.LENGTH_S

2020-07-06 00:21:41 329

原创 《第一行代码》学习笔记:接受系统广播

Android中的广播主要可以分为两种类型:标准广播和有序广播。标准广播 (Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。有序广播 (Ordered broadcasts)则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。所以此

2020-07-05 17:52:07 134

原创 《第一行代码》学习笔记:更强大的滚动控件——RecyclerView(增强版的 ListView)

一、基本用法添加依赖库并编写布局文件想要使用RecyclerView这个控件,首先需要在项目的app/build.gradle中添加相应的依赖库才行,在dependencies 闭包中添加如下内容:implementation 'androidx.recyclerview:recyclerview:1.1.0'**添加完之后记得要点击一下右上角Sync Now来进行同步。**然后修改activity_main.xml中的代码,如下所示:<LinearLayout xmlns:andr

2020-07-02 00:50:54 331

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除