Android学习笔记之基础篇
文章平均质量分 65
MakeYourChance
这个作者很懒,什么都没留下…
展开
-
事件处理机制之AnsyncTask异步任务
(一)概述 本节给大家带来的是Android给我们提供的一个轻量级的用于处理异步任务的类:AsyncTask,我们一般是 继承AsyncTask,然后在类中实现异步操作,然后将异步执行的进度,反馈给UI主线程~ 好吧,可能有些概念大家不懂,觉得还是有必要讲解下多线程的概念,那就先解释下一些概念性的东西吧!(二)AnsyncTask异步任务 1.相关概念 1)什么是多线程:答:先要了解这几个名称原创 2016-07-03 11:48:38 · 5174 阅读 · 0 评论 -
Android四大组件之BroadcastReceiver(下)
(一)概述 上节我们对BroadcastReceiver已经有了一个初步的了解了,知道两种广播类型:标准与有序, 动态或静态注册广播接收者,监听系统广播,自己发送广播!已经满足我们的基本需求了~ 但是前面写的广播都是全局广播!这同样意味着我们APP发出的广播,其他APP都会接收到, 或者其他APP发送的广播,我们的APP也同样会接收到,这样容易引起一些安全性的问题!而 Android中给我们提供了原创 2016-07-04 11:36:39 · 2954 阅读 · 0 评论 -
Android四大组件之ContentProvider(上)
(一)概述 本节给大家带来的是Android四大组件中的最后一个——ContentProvider(内容提供者),可能部分读者 有疑问了,”Android不是有五大组件的吗?还有个Intent呢?”对的,Intent也是很重要的,但是他 只是维系这几个组件间的纽带!Intent我们下一章会讲解!说会这个ContentProvider,我们什么时候 会用到他呢?有下面这两种:1.我们想在自己的应用中原创 2016-07-04 15:02:39 · 2606 阅读 · 0 评论 -
Android四大组件之ContentProvider(下)
(一)概述 学完上一节,相信你已经知道如何去使用系统提供的ContentProvider或者自定义ContentProvider了, 已经基本满足日常开发的需求了,有趣的是,我在官方文档上看到了另外这几个Provider: Calendar Provider:日历提供者,就是针对针对日历相关事件的一个资源库,通过他提供的API,我们 可以对日历,时间,会议,提醒等内容做一些增删改查! Co原创 2016-07-04 15:20:40 · 4193 阅读 · 0 评论 -
实际开发中dp , px ,pt , sp 的使用
(一)使用说明 暂时就这么多,后面遇到其他用途再进行补充吧~~原创 2016-06-18 14:20:34 · 807 阅读 · 0 评论 -
UI控件之显示文本控件TextView(上)
(一)概述 TextView主要是在android中实现文字说明等功能。 (二)常用基本属性 No.1 TextView控件自带属性的使用 运行效果: 实现代码:<?xml version="1.0" encoding="utf-8"?><RelativeL原创 2016-06-18 16:56:11 · 4290 阅读 · 0 评论 -
通信组件之Intent的复杂数据的传递
(一)概述 上一节中我们学习了Intent的一些基本使用,知道了Intent的七个属性,显式Intent以及 隐式Intent,以及如何自定义隐式Intent,最后还给大家提供了一些常用的系统Intent! 而本节跟大家讲解的是Intent传递数据的问题~好的,开始本节内容~ (二)Intent传递数据 1.Intent传递简单数据还记得我们在Activity那里学过如何在两个Activity原创 2016-07-04 17:38:02 · 3307 阅读 · 0 评论 -
UI碎片控件之Fragment基本概述
(一)概述我们把Android的四大组件 Activity,Service,BroadCastReceiver,ContentProvider 以及他们之间的纽带:Intent,都撸了一遍,而本章节给大家带来的是一个Fragment(碎片)的东西,本节我们就来介绍这个Fragment的一些基本概念以及用法!(二)Fragment 1.基本概念 1)它是什么,有什么用?答:Fragment是And原创 2016-07-04 18:44:25 · 3116 阅读 · 0 评论 -
UI碎片控件之Fragment——底部导航栏的实现(方法1)
(一)概述 在上一节中我们对Fragment进行了一个初步的了解,学习了概念,生命周期,Fragment管理与 Fragment事务,以及动态与静态加载Fragment。从本节开始我们会讲解一些Fragment在实际开发 中的一些实例!而本节给大家讲解的是底部导航栏的实现!而基本的底部导航栏方法有很多种, 比如全用TextView做,或者用RadioButton,又或者使用TabLayout +原创 2016-07-04 18:59:17 · 3808 阅读 · 0 评论 -
Android四大组件之BroadcastReceiver(上)
(一)概述 本节我们学习Android四大组件中的第三个:BroadcastReceiver(广播接收者);(二)BroadcastReceiver 1.BroadcastReceiver是什么?答:Broadcast直译广播,我们举个形象的例子来帮我理解下BroadcastReceiver,记得以前读书 的时候,每个班级都会有一个挂在墙上的大喇叭,用来广播一些通知,比如,开学要去搬书,广播:原创 2016-07-04 11:19:35 · 651 阅读 · 0 评论 -
Android四大组件之Service精通
(一)概述 本节,我们继续来研究Service(服务)组件,本节将会学习下Android中的AIDL跨进程通信的一些 概念,并不深入到源码层次,暂时知道是什么,会用即可!(二)Service精通 1.Binder机制初涉 1)IBinder和Binder是什么鬼?我们来看看官方文档的中文翻译: IBinder是远程对象的基本接口,是饿了高性能而设计的轻量级远程调用机制的核心部分。但他原创 2016-07-04 10:22:41 · 3049 阅读 · 0 评论 -
事件处理机制之Gestures(手势)
(一)概述 手势是:连续触碰的行为,比如左右上下滑动屏幕,又或者画一些不规则的几何图形! Android对上述两种手势行为都提供了支持:Android提供手势检测,并为手势识别提供了相应的监听器!Android运行开发者自行添加手势,并且提供了相应的API识别用户手势!如果你的手机是Android 4.x的原生Android系统的话,你可能可以在你的手机或者平板上看到谷歌 提供的一个Gest原创 2016-07-03 12:30:32 · 4657 阅读 · 0 评论 -
Android四大组件之 Activity(上)
(一)概述 本节开始讲解Android的四大组件之一的Activity(活动); 官方文档: Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口, 而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方!从上面这段话,我们可以得到以下信息:原创 2016-07-03 15:56:16 · 3483 阅读 · 0 评论 -
Android四大组件之Activity(中)
(一)概述 上一节中我们对Activity一些基本的概念进行了了解,什么是Activity,Activity的生命周期,如何去启动一个Activity等,本节我们继续来学习Activity,前面也讲了一个App一般都是又多个Activity构成的,这就涉及到了多个Activity间数据传递的问题了,那么本节继续学习Activity的使用!另外关于传递集合,对象,数组,Bitmap的我们会在Inte原创 2016-07-03 16:49:39 · 641 阅读 · 0 评论 -
Android四大组件之 Activity(下)
(一)概述 (二)Activity1.Activity,Window与View的关系下面是自己查阅资料,看了下一点源码的归纳所得,如果哪写错了欢迎指出!下面贴下小结图: 流程解析: Activity调用startActivity后最后会调用attach方法,然后在PolicyManager实现一个Ipolicy接口,接着实现一个Policy对象,接着调用makenewwindo原创 2016-07-03 17:17:34 · 3334 阅读 · 0 评论 -
Android四大组件之Service初涉
(一)概述 好的,我们在前三节中对Android中的Activity进行了研究学习,相信大家获益良多吧! 本节开始我们继续来学习Android中的第二个组件:Service(服务), 好,废话不多说,开始本节内容!(二)Service 1.线程的相关概念在开始学习Service之前我们先来了解下线程的一些概念!1)相关概念: 程序:为了完成特定任务,用某种语言编写的一组指令集合(一组静态原创 2016-07-03 21:42:42 · 3113 阅读 · 0 评论 -
Android四大组件之Service进阶
(一)概述 上节我们学习了Service的生命周期,以及两种启动Service的两种方法, 本节继续来深入了解Service中的IntentService,Service的使用实例: 前台服务与轮询的实现!(二)Service 1.IntentService的使用在上一节后我们已经知道了如何去定义和启动Service,但是如果我们直接把 耗时线程放到Service中的onStart()方法中,虽原创 2016-07-03 21:58:20 · 3347 阅读 · 0 评论 -
相对布局RelativeLayout的那些事儿
(一)概述 LinearLayout的weight(权重)属性,等比例划分屏幕空间,对解决屏幕适配的问题还是很重要的,可是当你需要构建比较复杂的UI时会产生大量的嵌套,就像前面的计算器UI一样,会减低UI Render(渲染速度)的效率,而如果是listview或者GridView上的item效率会更低,另外嵌套多层LinearLayout会占用大量的系统资源,还有可能引发系统s原创 2016-06-17 18:13:26 · 4435 阅读 · 0 评论 -
网格布局GridLayout的那些事儿
(一)概述 GridLayout是在Android 4.0以后引入的一个新的布局,和TableLayout(表格布局)有点类似,不过它比后者更加强大,也更加好用; 1)可以自己设置布局中组件的排列方式 2)可以自定义网格布局有多少行,多少列 3)可以直接设置组件位于某行某列 4)可以设置组件横跨几行或者几列(二原创 2016-06-18 00:09:42 · 8536 阅读 · 0 评论 -
UI碎片控件之Fragment——底部导航栏的实现(方法2)
(一)概述 上一节中我们使用LinearLayout + TextView实现了底部导航栏的效果,每次点击我们都要重置 所有TextView的状态,然后选中点击的TextView,有点麻烦是吧,接下来我们用另一种方法: RadioGroup + RadioButton来实现我们上一节的效果!本节用到的是实现单选效果的RadioButton,如果你不熟悉,或者没用过,可先移步到:RadioBu原创 2016-07-05 16:15:06 · 1078 阅读 · 0 评论 -
UI控件之编辑文本控件EditText
(一)概述 EditText是除了TextView控件之外的属性,还可以实现输入文本内容。 (二)实际开发中的应用N0.1 —–设置默认提示文本 常用的用户登录界面相信大家都很熟悉吧,就像这样: 默认提示文本的俩个属性,如下: hint用于设置默认提示的文本,textColorHint用于设置提示文本的颜色;No.2 —-获得焦点后全选组件内所有文本内容原创 2016-06-19 17:55:13 · 1149 阅读 · 0 评论 -
UI控件之显示图像控件ImageView(上)
(一)概述 ImageView主要是用来显示图片的控件,可以对图片进行放大、缩小和旋转的功能。 (二)ImageView中src和BackGround属性的区别 No.1 ——使用程序测试src与background属性的区别:<?xml version="1.0" encoding="utf-8"?><Linear原创 2016-06-20 17:39:03 · 3625 阅读 · 0 评论 -
UI控件之RadioButton(单选按钮)&Checkbox(复选按钮)
(一)概述: (二)RadioButton的基本用法与事件处理: 效果图: 实现代码: xml文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa原创 2016-06-21 10:30:34 · 6619 阅读 · 0 评论 -
UI控件之显示图像控件ImageView(下)
(一)绘制最简单的圆形ImageView RoundedImageView CircleImageView运行效果: 实现代码:自定义ImageView代码:package com.example.android_drawable_xml;import android.content.Context;import android.graphics.Bitma原创 2016-06-20 20:53:57 · 4008 阅读 · 0 评论 -
UI控件之ToggleButton(开关按钮)和Switch(开关)
(一)概述 本节给大家介绍ToggleButton(开关按钮)和Switch(开关),因为比较简单就合在一起说了。其实,二者都是开关控件,只是后者需要在Android4.0以后才可以使用,所以AndroidManifest.xml文件中的minsdk需要>=14否则会报错~,先来看看这俩个控件长什么样, 5.0的版本: (二)ToggleButton(开关按钮) 核心原创 2016-06-21 18:06:56 · 2477 阅读 · 0 评论 -
UI控件之ProgressBar(进度条)
(一)概述 (二)常用属性与基础实例 从官方的API我们可以看到这样一个类的关系图: 常用属性详解 : 对应在java我们可以调用下述方法: 先看看系统给我们提供的进度条吧 运行效果如下: 实现代码: xml文件<LinearLayout xmlns:android="http://schemas.android.com/apk原创 2016-06-21 21:55:42 · 8124 阅读 · 1 评论 -
UI控件之SeekBar(拖动条)
(一)概述 SeekBar ,我们先来看看SeekBar的类结构: (二)SeekBar的基本用法 运行结果: xml文件:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools原创 2016-06-22 17:10:45 · 913 阅读 · 0 评论 -
UI控件之RatingBar(星级评分条)
(一)概述 单,相信你在某宝买完东西后评论的时候,肯定熟悉吧; 先来看看官方的类的结构图吧 (二)RatingBar的基本使用 运行结果: 实现代码: xml文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"原创 2016-06-22 21:41:12 · 2215 阅读 · 0 评论 -
Android绘图那些事儿(上)
(一)概述 虽然,已经学过了Android绘图的内容,但是总是觉得很模糊,今天就好好梳理下思路吧!纯粹就是一个读书笔记,整理下自己以前不知道的内容,好了开始:(本节主要介绍一些Drawable的常用方法及其xml定义,如果你已经很熟悉了,就跳过吧)(二)Android屏幕适配问题 Android屏幕适配和兼容,一直都是非常头疼的问题,如何才能在不同的屏幕尺寸的手机上图片效果显示不失真!现原创 2016-07-19 10:20:28 · 2704 阅读 · 0 评论 -
网络编程之HttpClient
(一)概述 在上一节中我们对HttpURLConnection进行了学习,本节到第二种方式:HttpClient,尽管被Google 弃用了,但是我们我们平时也可以拿HttpClient来抓下包,配合Jsoup解析网页效果更佳!HttpClient 用于接收/发送Http请求/响应,但不缓存服务器响应,不执行HTML页面潜入的JS代码,不会对页面内容 进行任何解析处理;(二)Http网络请求之Ht原创 2016-07-06 15:02:00 · 765 阅读 · 0 评论 -
网络编程之HttpURLConnection
(一)概述 前面两节我们学习的都是一些概念性的东西,Http的协议以及协议头的一些东东,而本节我们 就要堆码了,而本节学习的是Android为我们提供的Http请求方式之一:HttpURLConnection, 除了这种,还有一种还有一种HttpClient,后者我们会下一节讲!不过前者一旦请求复杂起来,使用起来 非常麻烦,而后者我们Java抓包也经常会用到,是Apache的,毕竟不是谷歌亲儿子,原创 2016-07-06 14:55:51 · 1853 阅读 · 0 评论 -
SQLite数据库(上)
(一)概述 本节我们继续来学习Android数据存储与访问的第三种方式:SQLite数据库,和其他的SQL数据库不同, 我们并不需要在手机上另外安装一个数据库软件,Android系统已经集成了这个数据库,我们无需像 使用其他数据库软件(Oracle,MSSQL,MySql等)又要安装,然后完成相关配置,又要改端口之类的! (二)SQLite数据库 1.基本概念 1)SQLite是什么?为什么原创 2016-07-05 17:32:03 · 2630 阅读 · 0 评论 -
数据类操作之文件存储跟读写
(一)概述 本节给大家介绍的是Android数据存储与 访问方式中的一个——文件存储与读写,当然除了这种方式外,我们可以存到SharedPreference,数据库, 或者Application中;(二)文件存储跟读写 1.Android文件的操作模式 学过Java的同学都知道,我们新建文件,然后就可以写入数据了,但是Android却不一样,因为Android是 基于Linux的,我们在读写文原创 2016-07-05 16:45:41 · 2424 阅读 · 0 评论 -
数据类操作之SharedPreferences(保存用户偏好参数)
(一)概述 本节给大家介绍的是第二种存储用户数据的方式,使用SharedPreferences(保存用户偏好参数)保存数据, 当我们的应用想要保存用户的一些偏好参数,比如是否自动登陆,是否记住账号密码,是否在Wifi下才能 联网等相关信息,如果使用数据库的话,显得有点大材小用了!我们把上面这些配置信息称为用户的偏好 设置,就是用户偏好的设置,而这些配置信息通常是保存在特定的文件中!比如window原创 2016-07-05 17:08:52 · 2592 阅读 · 0 评论 -
SQLite数据库(下)
(一)概述 学习完上一节,关于Android中的SQLite的基本操作,你就已经掌握了,而在本节我们将会学习 一些稍微高级一点的东西,数据库事务,怎么将大二进制数据存储到数据库中,以及版本升级时 数据库如何处理!(二)又见SQLite数据库 1.SQLite事务 简单点说就是:写在事务里的所有数据库操作都成功,事务提交,否则,事务回滚,就是回到前面 的状态——未执行数据库操作的时候!另外,原创 2016-07-05 17:53:30 · 1000 阅读 · 0 评论 -
UI碎片控件之Fragment——底部导航栏的实现(方法3)
(一)概述 前面我们已经跟大家讲解了实现底部导航栏的两种方案,但是这两种方案只适合普通的情况,如果 是像新浪微博那样的,想在底部导航栏上的item带有一个红色的小点,然后加上一个消息数目这样, 前面两种方案就显得无力了,我们来看看别人的APP是怎么做的,打开手机的开发者选项,勾选里面的: 显示布局边界,然后打开我们参考的那个App,可以看到底部导航栏是这样的: 们就可以看出,这种底部导航栏不原创 2016-07-05 18:02:16 · 877 阅读 · 0 评论 -
网络编程概述及Http协议
(一)概述 本节开始我们来学习Android网络编程相关的一些东西:Android端网络编程要干嘛?Http协议 的学习,使用自带扣脚Json解析类解析Json,XML解析的几种常用方式,HttpUrlConnection和 HttpClient的使用,文件的上传,下载;WebService的使用,WebView,Socket通信的使用等! 最低要求是: 能够掌握获取与解析服务器反馈的数据的能原创 2016-07-05 20:56:59 · 5494 阅读 · 0 评论 -
UI控件之Button(按钮)和ImageButton(图像按钮)
(一)概述 Button普通按钮跟ImageButton图像按钮的用法基本类似,至于图片相关的则和后面的ImageView相同,所以本节只对Button的用法进行讲解,另外Button是TextView的子类,所以TextView的很多属性也可以用到Button上, (二)StateListDrawable简介 松实现,按下按钮时不同的按钮和颜色背景!我们可以设置的属性:No.1 —原创 2016-06-19 22:07:43 · 21226 阅读 · 0 评论 -
UI控件之ScrollView(滚动条)
(一)概述 ScrollView控件只是支持垂直滚动,而且在ScrollView中只能包含一个控件,通常是在< ScrollView >标签中定义了一个<LinearLayout>标签并且在<LinearLayout>标签中android:orientation属性值设置为vertical,然后在<LinearLayout>标签中放置多个控件,如果<LinearLayout>标签中的控件所占用的总原创 2016-06-23 12:01:56 · 1152 阅读 · 0 评论 -
事件处理机制之响应系统设置的事件(Configuration类)
(一)概述 本节给大家介绍的Configuration类是用来描述手机设备的配置信息的,比如屏幕方向, 触摸屏的触摸方式等,相信定制过ROM的朋友都应该知道我们可以在: frameworks/base/core/java/android/content/res/Configuration.java 找到这个类,然后改下相关设置,比如调整默认字体的大小!有兴趣可自行了解! 本节讲解的Con原创 2016-07-03 11:34:21 · 973 阅读 · 0 评论