android
自由职业者-毛豆豆
移动互联网专家
展开
-
5个Android开发中比较常见的内存泄漏问题及解决办法
在Android开发中,内存泄漏是比较常见的问题,有过一些Android编程经历的童鞋应该都遇到过,但为什么会出现内存泄漏呢?内存泄漏又有什么影响呢?在Android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内存泄漏就产生了。内存泄漏有什么影响呢?它是转载 2016-04-21 13:31:07 · 966 阅读 · 0 评论 -
Android Webview 使用小结
采用重载URL的方式实现Java与Js交互在Android中,常用的Java与Js交互的实现方式是通过函数addJavascriptInterface进行添加在Js中使用的回调代理类。这种方法虽然方便,但是写出来的js代码并不通用。如果IOS也要实现类似的功能或业务,则IOS要另外写一套Js代码。所以不太推荐。推荐使用重载URL的方式来实现,因为基本转载 2015-10-12 22:35:28 · 270 阅读 · 0 评论 -
Android UI设计:ListView 控件与 Adapter 适配器
ListViewListView是最常用,使用最多的控件,首先我们来看一下ListView是怎样显示数据的。在布局文件中添加ListView控件:android:id="@+id/listview_array"android:layout_width="match_parent"android:layout_h转载 2015-10-12 22:41:51 · 334 阅读 · 0 评论 -
Android UI 设计:ListView控件和ArrayAdapter适配器(二)
ArrayAdapterArrayAdapter是Android中自己定义好的一种适配器,将数据添加到自己定义的View中。他自己定义的View中只有一个TextView。我们可以拿他的一个示例来看:android.R.layout.simple_expandable_list_item_1, array:<?xml versio转载 2015-10-12 22:44:09 · 316 阅读 · 0 评论 -
Android手势密码实现方案
前段时间因产品需求,做了一个手势密码,跟支付宝的手势密码类似,这里跟大家分享交流一下我实现的方式吧。这篇来分享一下绘制手势密码的实现(主要是设置手势密码、校验手势密码):一、大致界面介绍:图1图2图3图4图1:手势密码绘制界面 【主要是绘制上方的9个提示图标和9个宫格密码图标】图2:设置手势密码 【监听转载 2015-10-26 17:48:40 · 454 阅读 · 0 评论 -
Android实现带动画的下拉刷新RecyclerView
不废话,先看效果,嗯…看起来有点卡,截图软件的问题:图中普通列表是ListView样式,没有设置Header和Footer时使用默认的下拉刷新和上拉加载。而宫格列表和瀑布流列表使用的是自定义Header和Footer的下拉刷新和上拉上拉加载。用法:Gradle:dependencies { compile 'com.sch.rfview:AnimRefr转载 2015-10-26 13:34:00 · 504 阅读 · 0 评论 -
Android中Activity启动过程探究
首先追溯到Activity的启动,随便启动一个自己写的demo项目,使用DDMS进行debug标记,然后在Debug中把主线程暂停,可以看到调用栈。如下图所示:于是我们先看android.app.ActivityThread的main()方法。android.app.ActivityThread.main()main()方法中对一个Looper对象进行初始化,形成一转载 2015-10-09 16:46:29 · 914 阅读 · 0 评论 -
7款Android开发者常用的Android UI组件
本文由码农网原创整理,转载请看清文末的转载要求,谢谢合作!Android开发是目前最热门的移动开发技术之一,随着开发者的不断努力和Android社区的进步,Android开发技术已经日趋成熟,当然,在Android开源社区中也涌现了很多不错的开源UI项目,它们可以帮助Android开发者更方便快捷地完成想要的功能。本文是Android系列的第一篇,主要是向大家推荐一些常用的Android转载 2015-10-08 16:53:32 · 644 阅读 · 0 评论 -
Android 支付宝支付功能封装实现
在做Android支付的时候肯定会用到支付宝支付, 根据官方给出的demo做起来非常费劲,所以我们需要一次简单的封装。封装的代码也很简单,就是将官网给的demo提取出一个类来方便使用。/** * 支付宝支付 * * @author lenovo */public class Alipay { // 商户PID public static final String PARTN转载 2015-10-08 18:19:05 · 301 阅读 · 0 评论 -
Android UI 设计:ListView 控件与 SimpleAdapter 适配器
SimpleAdapterSimpleAdapter也是Android自己提供的一个Adapter适配器,它与ArrayAdapter不同的是ArrayAdapter需要使用Android自己定义的view布局文件,而SimpleAdapter则可以使用我们自己定义的布局文件。要学习SimpleAdapter的使用首先然我们看一下SimpleAdapter的构造器:转载 2015-10-13 23:25:03 · 353 阅读 · 0 评论 -
零基础用react-native开发android app
这篇博客旨在帮没有任何android或者ios开发经验的开发者体验一把当下热门的react-native。由于我之前也没有native app的开发经验,所以这篇文章中引用了很多我学习过程中碰到的简短有用的资料,方便大家少走些弯路。我的开源项目托管在github。react-native介绍直接去官网看,不用挂vpn。总而言之,这货就是用写web的方式去写原生应用。布局用css,代码用...转载 2015-10-29 16:16:30 · 1184 阅读 · 0 评论 -
Android 实现平滑滚动的歌词控件
下面开始进入主题。1、首先我们来看看如何使用,控件的使用很简单,可以在xml中配置使用:<org.loader.liteplayer.ui.LrcView xmlns:lrc="http://schemas.android.com/apk/res/org.loader.liteplayer" android:id="@+id/play_first_lrc_2转载 2015-11-20 09:51:21 · 2548 阅读 · 1 评论 -
Android学习资源网站大全
Android学习资源网站大全整理了一些Android的博客链接、学习资源网站。站在巨人的肩膀上,会看得更远。整理这一份资源也方便更多的Android开发者能享受到技术分享的力量。首先,在这里要感谢所有开源项目的作者,感谢Trinea,CodeKK,张明云,胡凯等等大大无私的技术分享。(要感谢的人太多在这就不一一点名了,感谢你们)。一、值得关注的大牛博客CodeKK ——转载 2016-03-15 15:56:20 · 910 阅读 · 0 评论 -
Android:新手必备的常用代码片段整理(二)
以下内容来自多个开源项目的整理和自己的项目积累1.收集设备信息,用于信息统计分析public static Properties collectDeviceInfo(Context context) { Properties mDeviceCrashInfo = new Properties(); try { PackageMan转载 2015-12-22 10:13:10 · 428 阅读 · 0 评论 -
Android:新手必备的常用代码片段整理(一)
以下内容来自多个开源项目的整理和自己的项目积累。拨打电话public static void call(Context context, String phoneNumber) { context.startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber))); }转载 2015-12-22 10:09:42 · 441 阅读 · 0 评论 -
10个Android开源个性化View控件
在本文中,小编整理了10个Android开源项目中不错的个性化View控件,相信有你喜欢的。一起来Enjoy吧!1.SlideAndDragListView支持ListView的Item的拖动排序、左右滑动事件,可自定义左右滑动显示文字、图标、位移,同时支持onItemClick、onItemLongClick等监听器,提供丰富的回调接口。项目地址:https://github转载 2015-12-22 10:06:23 · 443 阅读 · 0 评论 -
Android使用Fragment打造万能页面切换框架(
首先我们来回忆一下传统用Activity进行的页面切换,activity之间切换,首先需要新建intent对象,给该对象设置一些必须的参数,然后调用startActivity方法进行页面跳转。如果需要activity返回结果,则调用startActivityForResult方法,在onActivityResult方法中获得返回结果。此外,每一个要展示的activity需要在AndroidMani...转载 2016-01-06 09:53:19 · 1227 阅读 · 0 评论 -
关于Android中工作者线程的思考
在Android中,我们或多或少使用了工作者线程,比如Thread,AsyncTask,HandlerThread,甚至是自己创建的线程池,使用工作者线程我们可以将耗时的操作从主线程中移走。然而在Android系统中为什么存在工作者线程呢,常用的工作者线程有哪些不易察觉的问题呢,关于工作者线程有哪些优化的方面呢,本文将一一解答这些问题。工作者线程的存在原因因为Android转载 2015-12-18 13:43:16 · 678 阅读 · 0 评论 -
Android数据存储实现的5大方式
数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,更加系统详细的介绍了5种存储的方法和异同。第一种: 使用SharedPreferences存储数据SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstanceState保转载 2015-11-27 15:45:15 · 532 阅读 · 0 评论 -
高质量 Android 开发框架 LoonAndroid 详解
整个框架式不同于androidannotations,Roboguice等ioc框架,这是一个类似spring的实现方式。在整应用的生命周期中找到切入点,然后对activity的生命周期进行拦截,然后插入自己的功能。框架的说明如果你想看ui方面的东西,这里没有,想要看牛逼的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。整个框转载 2015-10-15 17:47:50 · 621 阅读 · 0 评论 -
Android 平滑图片加载和缓存库 Glide 使用详解
在图片加载库烂大街的今天,选择一个适合自己使用的图片加载库已经成为了每一个Android开发者的必经之路。现在市面上知名的图片加载库有UIL,Picasso,Volley ImageLoader,Fresco以及我们今天的主角Glide。它们各有千秋,不能评定谁一定比谁好,只能说哪一个更适合你。我的理解下面我来谈一下个人对这些图片加载库的理解,如有错误,还望指教。Universal I...转载 2015-10-08 17:31:00 · 4699 阅读 · 1 评论 -
Android性能优化之内存篇
Google近期在Udacity上发布了Android性能优化的在线课程,分别从渲染,运算与内存,电量几个方面介绍了如何去优化性能,这些课程是Google之前在Youtube上发布的Android性能优化典范专题课程的细化与补充。下面是内存篇章的学习笔记,部分内容与前面的性能优化典范有重合,欢迎大家一起学习交流!1)Memory, GC, and Performance众所转载 2015-09-18 22:18:12 · 262 阅读 · 0 评论 -
Android UI 设计(11):ListView 控件使用优化(五)
在上一篇博客中《Android UI设计——ListView控件和自定义Adapter(四)》中我们通过一个实例来了解和练习了如何去自定义Adapter,本节我们将会继续以《Android UI设计——ListView控件和自定义Adapter(四) 》中的例子来学习ListView在使用中是如何优化的,如果本节看着吃力的话,建议先查看上篇哦……convertView优化转载 2015-10-21 14:42:46 · 562 阅读 · 0 评论 -
Android Dialog的7种形式实现方式
在Android开发中,我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择。这些功能我们叫它Android Dialog对话框,在我们使用Android的过程中,我归纳了一下,Android Dialog的类型无非也就7种,下面我分别向大家介绍这7种Android Dialog对话框的使用方法,希望对大家能有所帮助。1.该效果是当按返回按钮时弹出一个提示,来确保转载 2015-10-19 13:58:40 · 519 阅读 · 1 评论 -
Android代码规范参考指南
代码规范对于一个软件项目来说非常重要,当然Android项目也不例外,一个优秀的Android项目不仅需要严谨的业务逻辑和架构设计,更需要一套统一优雅的代码规范标准,才可以让整个项目团队更加高效。包命名规范包(packages):采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名为xxx(可以是公司域名或者个人命名),三级包名根据应用进行命名,四级包名为模块名或层级名转载 2015-09-14 18:04:36 · 435 阅读 · 0 评论 -
每个Android开发者应该知道的6个SDK和API
本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎加入技术翻译小组!说到软件开发,有人或许会感叹了解平台SDK和API比了解语言本身更重要。如果你是一个进入Android开发的Java开发人员,或者是一家想要确保团队使用的是正确工具的初创企业CxO,那么本文中列举的这些SDK和API或许会非常有用。在过去4年时间里,我一直致力于构建Android app转载 2015-08-23 10:09:54 · 692 阅读 · 0 评论 -
android进行异步更新UI的四种方式
大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,我大致总结了4种方式,欢迎补充纠正:使用Handler消息传递机制;使用AsyncTask异步任务;使用runOnUiThread(action)方法;使用Handler的post(Runnabel r)方法;下面分别使用四种方式来更新一个TextView。转载 2015-09-07 14:16:00 · 439 阅读 · 0 评论 -
Android 更换皮肤思路及解决方案
本篇博客要给大家分享的一个关于Android应用换肤的Demo,大家可以到我的github去下载demo,以后博文涉及到的代码均会上传到github中统一管理。github地址:https://github.com/devilWwj/Android-skin-update思路换肤功能一般有什么?元素一般有背景颜色、字体颜色、图片、布局等等我们知道Andr转载 2015-09-07 14:03:09 · 638 阅读 · 2 评论 -
Android异步更新UI的四种方式
大家都知道由于性能要求,android要求只能在UI线程中更新UI,要想在其他线程中更新UI,我大致总结了4种方式,欢迎补充纠正:使用Handler消息传递机制;使用AsyncTask异步任务;使用runOnUiThread(action)方法;使用Handler的post(Runnabel r)方法;下面分别使用四种方式来更新一个TextView。1.使用Handler消转载 2015-09-07 22:43:17 · 286 阅读 · 0 评论 -
Android实现带动画的下拉刷新RecyclerView
不废话,先看效果,嗯…看起来有点卡,截图软件的问题:图中普通列表是ListView样式,没有设置Header和Footer时使用默认的下拉刷新和上拉加载。而宫格列表和瀑布流列表使用的是自定义Header和Footer的下拉刷新和上拉上拉加载。用法:Gradle:dependencies { compile 'com.sch.rfview:AnimRefr转载 2015-08-16 16:51:34 · 1947 阅读 · 0 评论 -
Android UI 设计——TextView 控件
TextView这个可以说是Android中最简单的一个控件了。该控件主要用来显示一段文字。其中控件的显示设置也很简单,这里简单说一下重要的几个,控件的id,layout_weigth(宽度),layout_height(高度),text(显示文字内容)等都是比较常用和简单的设置,不在详细描述。(1)文字的编辑设置文本的大小,颜色有两种方转载 2015-10-21 14:53:47 · 410 阅读 · 0 评论 -
Android UI 设计——ImageView 和 ImageButton 控件
ImageViewImageView是用来在界面上展示图片的一个控件。它可以让我们的界面变的丰富多彩。 它的使用很简单android:id="@+id/imageview"android:layout_width="match_parent"android:layout_height="wrap_content转载 2015-10-21 14:47:12 · 464 阅读 · 0 评论 -
Android UI 设计——RadioButton 和 CheckBox 控件
首先说明一下为什么我要将这两个控件放在一起来说:RadioButton和CheckBox都是选择按钮。什么叫做选择按钮不用说了吧。RadioButton和CheckBox的区别是:RadioButton是单选按钮;CheckBox是多选按钮。举例来说明一下,有时候我们注册信息,需要选择性别,我们的选择只有一个所以我们只能选其一,这时候我们那就用RadioButton;有时候我们需要选择我们的特长,转载 2015-10-21 14:49:49 · 760 阅读 · 0 评论 -
Android 界面—UI 开发控件
TextView这个可以说是Android中最简单的一个控件了。该控件主要用来显示一段文字。其中控件的显示设置也很简单,这里简单说一下重要的几个,控件的id,layout_weigth(宽度),layout_height(高度),text(显示文字内容)等都是比较常用和简单的设置,不在详细描述。gravity 定义控件转载 2015-10-21 14:54:49 · 391 阅读 · 0 评论 -
Android UI 设计(10):ListView 控件和自定义 Adapter(四)
自定义Adapter这个是ListView中使用最多的一个Adapter适配器,因为我们可以根据自己的意愿去创建数据和数据的布局样式。使用方式灵活,下面我们来学习一下自定义Adapter的具体步骤:One.自定义的Adapter依然遵循MVC设计模式,首先我们来创建数据Model。创建一个学生类:publicc转载 2015-10-21 14:44:21 · 428 阅读 · 0 评论 -
Android UI 设计(12):ListView 练习(制作水果选择菜单)
功能说明: 通过使用ListView制作一个水果选择菜单,菜单中有多种水果,菜单每种水果以水果选择框, 水果图片, 水果名称的形式展现在ListView中的每个Item中。 通过水果多选框可以选择想要的水果。 通过点击每条Item的任意地方也可以选择水果。 ListView最顶端设置有顶部全选按钮,通过点击按钮可以全部选中水果。 ...转载 2015-10-21 14:39:30 · 3081 阅读 · 0 评论 -
Android UI 设计(13):AutoCompleteTextView
AutoCompleteTextView这个控件其实很简单,举个大家就知道他是干什么用的了,打开手机的通讯录,在搜索框中输入姓名,当输入没有完成时,他就会给你列出自动匹配的联系人。AutoCompleteTextView就是这个功能,下面我们来看下AutoCompleteTextView如何使用:(在这说明一下AutoCompleteTextView的使用也是同ArrayAda转载 2015-10-21 14:37:04 · 293 阅读 · 0 评论 -
Android UI 设计(14):GridView 控件
GridViewGridView的用法与ListView的用法相同,都需要使用Adapter适配器。GridView与ListView控件唯一的不同便是显示形式不同,GridView是以行*列的形式展现的,使多条数据在一行。我们手机上的相册一个很好的例子。GridView的使用步骤:(在下面这个例子中,添加了一个小功能:这个功能在我们平常转载 2015-10-21 14:35:36 · 360 阅读 · 0 评论 -
Android UI 设计——Button 控件
这个是大家在熟悉不过的了,初学者在学习的时候都是最先使用Button进行练习。他控件的显示设置也很简单,如TextView一样包括:id,宽,高,名称(也就是显示的文字)等的设置。在此不再赘述。点击事件Button 最常见的一种使用就是使用监听器,实现点击事件。首先在Activity的onCreate方法中添加如下代码:转载 2015-10-21 14:52:12 · 446 阅读 · 0 评论 -
每个Android开发者必须知道的内存管理知识
相信一步步走过来的Android从业者,每个人都会遇到OOM的情况。如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力。今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念。内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况。多数出现在不合理的编码情况下,比如在 Activi转载 2015-10-21 17:50:59 · 394 阅读 · 0 评论