![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 之旅
文章平均质量分 62
吴威龙
停更一年了,这一年发生了很多事,后续有空再分享给大家
展开
-
【2017 Google IO】Android 开发者关心的都在这!
背景 美国时间 5月 17 日,Google 举办了成立以来一年一度的开发者大会,我更觉得是“产品发布会”。各种炫酷科技,好玩的产品以及走在世界前沿的新技术。 今年的 Google I/0 2017 也不例外,除了一些高科技比如:Google Home、Google Lens 外,最令程序员关心的无非就是新一代的 Android 系统。 去年 I/O 大会带来的是原创 2017-05-20 12:59:51 · 1767 阅读 · 0 评论 -
【Android 基础】使用getActionBar()报空指针异常的解决方法
首先贴上一篇总结的很好的博文:解决方法(大家可以根据这个先排查下可能的问题)我的异常比较奇葩,根据上面的方法步骤排查之后还是不行,后来就把getActionBar()修改成getSupportActionBar()居然就行了。暂时还不知道究竟是因为什么原因,大概是一些**版本问题吧,后续将补充这个疑惑,知道本问题的朋友欢迎一切探讨下。...基于安卓抽屉开发的小案例的监听开关抽屉原创 2016-06-12 19:56:02 · 1434 阅读 · 0 评论 -
【Android 基础】Google新推出的Android布局控件FlexboxLayout
最近Google开源了一个项目叫「FlexboxLayout」什么是Flexbox?简单来说 Flexbox 是属于web前端领域CSS的一种布局方案,是2009年W3C提出了一种新的布局方案,可以简便、完整、响应式地实现各种页面布局,并且 React Native 也是使用的 Flex 布局。你可以简单的理解为 Flexbox 是CSS领域类似 Linearlay转载 2016-05-16 13:13:27 · 1229 阅读 · 0 评论 -
【Android 基础】如何查看数字签名信息
本文主要是记录下一些实用的方法直接用打包出来的apk查看签名,具体如下: 1) 将apk修改后缀为 .zip文件后解压; 2) 进入解压后的META-INF目录,该目录下会存在文件CERT.RSA 3) 在该目录下打开cmd,输入命令 :keytool -printcert -file CERT.RSA 这里将会显示出MD5和SHA1签名。原创 2016-05-11 19:04:48 · 4865 阅读 · 0 评论 -
【Android 基础】android导入工程出现红色感叹号
可能的原因:项目中用到的jar包在你本地的目录中找不到,比如:项目中用到net相关的jar包,原来存放这个包的目录是D:\jar,而你导入项目后,他就会去找这个目录,结果你本地目录没有找到,所以报错,你试试以下方法:项目,右键-->build path--->configure build path ,选择 libraries ,记住报错的jar包,然后删除(remove),再添加你本地的转载 2016-06-05 19:55:59 · 503 阅读 · 0 评论 -
【Android 基础】解决系统5.0以上闪退问题
飞行器地面站项目中要研究droidplanner的源码,其中报了这个错: Caused by: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.playuav.android.lib.model.IDroidPlannerServices }原创 2016-09-07 12:15:36 · 2448 阅读 · 0 评论 -
【Android 基础】listview加载性能优化之ViewHolder大法
今天学习了慕课网的《android-异步加载》教学视频 根据该视频谢了个异步加载网络资源的小demo.其中分别用到了多线程、AsyncTask实现异步加载的功能。里面还包括了: json解析、网络请求、LruCache缓存、滚动优化等实用技能。demo下载链接:http://download.csdn.net/detail/leaf_130/9615258 (实在没资源积分的原创 2016-08-28 20:03:47 · 597 阅读 · 0 评论 -
【Android 基础】adb问题以及解决方法集合(不断补充)
中秋节前我的ADB完全没有问题,中秋一过完回来,打开AS,EC想跑跑程序,那个ADB居然就有情绪了 EC的报错如下: AS的报错如下: 就这样纠结了半天(当然这半天有“百度”一些资料) 最后在系统环境变量那设置了下: 重启笔记本就可以了。 命令行新技能: netstat -ano|findstr "5037"原创 2016-09-17 21:25:19 · 1895 阅读 · 0 评论 -
【Android 基础】利用主题Theme自定义Activity切换动画
先介绍一般常见的设置Activity切换动画的方法:需求:当向左滑动Activity的时候,下一个Activity从右边进来在res下新建anim文件夹,然后在里面建立base_slide_remain.xml以及base_slide_right_in.xmlbase_slide_remain.xml<?xml version="1.0" encoding="utf-8"?><set>原创 2016-10-09 19:02:37 · 2286 阅读 · 0 评论 -
【Android 基础】反编译工具介绍-【Jadx 大法好】
前段时间笔记本机械硬盘寿终...加上本人还太会用git进行版本备份,个人开发的一个小软件弄好后也没及时进行源代码备份,所以就等于是丢失了该项目...(重新构建也是可以的,但是你们都知道,这样费时伤神呐..)直到我看到有人推荐jadx.这是一款可视化反编译软件(特么就是傻瓜式点击即可得到源码)百度云分享下:点击打开链接使用方式:解压后->bin->jadx.gui(批处理文件)原创 2016-07-17 07:33:21 · 656 阅读 · 0 评论 -
【Android 基础】SnackBar详解
Snackbar是Android Support Design Library库支持的一个控件首先,得在build.gradle文件中添加如下:compile 'com.android.support:design:22.2.0'笔者在学习使用该控件的时候也查阅很多相关的文章。但是遇到了如下问题: 查看我的compileSdkVersion 果然,和提示描述的一致,所以我们得改成如下:原创 2016-10-12 22:01:58 · 508 阅读 · 0 评论 -
【Android 进阶】Android优秀框架
根据上图我们依次说明:1,DiskLruCache硬盘缓存最佳方案(Google提供的一套硬盘缓存的解决方案:DiskLruCache(非Google官方编写,但获得官方认证)) DiskLruCache 最佳解析2,Universal Image LoaderUIL aims to provide a powerful, flexible and highly customizable inst转载 2016-10-11 08:51:36 · 805 阅读 · 0 评论 -
【Android 基础】自定义ImageView
本文主要参考网上的代码略微改写而成MainActivity.javapackage com.example.administrator.myapplication;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.support.v7.app.AppCompatAc原创 2016-04-30 19:40:42 · 542 阅读 · 0 评论 -
【Android 基础】ArrayAdapter适配器与数组资源文件
本文分别使用适配器和不使用适配器来分别达到一样的功能一:使用适配器(方法一)布局文件: <ListView android:id="@+id/list_test" android:layout_width="wrap_content" android:layout_height="wrap_content" >原创 2016-05-02 17:25:43 · 1676 阅读 · 0 评论 -
【Android 基础】SimpleAdapter的简单使用
首先贴上相关API翻译如下:context 当前视图所关联的且正在使用的适配器所处的上下文对象data 现在想要使用该适配器做出下面的效果:废话不多说,直接贴出代码: setContentView(R.layout.activity_main);所加载的布局文件: <ListView android:i原创 2016-05-02 20:13:55 · 8462 阅读 · 1 评论 -
【Android 进阶:翻译】Get Started With Firebase for Android
原文链接移动应用程序为了实现一些业务是需要一个后端服务器的,比如用户身份验证和同步用户数据跨多个设备。然而,创建这样一个服务器需要有这样的技能,并且大多数独立应用程序开发者欠缺这样的技能。幸运的是,现今有几个后端服务平台,通常被称为BaaS可以供我们使用。谷歌的Firebase就是这样的一个平台。Firebase 提供了必要的服务例如数据分析,崩溃以及异常报告,用户身份验证和云短信,这都是翻译 2016-10-20 18:37:29 · 1639 阅读 · 0 评论 -
【Android 基础】Android热门网络框架使用详解-Volley
Volley简介volley的英文意思为‘群发’、‘迸发’。Volley是2013年谷歌官方发布的一款Android平台上的网络通信库。Volley非常适合一些数据量不大,但需要频繁通信的网络操作。使用Volley进行网络开发可以使我们的开发效率得到很大的提升,而且性能的稳定性也比较高。但是Volley不适用于文件的上传下载操作。Volley的特点:>1 使网络通信更快,更转载 2016-08-26 17:02:24 · 653 阅读 · 0 评论 -
【Android 基础】通过handler传递序列化后的对象实体
今天调试一个开源项目,在主线程那里有一个注册事件,我打算用分线程实现这个后台注册事件。故使用了handler把序列化的对象实体传递出来再调用。----但是这里记录下这个修改过程##点击事件里面的部分代码:##Handler处理代码段上述的UserInfoTwo类是实现了parcelable接口的。ps:此开源项目我还没调通,上面的对象实体的传递是原创 2016-06-06 21:48:43 · 3069 阅读 · 0 评论 -
【Android 进阶】Activity 、Fragment 和 Presenter 的高层封装
就项目中的封装简单介绍下如何封装 Activity、Fragment、Presenter.原创 2017-05-30 22:42:33 · 2640 阅读 · 0 评论 -
【Android 进阶】Dagger 封装与实战演练
前言介绍分包自定义 Application定义 APP 级别的 AppModule定义全局 AppComponent定义 Http 的 Module其中 ApiService 如下实际代码中使用 apiservice 对象子 ComponentRecommendComponent自定义的 scopeRemcomendModuleBaseFragment实际 View 中使用原创 2017-05-30 22:37:33 · 1079 阅读 · 0 评论 -
【Android 基础】图片加载框架之Picasso利器
简介Picasso是Square公司出品的一个强大的图片下载和缓存图片库 1)在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。 2)使用复杂的图片压缩转换来尽可能的减少内存消耗 3)自带内存和硬盘二级缓存功能下载地址https://github.com/square/picasso使用准备导入jar包或在mod原创 2017-01-06 15:14:41 · 1188 阅读 · 0 评论 -
【Android 进阶】Dagger2 系列:入门案例一
欢迎关注我的微信公众号,不只是原创技术分享,更多的是生活的思考和总结。介绍 A fast dependency injector for Android and Java. 一个在 Android 和 Java 平台上使用的快速的依赖注入框架。 类似 java 开发中的 spring 框架,但使用难度比 spring 大一点点。 依赖注入框架主要用于模块间解耦,提高代码的健壮性原创 2017-05-09 22:40:55 · 2494 阅读 · 3 评论 -
【Android 进阶】淘宝头条:向上滚动广告条ViewFlipper
所谓前人栽树,后人乘凉,在此感谢博主的贡献。 参考博文: 仿淘宝首页的淘宝头条View垂直滚动我在博主的基础上做了如下工作:修复了滚动条第二条点击事件无法触发这个bug;充分简化了自定义ViewFlipper类的代码;添加了直接使用ViewFlipper控件实现同样效果;先上效果图: 这里使用了一个比较少用的控件:ViewFlipper 学习一个未知的东西,第一步就是要搞懂wh原创 2017-02-21 09:39:21 · 923 阅读 · 0 评论 -
【Android 进阶】Retrofit2 目前最优雅的网络请求框架
身为Geek的我们,面对不断更新换代的技术是不是有点感到迷茫呢?其实只要掌握正确的学习方法,新的技术也就不畏惧了。 福利来了 推荐一位大牛【人称:面哥】呕心沥血的一篇经验分享: 程序员之路-学习经验总结分享 正是面哥的鞭策,我决定开始看英文的技术文档,学习新技术也是直接看官网的技术文档,本篇文章就是我在Retrofit2的官网看完英文文档Retrofit之后写的翻译版本。希望对英文不是很好的原创 2017-02-19 16:47:39 · 9045 阅读 · 2 评论 -
【Android 进阶】图片加载框架之Glide
简介 在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是 bumptech。这个库被广泛的运用在 google 的开源项目中,包括 2014 年 google I/O 大会上发布的官方 app。特点 (1)使用简单 (2)可配置度高,自适应程度高 (3)支持常见图片格式 : Jpg png gif webp (4)支持多种数据源: 网原创 2017-02-03 15:16:39 · 2503 阅读 · 1 评论 -
【Android 进阶】ORM 框架之 greenDAO学习笔记
前言 当初学习Hibernate的时候就非常惊叹这种ORM思想,后来才知道原来Android中也有这种基于ORM思想的开源框架greenDAO。greenDAO简介: 简单的讲,greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。(greenDAO is a light & fast ORM solution that maps objects t原创 2017-02-22 22:01:14 · 995 阅读 · 0 评论 -
【Android 进阶】SVG 的使用以及绘制动画
前言:SVG格式图片很多优点,但是android程序员关心的优点无非如下: SVG较G I F、JPEG的优势 首先简要解释一下矢量图像格式和位图图像格式的区别。矢量图像用点和线来描述物体,所以文件会比较小,同时也能提供高清晰的画面,适合于直接打印或输出。而位图图像的存储单位是图像上每一点的像素值,因此一般的图像文件都很大,会占用大量的网络带宽。SVG是一种矢量图形格式,GIF、JPE原创 2017-02-03 16:53:01 · 6400 阅读 · 4 评论 -
【Android 进阶】MVP 实战演练之深入浅出
Android 中使用 MVP 实战原创 2017-05-21 12:28:43 · 1181 阅读 · 2 评论 -
【Android 进阶】ButterKnife+Retrofit+Picasso+RecycleView 实现一个小案例
前言 几个月前写了篇使用 RecyclerView 的简单介绍:【Android 基础】RecyclerView 概述以及使用步骤 现在结合 ButterKnife+Retrofit+Picasso+RecycleView 实现一个小案例。 关于 Retrofit、Picasso、ButterKnife 的详细使用请看我之前写的文章 【Android 进阶】Retrof原创 2017-05-14 12:44:16 · 1048 阅读 · 0 评论 -
【Android 基础】Android开发第一步:搭建环境
搭建环境这一步一般都是自己摸索弄好的,但是自己摸索有时候就会遇到这样或那样的问题,这时候也许就需要一个稍微有点经验的开发者贡献下搭建策略或“捷径”。现在安利三个连接: 1.开发环境搭建 2.使用Eclipse + ADT + SDK开发Android APP 3.使用Android Studio开发Android APP上面3个教程都很好,但是我这里提供一个亲测完美的配置方案(64原创 2016-10-04 08:51:35 · 463 阅读 · 0 评论 -
【Android 进阶】Iconfont 图标的使用以及自定义
Iconfont 图标的使用原创 2017-05-12 14:24:02 · 4984 阅读 · 2 评论 -
【Gradle 系列文章:你真的了解 Gradle 吗】一:Gradle 入门
本文为菜鸟窝作者 吴威龙 的连载Gradle 是什么Gradle 学习方式以及资料一个 Android 项目中的文件结构AS 而非 Eclipse常用的 gradle 文件介绍module app 里面的 buildgradlegradle 文件夹distributionUrl另外四个属性 当然不了解也没关系各项属性的整体含义项目全局的 buildgradlegradlepr原创 2017-04-04 16:54:54 · 2797 阅读 · 0 评论 -
【Android 进阶】EventBus---超级方便的工具
EventBus是什么?有什么用处?EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。开源地址https://github.com/greenro原创 2017-01-08 21:17:12 · 576 阅读 · 0 评论 -
【Android 基础】APP更新方法浅析
没深入学习app更新这块的时候,觉得app更新有点神秘! 正是这种神秘感,迫使我去探究下:究竟app更新是怎么实现的呢!! 废话不多说,先上效果图! 如果有新版本,自动提示: 点击更新,通知栏显示下载进度: 下载安装好后,再去 设置 那点击 检查更新,将会有相应提示: 任何开发都离不开思路: 1.获取当前APK的版本 2.去服务器上获取最 新的版本原创 2016-11-28 17:02:53 · 770 阅读 · 1 评论 -
【Android 基础】多渠道打包小结之应用的打包签名
学习android也有一段时间了,现在趁着假期总结下一些重要的知识点。应用的打包签名打包:打包就是根据签名和其他标识生成安装包。 签名: 1.在android应用文件(apk)中保存的一个特别字符串 2.用来标识不同的应用开发者:开发者A,开发者B 3.一个应用开发者开发的多款应用使用同一个签名 就好比是一个人写文章,签名就相当于作者的署名。 如果两个应用都是一个开发者开发的,那么原创 2017-01-04 09:49:28 · 1144 阅读 · 0 评论 -
【Android 进阶】友盟的多渠道打包方式
总结友盟的多渠道打包方式之前,先总结下多渠道打包的概念。多渠道打包1.什么是多渠道包? 渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、360市场、应用宝市场等2.为什么要提供多渠道包? 我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计(这就是添加渠道信息的用处)。3.实现多渠道打包的原理: 一般来讲,这个原创 2017-01-04 11:07:03 · 1115 阅读 · 2 评论 -
MVC 框架模式(学习笔记)
简介:MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。模型-视图-控制器(MVC)是Xerox PARC在二十世纪八十年代为编程语言Smalltalk-80发明的一种软件设计模原创 2016-10-13 15:42:29 · 4330 阅读 · 1 评论 -
Unable to resolve host : No address associated with hostname
第一次学习使用Volley框架,想用框架的一些便捷请求方式返回一个String类型的手机归属地信息。 请求的 url 如:String url = "https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=13420186955";没法返回正确的手机归属地信息:网友总结了如下经验: 一般形如:Unable转载 2016-08-26 16:38:53 · 12461 阅读 · 1 评论 -
Attribute is missing the Android namespace prefix 错误小结
在写xml文件时,常遇到这样的一个这样的错误:Attribute is missing the Android namespace prefix,出现这样的错误的原因主要由以下几种:1、属性定义时,命名前缀错误,这里的命名前缀错误又分为丢失前缀、前缀书写错误(1)前缀丢失,比如定义一个TextVIew的属性时,android:id=,如果没有写android,便会报错这样错误,但是转载 2016-08-26 15:56:02 · 1228 阅读 · 0 评论 -
You cannot combine custom titles with other title feature
自定义标题栏的代码报这个错:“You cannot combine custom titles with other title feature”。解决方法1:在AndroidManifest.xml文件中将主题改为android:theme="@style/android:Theme.Light" > 亲测:成功,但是总体样式和之前的不一样(特么变丑了...)解转载 2016-08-08 12:40:45 · 480 阅读 · 0 评论