Android学习笔记
文章平均质量分 88
__Hiro__
这个作者很懒,什么都没留下…
展开
-
Android 中 activity 的生命周期和数据储存
Activity 作为 Android 的四大组件之一,其与用户接触的机会最多,所以灵活运用 activity 类能够让我们的程序用户体验感更好。首先我们来看一下 activity 对象的状态图:这个图想必各位朋友已经看过了,我们来解释一下图片中方法的作用:上图中方法为继承 activity 类的派生类覆盖实现的方法,从 activity 对象创建到结束被摧毁都是在这些方法中循环调原创 2016-11-22 22:41:29 · 843 阅读 · 0 评论 -
Android Service基础
Service 作为Android的四大组件之一,如果没听过Service,怎么能说能说自己是一个Android开发者呢,实际上,Service 在Android程序中扮演者不可或缺的角色,很多应用在从服务器获取数据、进行后台工作(播放音乐)是都是使用的 Serive 来完成,服务就相当于一个没有UI界面的Activity,作为Android的四大组件之一,我们先看一下服务的生命周期: 通过这原创 2017-03-03 01:11:31 · 496 阅读 · 0 评论 -
Android多线程的使用
在很多编程语言中,线程都是一个重要的组成部分,多线程的支持可以给程序员更加灵活的程序功能实现代码编写方式,线程一般用于处理一些比较耗时的任务(下载文件、复制或者移动文件。。。)。那么Android作为一个最热门的移动操作系统,当然支持多线程编程(严格来说应该是java支持多线程编程,Android使用的是java编程语言)。下面来看一下怎么去使用Android多线程:Android的线程和java的原创 2017-02-26 11:37:59 · 832 阅读 · 0 评论 -
Android文件读写和使用SharedPreferences储存数据
程序的终归目的还是操作数据来达到实现一些特定功能,在Android中,我们可以通过操作文件或者使用SharedPreferences还有数据库来保存一些数据。首先来看一下Android文件的读写:假设我们现在有这么一个需求:一个Activity中有一个EditText,在每次这个程序启动的时候我们要恢复用户上一次在EditText中输入的数据。对于这个问题,在这篇博客 http://blog.c原创 2017-01-31 10:21:01 · 988 阅读 · 0 评论 -
Android SQLite数据库基本操作
程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数据库来实现一些需求的吧,仍然以一个小例子开始: 在创建Android项目之前,我们应该想一下我们要定义的数据库的相关信息和里面的表格的相关信息,为了日后数据库的原创 2017-02-10 19:12:39 · 2194 阅读 · 1 评论 -
Android 中 View 的滑动
Android View控件的滑动是 Android 的一个重要内容。在 View 需要变换位置时,为其添加适当的滑动效果,获得更好的用户体验,下面来看一下怎样去实现 View 的滑动:1、scrollBy / ScrollTo 方法: View 控件提供的两个方法,来看一下官方文档给出的说明:两个方法都会使得 View 重绘,不同的是:scrollBy 方法是将 View 基于当前位置分别向水平原创 2017-03-28 00:29:46 · 643 阅读 · 0 评论 -
Android 中的属性动画 --- 2(插值器)
在上篇文章中我们看了一下 Android 属性动画的基本用法,如果有兴趣的小伙伴可以看一下上一篇文章: Android 中的属性动画 — 1(基本用法)在上一篇文章中,我们使用 ValueAnimator 这个类来实现了操作 View 对象的 height 属性从而实现了动画形式的显示和隐藏 View 控件。我们知道 ValueAnimator 这个类只用于根据当前动画的完成度和按照一定的“规律”产原创 2017-05-05 17:45:54 · 731 阅读 · 0 评论 -
Android 触摸事件分发和拦截机制
Android 开发中,很多情况下,我们需要对触摸事件进行处理,但是当面对错综复杂的 Android 布局时,我们如何准确的将一个用户的触摸事件传递到对应的控件中并让它进行处理呢?首先,我们先假设这里有这样一个布局:我们可以很清楚的看到,一个很明显的嵌套布局,外面两个红色的和黄色的都是布局,中间一个紫色的控件。如果此时,我们单击一下 myView 这个控件,触摸事件(单击也是触摸事件)是怎么传递的呢原创 2017-03-21 21:57:52 · 5427 阅读 · 2 评论 -
Android 中 View 的手势事件处理
View 作为Android中最直接的和用户进行交互的单位,对于 View 的事件处理重要程度自然不言而喻,View 的事件处理直接影响到用户体验,下面我们来看一下对 View 的触摸事件的处理:首先,View 的源代码中已经给我们写了一个 onTouchEvent 方法用于处理最直接的触摸事件,我们可以在官方文档中看到对这个方法的介绍:public boolean onTouchEvent (原创 2017-02-27 23:30:27 · 4533 阅读 · 2 评论 -
Android 中的属性动画 --- 1(基本用法)
动画在提高用户体验里面起了巨大的作用,可以说是提高用用户体验的“主力军”。在 Android 3.0 之前,视图动画几乎承担了所有的动画效果,但是视图动画有一个很大的局限性:它改变的只是某个 View 的外观。但是响应事件位置并没有随着 View 的改变而改变。举个 case 来说,现在有一个按钮通过视图动画在 x 轴方向上向右移动了 200 px(像素) 的距离,按钮显示的位置虽然改变了,但是点...原创 2017-05-03 23:36:40 · 696 阅读 · 2 评论 -
Android 中拍照、相册选择、裁剪照片
一个多月没总结知识点了,差点连博客账号都忘了。。。好了,步入正题,在 Android 中调用摄像头拍照获取图片或者是从相册中选取图片是很常见的功能,比如某些 APP 上传头像的功能就是一个例子。 因为 Android 7.0 的新特性规定,不同的应用之间不能再使用 file:// 类型的 Uri 共享数据了,否则会报异常,这就就是网上说的 Android 7.0 调用相机拍照崩溃的问题。官方推荐...原创 2017-05-01 22:40:31 · 2979 阅读 · 4 评论 -
Android 全局广播的使用
广播作为Android一个重要的组成部分,很多功能的实现都依赖于广播,Android系统在发生一些重要事情的时候都会发送广播(电量变化、网络变化等等)。我们也可以在自己得应用程序中发送广播信息,一些能够接受到特定的广播信息的广播接收器就能够接收到对应的广播信息。进而进行事件处理,那么首先我们来看一下广播的基本使用方法。广播按照接收的有序性可以分为有序广播和无序广播,无序广播就是一个广播信息发送出去之原创 2017-01-29 15:05:04 · 4726 阅读 · 0 评论 -
Android自定义View
前几天在郭霖大神的博客上看了自定义View的知识,感觉受益良多,大神毕竟大神。在此总结一下关于Android 自定义View的用法:首先,自定义View可以由基本控件或者组合控件组合而成,下面以一个例子来看。创建一个新的Android项目: 新建一个title.xml的布局文件:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:a原创 2017-01-28 11:01:56 · 403 阅读 · 0 评论 -
使用Android MediaPlayer播放媒体文件
我们平时利用Android手机娱乐最常见的方式莫过于听歌和看电影了,当然还有玩游戏,当然,这里我要说的是针对Android对于媒体文件播放的支持。Android里面提供了MediaPlayer类来播放媒体文件,下面来看一下怎样用MediaPlayer对象来播放媒体文件: 一般来说,用MediaPlayer类来播放媒体文件有以下几个步骤:1、新建一个MediaPlayer对象。 2、调用setDa原创 2017-02-14 21:52:14 · 5311 阅读 · 4 评论 -
Android中自定义Toast
在Android程序中,Toast可谓用处多多,Toast本身作为消息提示,不占用焦点,用户可以处理其他程序的同时接收Toast中显示的信息。但是我们平常看见的Toast都是黑框白字的,那么我们可以改变原有的Toast,制作我们自定义的Toast吗。这个当然可以。Toast类本身提供了定义Toast布局、显示字体等一些方法。下面以一个例子说明: 新建一个Android工程: activity_m原创 2017-02-07 21:14:28 · 973 阅读 · 0 评论 -
Activity的启动模式
在Android程序中,应用程序通过活动栈来管理Activity,活动栈中有多少个Activity对象,我们在退出程序的时候就要按多少下返回键(即要将活动栈中的所有Activity出栈),但是这样的话难免会有活动栈中存在相同的Activity对象,那么我们该如何解决这个问题呢。首先,我们的Activity对象在我们在Android工程的AndroidManifest.xml配置文件中注册,之后才可以原创 2017-01-24 19:16:54 · 456 阅读 · 0 评论 -
Android中的通知和自定义通知布局
Android中的通知(Notification)是Android中的重要一部分,应用程序通过通知来提醒用户或者向用户传达信息,下面让我们来看一下怎么在我们的程序中使用通知和自定义通知的布局。首先我们来看一下怎么向通知栏中发送一个通知。由于各个版本的Android在通知方面都有一些改动,所以很难找到一个标准的创建及使用通知的方法,但是程序设计出来总归是给用户使用的,那么我们可以采用兼容性最好的那个A原创 2017-02-12 19:15:05 · 8474 阅读 · 2 评论 -
Android中的权限问题
在Android程序中,在执行形如访问网络、读取联系人时都要声明权限,在 Android 系统版本小于6.0时,所有的权限只需要在AndroidManifest文件中声明就可以使用对应的功能了。 但是在Android6.0版本以上,Android将权限分为了普通权限和危险权限,其中普通权限的使用和以前的Android版本一样,直接在AndroidManifest文件中声明就行了,系统会自动帮我们授权原创 2017-02-20 23:24:14 · 1566 阅读 · 0 评论 -
Android 中为RecyclerView控件添加分隔线
在http://blog.csdn.net/hacker_zhidian/article/details/56292052这边文章中,我们看了一下ListView控件和RecyclerView控件的简单用法,那么下面我们将关注点放在RecyclerView上,毕竟RecyclerView控件在很多方面确实比ListView控件更好用。下面来看一下怎么对RecyclerView中的子项添加分隔线:原创 2017-02-26 22:39:36 · 4974 阅读 · 0 评论 -
Android的ListView和RecyclerView的基本用法
在Android 5.0 版本之前,为了方便的显示多行数据,形如QQ聊天信息主界面,最常用的选择无非是ListView控件,但是ListView控件本身就有很大的局限性和效率问题(相对于RecyclerView控件)来说,比如说ListView只能竖向滚动显示数据,不能横向滚动显示数据,在一些特殊的需求中,ListView就无能为力了。在Android5.0版本之后,Android官方推出了一个新的原创 2017-02-22 21:38:12 · 2452 阅读 · 0 评论 -
Activity 的临时数据储存
一个Android项目程序一定会存在多个 Activity ,在Activity对象的切换过程中,难免会有一些Activity对象被系统回收,那么,这个Activity中的数据也会消失,打个比方:一个Activity中存在一个EditText输入框,输入到一半的时候跳出另一个界面,而不巧的是这个存在EditText的界面刚好被系统回收了。那么再次启动这个Activity的时候EditText的数据又原创 2017-01-23 21:39:51 · 512 阅读 · 0 评论 -
使用 Intent 启动 Activity和Activity之间的数据传递
在Android 程序之中,Activity 对象时和用户交互的唯一手段,几乎每个 Android 项目程序都有多个 Activity。因此,灵活的在屏幕上切换 Activity 尤为重要。下面让我们一起来看一下如何用 Intent 来启动 Activity 对象吧首先,Intent 分为 显式 Intent 和隐式 Intent。显式 Intent 就是指定了要启动的 Activity 类,而隐式原创 2017-01-23 20:34:26 · 2297 阅读 · 0 评论 -
Android中ContentProvider的用法
在Android中,如果要将一个程序的数据共享给另一个程序,在之前的Android版本,我们可以设置Android文件和SharedPreferences操作的两个模式:MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 这两种模式来使得数据可以被其他应用程序读写,但是这两种模式在在Android4(具体4.几也不记得了。。。)的时候就被废除了,那么现在要在不同的A原创 2017-02-14 18:53:28 · 617 阅读 · 0 评论