![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 66
攀岩嘉
这个作者很懒,什么都没留下…
展开
-
ObjectBox
objectBoxAPI译文查询操作原创 2019-03-25 17:05:56 · 463 阅读 · 0 评论 -
Android五大存储
Android存储五大方式:1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 4 使用ContentProvider存储数据5 网络存储在Android中,可供选择的存储方式有SharedPreferences、文件存储、SQLite数据库方式、内容提供器(Content provider)和网络。一.SharedPr...原创 2018-07-30 14:48:54 · 404 阅读 · 0 评论 -
Android六大布局
Android六大界面布局方式:六大界面布局方式包括: 线性布局(LinearLayout)、框架布局(FrameLayout)、表格布局(TableLayout)、相对布局(RelativeLayout)、绝对布局(AbsoluteLayout)和网格布局(GridLayout) 。 声明Android程序布局有两种方式:1) 使用XML文件描述界面布局;...原创 2018-07-30 14:42:38 · 408 阅读 · 1 评论 -
Android四大组件
Android四大组件Activity、Service、Content Provider、Broadcast Receiver。一、android四大组件详解1、activity(1)一个Activity通常就是一个单独的屏幕(窗口)。(2)Activity之间通过Intent进行通信。(3)android应用中每一个Activity都必须要在AndroidMa...原创 2018-07-30 14:41:24 · 230 阅读 · 0 评论 -
Android最实用的各种技能点的网址链接
Android最实用的各种技能点的网址链接原创 2018-07-30 14:39:23 · 138 阅读 · 0 评论 -
Android MVP插件 自动生成MVP框架
对于MVP,其实是非常适合在Android项目中使用的架构,如果你目前还不清楚MVP的架构究竟是什么样子,那么可以参考Google给出的示例: https://github.com/googlesamples/android-architecture 如果当前这个MVPPlugin不能满足你的需求(很多时候,会根据自身对MVP结构做调整),你可以自己查看插件的写法,做一些符合你所使用的规则上的调整...原创 2018-07-14 10:40:10 · 3781 阅读 · 0 评论 -
Android每隔一段时间就重复执行指定代码
public class MainActivity extends AppCompatActivity { private Handler handler ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...原创 2018-07-06 09:03:09 · 4339 阅读 · 0 评论 -
【BottomBar】Android炫酷的底部切换
github地址:BottomBar 基本使用效果图app:bb_behavior="underNavbar" 效果 (默认) app:bb_behavior="shifting" * Step1:gradle*dependencies { ... compile 'com.roughike:bottom-bar:2.0.2' ...}Ste...原创 2018-07-17 20:26:49 · 1372 阅读 · 0 评论 -
Android 简单购物车
主要逻辑代码:public class CaetAdapter extends BaseAdapter { private Context context; private List<HashMap<String, String>> list; private HashMap<String, Integer> pit...原创 2018-06-28 19:41:08 · 4897 阅读 · 6 评论 -
Android Butterknife(黄油刀) 使用方法总结
前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。是大神JakeWharton的力作,目前使用很广。最重要的一点,使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目...转载 2018-06-27 11:22:24 · 504 阅读 · 0 评论 -
Android MVP架构搭建
目录引言为什么用MVP架构MVP理论知识乞丐版MVP架构模式的代码实现MVP中的代码复用场景平民版MVP架构 - base层顶级父类Fragment怎么办时尚版MVP架构 - Model层的单独优化引言记得第一次接触MVP开发是上大学的时候,当时看了数十篇关于MVP的文章,这里不得不吐槽一下国内技术帖子的质量真是参次不齐啊。看完之后一直懵懵懂懂的,总觉有几处关键的地方没搞清但是文章中却一带而过了,...转载 2018-06-26 10:02:10 · 201 阅读 · 0 评论 -
Android的一些面试题
Activity面试题 Fragment面试题 Service面试题 Broadcast Receiver面试题 WebView面试题 Binder面试题 Handler面试题 AsyncTask面试题 HandlerThread面试题 IntentService面试题 视图工作机制面试题 事件分发机制面试题 ListView面试题 Android项目构建面试题 ANR...原创 2018-07-31 15:04:15 · 324 阅读 · 0 评论 -
Activity生命周期
首先要知道的是,Android使用Task来管理活动,一个Task就是一组存放在栈里的活动的集合,这个栈被称作返回栈(Back Stack)。从数据结构的知识我们可以知道,栈是一种后进先出的数据结构,在默认情况(Activity有四种启动模式,请详情点击)下,当我们启动一个新的Activity,它会在返回栈中入栈并处于栈顶的位置。当我们按下Back键或者调用finish()方法去销毁一个活动时...原创 2018-07-31 15:20:04 · 192 阅读 · 0 评论 -
Fragment的生命周期
Fragment的生命周期还是先上官方文档图:从上述图示可以看到Fragment与Activity的生命周期极其相似,我们先看一下只存在于Fragment中的几个方法:onAttach方法:顾名思义,是Fragment和Activity建立关联的时候调用。onCreateView方法:为Fragment加载布局时调用。onActivityCreated方法:当Activity中...原创 2018-08-29 20:04:37 · 831 阅读 · 0 评论 -
Charles抓包工具(下载、破解)
Charles工具官网Charles破解包下载地址参考地址原创 2018-12-26 16:38:00 · 2451 阅读 · 0 评论 -
Android 多图上传
https://github.com/donkingliang/ImageSelector原创 2018-10-26 14:32:14 · 512 阅读 · 0 评论 -
Android Studio Git的使用-基于GitLab
1.Android Studio集成GitAndroidStudio集成Git,Git官网下载Git,并进行安装。安装完成后,AndroidStudio中,FileàSettings,打开Settings。如下图,点击红色框区域,选择本地Git安装路径下的git.exe。选择完成后,可以点击Test,进行测试。测试结果如下图,则证明Git可用。2.GitLab账户增...原创 2018-09-29 13:36:29 · 470 阅读 · 0 评论 -
XBanner轮播图
-------------------------------------------------------GitHub网址-------------------------------------------原创 2018-10-07 19:04:58 · 379 阅读 · 0 评论 -
优雅地处理加载中(loading),重试(retry)和无数据(empty)等
LoadSir是一个高效易用,低碳环保,扩展性良好的加载反馈页管理框架,在加载网络或其他数据时候,根据需求切换状态页面,可添加自定义状态页面,如加载中,加载失败,无数据,网络超时,占位图,登录失效等常用页面。可配合网络加载框架,结合返回状态码,错误码,数据进行状态页自动切换,封装使用效果更佳。LoadSir现在版本已经升级至1.3.6,相关内容请参考Github最新说明Github传送门本文...转载 2018-09-20 10:09:09 · 1188 阅读 · 0 评论 -
StringBuffer的用法
1、StringBuffer对象的初始化StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。例如:StringBuffer s = new StringBuffer();这样初始化出的StringBuffer对象是一个空的对象,就是我犯的错误。如果需要创建带有内容的StringBuffer对象,...原创 2018-09-20 10:07:06 · 162 阅读 · 0 评论 -
Android开发第三方登录--微信登录
QQ登录、微信登录,新浪微博登录资料获取demo下载 http://download.csdn.net/detail/pkandroid/9903796github地址 进入 https://github.com/HYVincent/Login项目有需求,需要使用微信登录,QQ登录看这里 Android端要使用微信登录,必须在微信开发平台创建APP并且审核通过...转载 2018-09-14 20:47:13 · 7836 阅读 · 5 评论 -
Android版本更新知识(检测、升级)总结
Android版本更新知识(检测、升级)总结 本文对Android版本更新的知识做全面的总结,主要包括开发中版本的设置,如何检测本程序的版本,版本的更新判断和显示,新版本程序的安装。一.版本的基础知识 版本控制的属性包括versionCode和versionName。(一)versionCode 版本号(versionCode)是相对...转载 2018-09-13 18:41:18 · 1847 阅读 · 0 评论 -
IJKPlayer播放视频
运行效果配套视频:http://toutiao.com/item/6431719005085499906/使用步骤1. 在project的build.gradle添加如下代码(如下图) allprojects { repositories { ... maven { url "https://jitpa...转载 2018-09-16 21:00:49 · 498 阅读 · 0 评论 -
Android底部导航 BottomNavigationBar(Google官方)
简介Android之前一直没有官方的底部导航栏,自己实现也是各有招数,不过不久前,Google官方在自己推出的Material design中增加了BottomNavigationBar这个底部导航。效果图:底部导航1.png基本使用1、添加依赖compile 'com.ashokvarma.android:bottom-navigation-bar:1.4.1'...原创 2018-09-02 20:39:08 · 1067 阅读 · 0 评论 -
GreenDao3.2.2简单使用
关于GreenDaogreenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概念可以看官网greenDAOgreenDAO 优势1、一个精简的库2、性能最大化3、内存开销最小化4、易于使用的 APIs5、对 Android 进行高度优化GreenDao 3.2.2使用GreenDao 3.2.2采用注解的方式来定义实体...原创 2018-06-23 15:36:14 · 686 阅读 · 0 评论 -
给 Android 开发者的 RxJava 详解
前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有人说『RxJava 真是太好用了』,有人说『RxJava 真是太难用了』,另外更多的人表示:我真的百度了也谷歌了,但我还是想问: RxJav...转载 2018-06-15 14:17:52 · 189 阅读 · 0 评论 -
EventBus使用详解
前言EventBus是一种用于Android的发布/订阅事件总线。它有很多优点:简化应用组件间的通信;解耦事件的发送者和接收者;避免复杂和容易出错的依赖和生命周期的问题;很快,专门为高性能优化过等等。基础知识EventBus使用了发布者/订阅者模式。发布者通过EventBus发布事件,订阅者通过EventBus订阅事件。当发布者发布事件时,订阅该事件的订阅者的事件处理方法将被调用。使用详解本文将按...转载 2018-06-15 14:14:01 · 194 阅读 · 0 评论 -
Android studio 安装配置方法图文教程
这篇文章主要为大家详细介绍了Android studio 3.0安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下本文为大家分享了Android studio安装与配置,具体内容如下1、首先下载Android studio安装包,可以从http://www.android-studio.org/,下载最新版本,这里采用3.0版本进行演示,对应安装包为andr原创 2018-03-07 21:36:01 · 312 阅读 · 0 评论 -
Android缓存中的四种类型
a.强引用 ---什么是强引用?在某个函数中创建了一个对象,那该对象存储在堆空间,能过这个对象的引用才能对这个对象进行操作(实例化对象的变量)实例化的变量是分配在栈空间中,这就是强引用---强引用的特点?直接访问目录对象强引用所指向的对象在任何时候都不会被系统回收,jvm宁愿抛出oom异常,也不会回收强引用所指向的对象强引用可能会导致内存泄露b.软引用---转载 2017-12-05 09:03:10 · 134 阅读 · 0 评论 -
开源项目PullToRefresh详解(四)——PullToRefreshListView和ViewPager的结合使用
其实这个不是什么新东西了,在介绍(一)中我们就知道了PullToRefreshListView的用法,这里只要将其放入到ViewPager中就行啦。ViewPager还是和以往一样的定义和使用,在适配器中存视图的时候放入PullToRefreshListView就行。1.ViewPager的布局文件activity_main.xmlxml version="1.0" e转载 2017-12-13 11:15:49 · 201 阅读 · 0 评论 -
开源项目PullToRefresh详解(三)——PullToRefreshScrollView
和前几篇文章一样,这里还是先设置布局文件,然后找到这个控件。只不过这里要简单很多。1.布局文件xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_par转载 2017-12-13 11:14:59 · 634 阅读 · 0 评论 -
开源项目PullToRefresh详解(一)——PullToRefreshListView
开源项地址:https://github.com/chrisbanes/Android-PullToRefresh下拉刷新这个功能我们都比较常见了,今天介绍的就是这个功能的实现。我将按照这个开源库的范例来一点一点介绍,今天是介绍比较常见的PullToRefreshListView,是让listView有下拉刷新功能。1.下载项目包,将library包导入即可,其他的包暂时不用转载 2017-12-13 11:07:10 · 180 阅读 · 0 评论 -
开源项目PullToRefresh详解(二)——PullToRefreshGridView
这里介绍的是PullToRefreshGridView的使用方法,和之前的PullToRefreshListView方法如出一辙,因为这个开源项目模块化很棒,所以很容易实现。等于说我们可以按照之前使用控件的方式来操作,不用考虑其他的问题。思路:1.写布局文件,放入可以下拉刷新的控件2.找到下拉刷新的控件,设置监听器,并且在刷新方法中开启一个异步任务来操作3.通过这个转载 2017-12-13 11:11:59 · 205 阅读 · 0 评论 -
判断wifi状态
public static boolean isConn(Context context){ //得到网络判断的系统服务 ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); //得到网络信息类 Netwo原创 2017-11-06 18:17:40 · 410 阅读 · 0 评论 -
TabLayout
1.什么是TabLayout在源码中给出了TabLayout的定义:TabLayout provides a horizontal layout to display tabs.意思很明显:TabLayout提供了一个水平的布局用来展示Tabs。Design库:AS有直接的引用,如果是Eclipse这里提供一个通道-Design库特别说明:转载 2017-12-11 21:19:15 · 268 阅读 · 0 评论 -
Android ListView 异步加载图片错位的问题
//预设一张图片vh.img.setImageResource(R.mipmap.ic_launcher);//List集合中的图片地址 调取图片地址final String picUrl = list.get(position).getPicUrl();if(picUrl!=null){ //给控件设置一个tag值,tag值具有唯一性 vh.img.setTag(picU原创 2017-11-06 18:30:35 · 181 阅读 · 0 评论 -
Activity四种启动模式
Activity启动方式有四种,分别是:standardsingleTopsingleTasksingleInstance可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activity等问题。设置Activity的启动模式,只需要在AndroidManifest.xml里对应的<activity>标签设置android:launch...原创 2017-12-02 09:03:11 · 256 阅读 · 0 评论 -
Android Studio 自定义皮肤主题和背景
Android Studio自定义皮肤主题-ColorThemes寒假期间有人问我, “你代码这是用的什么字体? 看着好舒服”,其实这是用了自定义皮肤主题包,主题包下载网站http://color-themes.com/?view=index这个皮肤主题不仅可以在Android Studio上使用,也可以在WebStorm,PyCharm,RubyMine,PhpStorm转载 2018-04-11 19:33:34 · 1444 阅读 · 0 评论 -
Android Studio Genymotion模拟器
Genymotion虚拟机可以模拟Galaxy、SAMSUNG、SONY、HTC等主流手机,运行速度快,是现在广受欢迎的虚拟机。Genymotion依赖 VirtualBox 加载手机虚拟机。1. 安装 VirtualBox从 https://www.virtualbox.org/wiki/Downloads下载 VirtualBox ,再安装,过程从略。2. 安装 Genymot原创 2018-05-09 13:13:57 · 317 阅读 · 0 评论 -
Android Studio使用Git最详细的文章
使用Git已经有一段时间了,但是之前都是使用Git Bash,在Android Studio上使用Git一开始不是很习惯,就像用惯了SVN来使用Git一样,琢磨了一段时间的Android Studio,也看了我觉得为数不多但是很有质量的介绍AS的书籍 《Android Studio实战 快速、高效地构建Android应用》,强烈安利大家哦!所以就写了这篇文章跟大家一起学习如何在Androi转载 2018-05-09 17:05:05 · 240 阅读 · 0 评论