
Android
Afanbaby
想做就没有做不到的事
展开
-
上拉刷新,下拉加载
今天做项目中,用到了上拉刷新与下拉加载,所以在网上找了一下,个人感觉还是使用PullToRefresh简单多了PullToRefresh是一套实现非常好的下拉刷新库,它支持:1.ListView、2.ExpandableListView、3.GridView、4.WebView等,效果也不错! 下面我们需要下载一个Android-PullToRefresh-master的压缩文件夹,将其解压后,需原创 2016-05-25 23:43:52 · 1058 阅读 · 0 评论 -
Android中的diglog对话框
Dialog 对话框在Android是一种极为常见的交互方式,常在需要较弹出重要的信息的提示,或需要用户进行简单交互的时候使用Android中的对话框形式大致可分为五种:分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,自定义对话框。现在几乎所有的手机的应用都有对话框,主要用于选择或是退出,系统也为我们封装了对话框,但本人认为系统自带的比较难看,所有都用自定义的对话框。原创 2016-04-24 11:34:39 · 2182 阅读 · 0 评论 -
Xml解析网络数据
现在都应该使用最新的框架进行解析网络数据,很少有人会使用xml解析,因为xml解析不仅麻烦,又浪费时间,但是以前比较老的项目大多都是使用xml解析的,所以说xml解析我们也需要学会,XML解析: startDocument 从文件开始:此方法中一般做一些准备工作,例如创建集合对象存储解析结果,与endDocument对应startElement 从元素开始:此方法中进入xml数据开始解析,一般处理原创 2016-06-23 22:22:50 · 1105 阅读 · 0 评论 -
数据库的各种语句
– 创建数据库create table *(id integer primary key autoincrement,* text, real, integer)– 基本查询select * from pet– 列出指定的列select name, owner form pet– 直接进行算术运算,对字段起别名select sin(1+2) as sin–where 条件select * fr原创 2016-06-23 22:36:29 · 732 阅读 · 0 评论 -
Android多线程与线程池
一、进程与线程的区别:进程:是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程线程:是程序执行中的一个执行路径即进程的一个执行流程(子任务)多线程:是指程序中包含多条执行路径即在一个进程中可同时执行两个或两个以上的线程大多数程序只有一条执行路线,但现实世界中很多过程都是同时发生的,对于这种情况,可编写有多条执行路径的程序,使程序可以同时执行多个任务原创 2016-04-23 23:31:14 · 1110 阅读 · 0 评论 -
高德地图获取开发所需要的key
在我们的现实生活中,地图是不或缺的,所以很多的地图app就产生了,在我看来最好的地图软件就是高德地图,精度准,快速,高效。所以我们在开发手机应用的时候,首先选择高德地图的API,这样快速开发,不仅简单更高效, 首先我们需要去高德官网注册一个账号,然后创建一个应用,点击创建,然后,点击添加key,这里我们可以看见需要SHA1发布版的安全码,现在我们就需要获取到这个值,首先创建一个普通的工程,来获取k原创 2016-06-27 22:32:24 · 9413 阅读 · 0 评论 -
网络图片的二级缓存
在我们的印象中,大多数APP如果不是第一次进入,且没有链接到网络的情况下,里面的图片还是会显示的,这就是我们所说的缓存,那他们是如何做的呢?他们在一般都是在用户第一次进入的时候,将图片进行缓存,之后,当用户断开网络链接后,还是会看到图片,使用户体验更好! 现在我们来写一个缓存,一般都是新建一个包来存储这些缓存的类,如下, 首先是内存缓存:/** * Created by anfeng on原创 2016-06-13 22:47:25 · 719 阅读 · 0 评论 -
OKHttp的简单使用
OKHttp是现在比较流行的网络请求框架之一,所以今天我们就来简单介绍一下, 但是想要使用OKHttp,需要添加依赖, 因为是网络请求,所有一定不要忘记在清单文件中添加网络权限,避免不必要的麻烦, 一、利用OKHttp来完成同步的get请求,// 利用OkHttp完成同步get请求public class MainActivity extends AppCompatActivity {//原创 2016-06-13 23:10:30 · 675 阅读 · 0 评论 -
利用Drawable生成圆形图片
大多数的app的用户登陆后,会显示用户的头像等信息,而用户的头像大多都是圆形的,所以我们想到用Drawable来生成我们需要的圆形图片,用Drawable来生成圆形图片的方法很简单. 下面让我们来看一下是如何来生成的吧,首先我们需要新建一个类来继承Drawable.public class MyDrawable extends Drawable { private Paint paint;/原创 2016-06-12 22:29:15 · 3285 阅读 · 0 评论 -
Android中 怎么获取apk中的素材图片
当我们在个人开发中,看到一款app,就想看看自己是不是也有能力开发出一模一样的app,但是开发技术没有问题,只是图片素材的问题,素材太多,又不能一张一张的在网上找,即使找到了,还有出现格式、像素等问题,so,问题出现了,怎么办呢? 今天该大家介绍一个小技巧,能快速获取的apk中的素材信息, 首先,将你想要模仿的app下载下来然后右键,重命名,重命名,将apk改为zip,会弹出一修改的对话框,点击原创 2016-07-01 21:50:06 · 5930 阅读 · 0 评论 -
EventBus
EventBus是Android中用来传递消息的,可以使用在activity之间,fragment之间,activity与fragment的之间传递,以及线程之间传递等,其优点就是代码少,并且减小了代码之间耦合性。 然后让我来看一下到底怎么使用EventBus吧,首先想要使用EventBus,必须要添加依赖。 当添加好依赖后,我们就可以使用EventBus了,让我们感受它的强大吧。原创 2016-05-22 22:28:16 · 642 阅读 · 0 评论 -
自定义架包,并使用
相信有很多人和我一样,很是好奇jar包,jar包是使用很简单,当然我们也可以自定义一个jar包, 下面我们就开始介绍,首先新建一个普通的工程, 然后在自己的工程中添加Module,然后,选择 Android Library ,点击完成,就可以在工程中看到我们在自定义的jar包中写了一个activity的基类,如下在这个路径下,找到classes.jar这个文件将其复制到桌面上,还可以将名字改原创 2016-06-17 22:19:17 · 810 阅读 · 0 评论 -
LiteOrm的简单使用
首先去网上下载jar包,(https://github.com/litesuits/android-lite-orm),然后解压,复制最新的jar包,然后构建一下,是那个蓝色向下的小箭头,创建一个数据类,提供get、set方法,构造方法(以类来创建表)使用就可以了,但是有个缺点,不支持内部类,还可以使用基本注解以上是对LiteOrm简单使用作的介绍,更多的请查看上面给的网址,本人菜鸟一个,有什么不对原创 2016-06-21 22:14:41 · 3727 阅读 · 0 评论 -
利用FastJson来解析网络数据
FastJson:阿里巴巴 主要特点: 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum) 零依赖(没有依赖其它任何类库除了JDK) java语言最快的json库fastjson发布1.1.32版本,这个版本增加了stream api,支持处理超原创 2016-06-21 23:01:53 · 1108 阅读 · 0 评论 -
Android Studio添加.So文件
以 环信 为例: 去环信的官网,在官方文档中,下载最新的sdk,解压后, 方法1. 将其复制,然后在build.gradle中添加这样一段代码,sourceSets { main { jniLibs.srcDirs = ['libs'] } }然后构建一下既可以了,方法2: 首先将jar包复制,并导入复制到libs中,再将其他的原创 2016-06-21 22:45:43 · 543 阅读 · 0 评论 -
SQLite数据库
数据库介绍: 数据库指的是以一定方式储存在起、能为多个用户共享、具 有尽可能小的冗余度、与应用程序彼此独立的数据集合。 简单 来说可视为电子化的文件柜——存储电子文件的处所,用户可 以对文件中的数据运行新增、截取、更新、删除等操作 数据库分类: 关系型数据库(主流)、对象型数据库、层次式数据库常用关系型数据库 PC端:Oracle、MySQL、SQL Server、Access、DB2、Sy原创 2016-07-31 09:55:39 · 828 阅读 · 0 评论 -
listview显示数据倒叙
想让listview显示数据倒叙,直接使用Collections有 Collections.reverse(Listpublic class MainActivity extends AppCompatActivity { private ListView listView; private List<String> beans; private MainAdapter mai原创 2016-07-31 10:02:50 · 3810 阅读 · 0 评论 -
Android中怎么去掉手机的状态栏、标题栏
去掉手机的状态栏:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);去掉手机的标题栏:一共有三种办法 ①requestWindowFeature(Window.FEATURE_NO_TITLE); 一定要写在setContentVi原创 2016-07-31 10:09:59 · 7675 阅读 · 0 评论 -
Android中Snackbar的使用
一、相对比Toast来说,Snackbar的使用更为实用灵活, Snackbar是design support library中另一个组件,使用Snackbar我们可以在屏幕底部(大多时候)快速弹出消息,它和Toast非常相似,但是它更灵活一些。 二、特性: 1.与用户交互一段时间后,自动消失 2.可以自定义action(可选的操作) 3.swiping it off the screen原创 2016-07-31 10:17:06 · 1214 阅读 · 0 评论 -
Android中隐藏ActionBar的方法
1.在style.xml文件中,加入<item name="windowActionBar">false</item><item name="windowNoTitle">true</item>2.新建一个<style>标签,将上面两行代码加入,并且将这个新建的标签作为<application>的theme,然后使用这个主题3.AppTheme的parent设置为Theme.AppCompat.L原创 2016-07-31 10:20:12 · 602 阅读 · 0 评论 -
compareTo方法
compareTo(): java.lang.String.compareTo() 方法比较两个字符串的字典。比较是基于字符串中的每个字符的Unicode值。此String对象表示的字符序列的参数字符串表示的字符序列进行比较字典.1.其结果是负的整数,如果此String对象字典前面的参数字符串 2.其结果是一个正整数,如果此String对象字典如下的参数字符串 3.结果是零,如果两个字符串相等原创 2016-07-31 10:26:31 · 852 阅读 · 0 评论 -
Android中ContentProvider的简单使用
内容提供器是应用程序之间共享数据的接口,Android系统将这种机制应用到方方面面。 使用ContentProvider的好处就是不需要考虑数据内部是怎么存储的,比如说如果我们想利用ContenProvider来存数据,只需告诉insert函数该ContentProvider的uri和想存入的数据(包括列名和数值),查询时也是一样,只需输入Uri和查询的表,列名和查询条件,至于ContentPro原创 2016-07-31 10:29:23 · 677 阅读 · 0 评论 -
Android中Toolbar的使用
今天介绍的toolbar是为了取代过去的actionbar的,在material design中有一个统一的名字就是app bar,是Android5.0出现的,推出兼容版的 Toolbar 。为此,我们需要在工程中引入 appcompat-v7 的兼容包,使用 android.support.v7.widget.Toolbar 进行开发。我们来翻译一下Toolbar的官方文档:android.su原创 2016-07-31 10:36:28 · 1271 阅读 · 1 评论 -
Android中CoordinatorLayout(协调布局)的使用
CoordinatorLayout 实现了多种Material Design中提到的滚动效果, 使用CoordinatorLayout需要在Gradle加入Support Design Library:compile 'com.android.support:design:22.2.1'一、Coordonatorlayout与Snackbar:package com.example.mac.coo原创 2016-07-31 10:46:47 · 10273 阅读 · 0 评论 -
Android Studio代码大小写提示
使用Android Studio 来写程序是非常方便的一件事,但是让我们蛋疼的一件事就是代码提示,当有的关键字想不起来,但是还能记住单词中的几个字母,这时就会很闹心,我们的Android Studio早就为我们准备好了,只需要设置一下就OK啦!Case sensitive completion中有三个选项: 1.all:也就是说,没有任何代码提示,你必须把整个单词所有的字母拼写正确,当然对我这种屌原创 2016-07-31 11:03:47 · 1243 阅读 · 0 评论 -
Android中利用StickyListHeaders实现listView的悬浮头
使用StickyListHeaders第三方框架可以轻松的实现listView添加headers,这个功能有点类似于手机的通信录。效果还是挺好的,使用起来也非常简单。首先看一下效果图,因为使用的是第三方的框架,所以需要添加依赖,MainActivity中:package com.example.mac.stickylistheadersdemo;import android.os.Bundle;原创 2016-08-16 16:08:13 · 4428 阅读 · 0 评论 -
Android中listView联动效果
最近看见listView联动的效果,感觉好不错,就打算写一个,其实也很简单,无非就是一个布局中两个listView,左边的点击事件右边的做出响应,右边的滑动事件左边做出反应。大致思路就是这样,现在让我们开始吧!首先看一下效果图吧:MainActivity中:package com.example.mac.listviewgangeddemo;import android.os.Bundle;imp原创 2016-08-28 11:11:15 · 1255 阅读 · 0 评论 -
Android中GridView的使用
一、相对于listView与recycleView来说,gridView有相对的优势,gridView根据数据类的数量来生成多少个,如果有一天数据的数量发生了改变,gridView会自动去适应。而这一点listView与recycleView是决定做不到的。二、官方文档:GridView extends AbsListView A view that shows items in two-di原创 2016-08-28 11:36:36 · 858 阅读 · 0 评论 -
Android中getChildAt()方法介绍
getChildAt: 官方文档:public View getChildAt (int index)Returns the view at the specified position in the group.Parameters index: the position at which to get the view from returns: the view at the spe原创 2016-08-28 18:27:50 · 24999 阅读 · 2 评论 -
Android中引导页
大多数手机都会有引导页,是用户更快的了解这款应用是做什么的,下面我们来简单的使用一下。MainActivity中:package com.example.mac.welocomedemo;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.o原创 2016-08-07 09:33:36 · 1013 阅读 · 0 评论 -
Android中利用banner实现轮播图的效果
最近在写轮播图,发现了一个很简单的轮播图控件,所以今天就简单使用了一下。使用的时候需要添加依赖:compile 'com.youth.banner:banner:+'MainActivity中:import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;im原创 2016-08-07 09:39:17 · 8205 阅读 · 1 评论 -
Android中EditText的错误消息显示
EditText的错误消息显示,可以在EditText的下方弹出一个Popupwindow,有很好的用户体验, 先看一下效果图:下面我们为大家介绍一下有三种方式设置:MainActivity中:package com.example.mac.seterrordemo;import android.graphics.drawable.Drawable;import android.os.Bundl原创 2016-08-28 18:23:32 · 3029 阅读 · 0 评论 -
Android动画(二):帧动画
帧动画,原理是在“连续的关键帧”中分解动画动作,也就是在时间轴的每帧上逐帧绘制不同的内容,使其连续播放而成动画。因为每一帧的内容都不一样,增加了负荷,输出的文件量也大。 优点:灵活,变现细腻。 缺点:增加了负荷。首先在网上随便找到一张GIF图片,下载下来,然后打开后,如下将每一张图片都拖拽到桌面上,然后重命名,在拷贝到工程中的res下得mipmap下。在drawable下创建drawable r原创 2016-08-08 08:54:09 · 1342 阅读 · 0 评论 -
Android Studio怎么删除module
当我们引入错误的model的时候,我们就不得不考虑怎么讲这个错误的model删除,其实也是很简单的,首先,右键这个错误的model,点击Open Model Settings然后点击上面的” - ” 符号。会弹出一个对话框,问你是不是要移除掉这个model,当然选择的是” yes ” ,最后点击OK 就可以了!就可以吧这个model给删除了。本人菜鸟一个,有什么不对的地方希望大家指出评论,大神勿喷,原创 2016-08-28 11:28:51 · 1539 阅读 · 0 评论 -
Android中View的事件执行机制
Android中View的事件构成: 在Android中,事件主要包括点按、长按、拖拽、滑动等,点按又包括单击和双击,另外还包括单指操作和多指操作。所有这些都构成了Android中的事件响应。总的来说,所谓的事件即MotionEvent,MotionEvent继承于InputEvent,用于标记各种动作事件。,最重要的有3个: (1)MotionEvent.ACTION_DOWN 按下View原创 2016-09-12 09:52:08 · 730 阅读 · 0 评论 -
Android中imageView中的属性ScaleType用来显示图片的几种方式
`在Android中图片的显示方式对我们开发者来说尤为重要,为什么这么说呢,因为我们开发者不仅不保证项目的质量问题,更要考虑到用户的体验效果,放眼看去,现在主流的APP哪个不是深得人心。所以想做到这些,就必须让图片显示的合理, 下面看一下灭没有任何属性的效果图,MainActivity的布局文件:<?xml version="1.0" encoding="utf-8"?><RelativeLay原创 2016-09-12 10:24:22 · 1364 阅读 · 0 评论 -
Android中的LinearLayout(线性布局)设置背景图片
今天又有一个需求,就是在线性布局中添加一张图片,并且这张图片不能是拉伸的,想了一下,如果是直接给LinearLayout添加背景图片的时候,若图片的大小小于背景的大小,图片肯定会被拉伸的,所以这个方案肯定是不行,因此,想到了另一个实现方式,就是最外边使用FrameLayout,利用FrameLayout的特点,所有放在FrameLayout中的布局都会重叠放置,所以我们先放置一个iamgeview,原创 2016-09-12 10:48:16 · 23962 阅读 · 2 评论 -
Android Studio的DDMS中不能查看data文件夹
当创建好数据库后,想查看一下数据库是否生成成功,结果发现DDMS中不能查看data文件夹,如图,双击无法展开/data/目录。上面显示rwxrwx–x。 发现/data的文件权限是drwxrwx–x这是linux的文件权限 第一个代表文件类型d是directory目录 后面三个是创建者的权限r读w写x执行 再后面三个是同组者的权限 最后三个是其他人的权限 我们从DDMS查看的时候就是原创 2016-09-04 09:56:17 · 8359 阅读 · 2 评论 -
Android中利用jxl组件来操作excel
1.支持Excel 95-2000的所有版本,生成Excel 2000标准格式,支持字体、数字、日期操作,能够修饰单元格属性,支持图像和图表, 最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。但是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。看一下效果图,2.首先你需要有一个jxl.jar,在网上下载jxl原创 2016-09-12 16:43:47 · 5580 阅读 · 5 评论 -
Android动画(三):属性动画
一、View动画存在问题:就是动画移动后,点击动画的结束为止不会触发点击事件,当点击动画的起始位置,会触发点击事件。 而属性动画就不会,属性动画使用动画的效果得到了加强,不仅可以完全实现View动画的效果,更能实现更炫的效果。 属性动画是API11才有的,若想兼容以前的版本,可以使用开源的动画库nineoldandroids。二、想要使用属性动画必须有两个条件: 1.第一个有参数的对象,友谊第原创 2016-08-10 16:56:33 · 1116 阅读 · 0 评论