
第一行代码
文章平均质量分 72
one by two
这个作者很懒,什么都没留下…
展开
-
《第一行代码Android》学习总结第三章 常用布局使用方法
布局是可以放置许多空间的容器,同时布局内部可以放置布局,进行布局的嵌套。1、LinearLayout线性布局 控件会在布局的线性方向依次排列。android:orientation属性 1)vertical:垂直方向排列 2)horizontal:水平方向排列(默认)android:layout_gravity与android: gravit...原创 2018-11-09 15:57:40 · 243 阅读 · 0 评论 -
《第一行代码Android》学习总结第六章 LitePal操作数据库
LitePal是一款开源的Android数据库框架,它采用对象关系映射(ORM)的模式,并将平时开发常用的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成建表和增删改查操作。对象关系映射(ORM):Java使用的编程语言是面向对象的语言,而使用的数据库则是关系型数据库,那么面向对象的语言与面向关系的数据库之间建立一种映射关系,这就是对象关系映射。一、配置Lit...原创 2018-11-24 17:38:28 · 470 阅读 · 0 评论 -
《第一行代码Android》学习总结第七章 运行时权限
一、Android 6.0以前的权限机制 为了保护用户的安全与隐私,Android从第一个版本开始就提出了权限机制。 当编程时,会存在一些功能需要访问用户的信息与隐私等问题。如因为访问系统的网络状态以及监听开机广播等涉及到用户设备的安全性。此时必须在AndroidManifest.xml文件中加入权限声明:<uses-permission andro...原创 2018-11-26 15:33:31 · 421 阅读 · 0 评论 -
《第一行代码Android》学习总结第九章 Android网络技术
一、WebView的用法 WebView控件,借助它我们可以在自己的应用程序里嵌入一个浏览器,从而轻松的展示各种网页。1、修改activity_main中代码,加入WebView控件用于显示网页。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:...原创 2018-12-04 15:26:44 · 341 阅读 · 0 评论 -
《第一行代码Android》学习总结第七章 内容提供器ContentProvider
主要用于在不同应用程序之间实现数据共享功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证数据的安全性。ContentProvider一共有两种用法:1、使用系统现有的ContentProvider来读取和操作相应程序中的数据。2、创建自己的ContentProvider给程序的数据提供外部访问接口。一、访问其他程序中的数据。Conte...原创 2018-11-26 21:19:50 · 659 阅读 · 0 评论 -
《第一行代码Android》学习总结第九章 Android数据解析
一般我们都会在网络上传输一些格式化后的数据,这种数据具有一定的结构规格与语义,当另一方收到数据消息之后就可以按照相同的结构规格进行解析,从而取出需要的内容。搭建简单的Web服务器1、下载Apache服务器并安装。2、在Apache\htdocs目录下,新建get_data.xml文件,并加入如下内容:<apps> <app> ...原创 2018-12-04 16:52:42 · 260 阅读 · 0 评论 -
《第一行代码Android》学习总结第八章 通知(Notification)
当某个应用程序希望向用户发出一些提示信息,而该应用程序不在前台运行时,就可以借助通知来实现。 通知可以在Activity、Service与BroadcastRecevier中创建。通知的使用步骤:1)通过Context的getSystemService()方法获取NotificationManager对通知进行管理。getSystemService()方法...原创 2018-11-30 10:07:28 · 604 阅读 · 0 评论 -
《第一行代码Android》学习总结第八章 使用摄像头与相册
一、调用摄像头拍照1、新建CameraAlbumTest项目,修改activity_main.xml文件,添加一个Button用于打开摄像头进行拍照,添加ImageView用于将图片显示出来。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orienta...原创 2018-11-30 11:02:12 · 566 阅读 · 0 评论 -
《第一行代码Android》学习总结第八章 播放多媒体文件
一、播放音频 Android中播放音频一般使用MediaPlayer类来实现。一般分为以下几个步骤:1)创建一个MediaPlayer对象。2)调用setDataSource()方法设置音频文件路径。3)调用prepare()方法使MediaPlayer进入准备状态。4)调用start()方法开始播放音频。5)调用pause()方法暂停播放。6)调用r...原创 2018-11-30 11:26:33 · 604 阅读 · 0 评论 -
《第一行代码Android》学习总结第十章 Android多线程
一、Handler异步消息处理机制 Android提供了一套异步消息处理机制,让子线程去执行一些耗时任务,然后根据任务的执行结果来更新相应的UI控件。Message 是线程之间传递的消息,它内部可以携带少量信息,用于在不同线程之间交换数据。可以使用what字段,arg1与arg2字段携带整型数据,obj字段携带Object对象。Handler ...原创 2018-12-06 16:19:34 · 353 阅读 · 0 评论 -
《第一行代码Android》学习总结第十二章 Material Design
它是由谷歌设计师基于传统优秀的设计原则,结合丰富的创意和科学技术所发明的一套全新的界面设计语言,包括了视觉、运动、互动效果等特性。一、Toolbar(一)创建Toolbar Material控件中的一个控件,类似于ActionBar。1、将res/values/styles.xml文件中的parent属性改为Theme.AppCompat.Light...原创 2018-12-13 19:22:58 · 545 阅读 · 0 评论 -
《第一行代码Android》学习总结第十章 服务Service
一、定义一个服务。1、新建ServiceTest项目,右击com.launcher.servicetest→New→Service→Service。Exported属性表示是否允许除了当前程序外其他程序访问这个服务。Enabled属性表示是否启用这个服务。2、重写Service的如下方法。public class MyService extends Service { ...原创 2018-12-07 10:18:14 · 566 阅读 · 0 评论 -
《第一行代码Android》学习总结第十章 Service实践——下载功能示例
1、在app/build.gradle文件,dependencies闭包中添加依赖。compile 'com.squareup.okhttp3:okhttp:3.4.1'2、定义DownloadListener回调接口,用于对下载过程中的状态进行监听和回调。public interface DownloadListener { void onProgress(int pro...原创 2018-12-07 10:57:41 · 669 阅读 · 0 评论 -
《第一行代码Android》学习总结第十三章 Android编程技巧
一、全局获取Context技巧。 在项目任何地方都轻松获取Context。 Android提供了一个Application类,每当程序启动时,系统会自动将这个类进行初始化,我们可以定制一个自己的Application类,以便管理程序内的一些全局状态信息,比如Context。1、创建一个MyApplication类继承自Application。publi...原创 2018-12-14 17:04:45 · 426 阅读 · 2 评论 -
《第一行代码Android》学习总结第六章 SharedPreferences实践——实现记住密码功能
在上一章中BroadcastBestPractice项目基础上添加记住密码功能。博客地址: https://blog.youkuaiyun.com/LBW9368/article/details/84135472 1、修改activity_login.xml中的代码,新建一个CheckBox复选框控件,用户通过点击进行选中或取消,表示是否需要记住...原创 2018-11-19 20:20:55 · 447 阅读 · 1 评论 -
《第一行代码Android》学习总结第六章 Android持久化技术——文件储存与SharedPreferences存储
瞬时数据: 指存储在内存当中,有可能因为程序关闭或其他原因导致内存回收而丢失的数据。数据持久化: 指将那些内存中的瞬时数据保存在存储设备中,保证即时在手机或电脑关机时这些数据仍然不会丢失,数据持久化技术提供了一种机制让数据在瞬时状态和持久状态之间进行转换。 Android提供了文件存储、SharedPreferences存储以及数据库存储...原创 2018-11-19 19:59:14 · 291 阅读 · 0 评论 -
《第一行代码Android》学习总结第三章 自定义布局与控件
1、View是Android中最基本的组件,它可以在屏幕上绘制一块矩形区域,并在这块区域内响应各种事件。所有控件都直接或间接继承自View。2、ViewGroup是一种特殊的View,可以包含很多子View和子ViewGroup,是一个用于放置控件和布局的容器。所有布局都直接或间接继承自ViewGroup。 一、引入布局1)新建xml布局文件title.xml,并编写需要的布局...原创 2018-11-09 16:27:17 · 284 阅读 · 0 评论 -
《第一行代码Android》学习总结第二章 Acitivity的生命周期与启动模式
一、返回栈 Android中使用Task任务来管理活动,一个任务就是一组存放在返回栈中的活动Activity的集合。 系统总是将栈顶的Activity显示给用户。二、Acitivity的四种状态1、运行状态 位于返回栈栈顶的活动Activity处于运行状态。2、暂停状态 活动Activity不在处于栈顶,但仍然可见。不可交互3、停止状态 ...原创 2018-11-06 17:32:50 · 272 阅读 · 0 评论 -
《第一行代码Android》学习总结第三章 常用控件使用方法
1、TextView match_parent:表示让父布局决定当前控件大小,当前控件大小与父布局大小一样。wrap_content:表示让空间内容决定当前控件大小让当前控件大小能够刚好包含住控件内的内容。 对控件指定固定大小可能会在不同手机适配方面出现问题。android:gravity属性:指定TextView中文字的对齐方式。2、Button ...原创 2018-11-07 17:27:36 · 215 阅读 · 0 评论 -
《第一行代码Android》学习总结第二章 Activity创建与相关设置
一、id标签如果在XML文件中引用一个id,则使用@id/id_name;如果在XML文件中定义一个id,则使用@+id/id_name。二、程序中设置主活动在AndroidMaifest.xml中设置<intent-filter> <action android:name="android.intent.action.MAIN" />...原创 2018-11-05 17:29:30 · 305 阅读 · 1 评论 -
《第一行代码Android》学习总结第三章 ListView与RecyclerView
ListView一、定制ListView界面1、定义实体类Fruit类public class Fruit { private String name; //水果名字段 private int imageId; //水果对应图片字段 public Fruit(String name, int imageId) { this.nam...原创 2018-11-10 16:28:01 · 910 阅读 · 0 评论 -
《第一行代码Android》学习总结第三章 Nine-Patch的使用
普通图片作为资源时,有时由于宽度不足整张图片会被均匀的拉伸,这种效果非常不好,是用户不能容忍的,这时可通过Nine-Patch图片进行改善。1、Android SDK目录下tools文件夹下打开draw9patch.bat文件,来制作Nine-Patch图片。2、在导航栏点击File →Open 9-patch 将待制作图片加载进来。其中上边框与左边框绘制的黑线...原创 2018-11-10 17:02:46 · 370 阅读 · 0 评论 -
《第一行代码Android》学习总结第三章 编写聊天界面实践
1、用通过Nine-Patch制作好的气泡图片作为图片资源。2、在app/build.gradle中添加依赖库,使用RecyclerView。compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'3、编写activity_main.xml文件,放置用于显示聊天内容界面,EditText用于输入消息,Button用于输入消...原创 2018-11-10 17:24:58 · 453 阅读 · 0 评论 -
《第一行代码Android》学习总结第四章 Fragment的简单介绍
碎片(Fragment)是一种可以嵌入在活动当中的UI片段,他能让程序更加合理与充分的利用屏幕空间。一、Fragment的简单使用1、新建左侧Fragment布局left_fragment.xml与右侧Fragment布局right_fragment.xml。<LinearLayout xmlns:android="http://schemas.android....原创 2018-11-13 15:40:28 · 308 阅读 · 0 评论 -
《第一行代码Android》学习总结第四章 Fragment的运行状态与生命周期
一、Fragment四种状态1、运行状态当一个Fragment是可见的,同时它所关联的Activity正处于运行状态,则该Fragment也处于运行状态。2、暂停状态当一个Activity处于暂停状态,与它关联的可见碎片就会处于暂停状态。3、停止状态 Fragment不可见,有可能被系统回收。1)当一个Activity处于停止状态,与它关联的可见碎片就会处于停止状...原创 2018-11-13 16:10:59 · 550 阅读 · 1 评论 -
《第一行代码Android》学习总结第四章 Fragment应用实践
Fragment应用实践-----简易新闻应用布局(可同时兼容手机与平板)1、在app/build.gradle添加依赖库compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'2、新建News新闻实体类public class News { private String title; //新闻标题...原创 2018-11-13 17:16:11 · 352 阅读 · 1 评论 -
《第一行代码Android》学习总结第五章 详解广播机制
一、广播机制简介 Android提供了一系列API,允许程序自由的发送和接收广播,同时每个程序都可以对自己感兴趣的广播进行注册,该程序便可以只接受来自于系统或其他应用程序的自己关心的广播内容。标准广播: 一种完全异步执行的广播,在广播发出后,所有广播接收器会在同一时间接收到该广播消息。它们之间没有任何先后顺序,因此这种广播的效率很高,但无法被截断。有序广...原创 2018-11-16 10:06:57 · 327 阅读 · 0 评论 -
《第一行代码Android》学习总结第四章 广播机制实践——强制下线功能
强制下线功能需要在任何一个界面上弹出一个对话框,让用户必须点击对话框中的确定按钮,关闭所有活动,然后回到登录界面即可。 1、创建ActivityCollector类用于管理活动。public class ActivityCollector { public static List<Activity> activities = ne...原创 2018-11-16 10:59:39 · 319 阅读 · 0 评论 -
《第一行代码Android》学习总结第六章 SQLite数据库存储
SQLite数据库是一款轻量级关系型数据库,运行速度很快,占用资源少,适用于移动设备,同时支持标准的SQL语法,支持数据库ACID事务。 SQLite数据库支持integer(整型)、real(浮点型)、text(文本型)与blob(二进制)等数据类型。一、创建数据库 SQLite使用SQLiteOpenHelper类实现对数据库的创建与升级...原创 2018-11-23 17:06:48 · 376 阅读 · 0 评论 -
《第一行代码Android》学习总结第十一章 基于位置的服务
基于位置的服务,简称LBS。它的工作原理就是利用无线电通讯网络或GPS等定位方式来确定出移动设备所在的位置。通常有两种技术方式可以实现: 1、通过GPS定位,主要工作原理是基于手机内置的GPS硬件直接和卫星交互来获取当前经纬度信息,这种定位方式精确度非常高,但缺点是只能在室外使用,室内基本无法接收到卫星信号。 2、通过网络定位,主要工作原理是...原创 2018-12-10 15:01:43 · 1724 阅读 · 0 评论