Android
harrain
这个作者很懒,什么都没留下…
展开
-
面向ViewHolder编程
在一个界面有诸多元素,一个人无法完成该界面的实现,而是要交给多人分工完成。这种情况下就要面向ViewHolder编程。面向ViewHolder编程的思想: 将界面分块,分成各个ViewHolder,主界面以模糊的控件架子搭建,只确定相对位置,不填充内容;而在各个ViewHolder类中编写详细视图代码;然后在主界面Activity中调用相关控件addView()方法填空视图。原创 2016-12-10 11:01:49 · 343 阅读 · 0 评论 -
XML解析之Pull、Sax方式
- pull private String parseXMLwithPull(String xml) { StringBuffer buffer = new StringBuffer(); try { XmlPullParserFactory factory = XmlPullParserFactory.newInstance();原创 2016-12-24 12:32:41 · 331 阅读 · 0 评论 -
使用Intent传递对象的两种方式(序列化)
出处:郭霖的书【第一行代码】Intent 的用法相信你已经比较熟悉了,我们可以借助它来启动活动、发送广播、启动服务等。在进行上述操作的时候,我们还可以在Intent 中添加一些附加数据,以达到传值的效果,比如在FirstActivity 中添加如下代码:[java] view plain copyIntent intent = n转载 2016-12-24 12:44:41 · 20249 阅读 · 1 评论 -
Android 高手进阶之自定义View,自定义属性(带进度的圆形进度条)
出处:http://blog.csdn.net/xiaanming/article/details/10298163很多的时候,系统自带的View满足不了我们功能的需求,那么我们就需要自己来自定义一个能满足我们需求的View,自定义View我们需要先继承View,添加类的构造方法,重写父类View的一些方法,例如onDraw,为了我们自定义的View在一个项目中能够重用,有时候我们需要自定转载 2016-12-24 12:49:58 · 476 阅读 · 0 评论 -
Android应用开发之所有动画使用详解
出处:http://blog.csdn.net/yanbober/article/details/46481171#t1题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的。消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近都与世隔离了一样;然而自己每天还要熟悉一大套自己不熟悉、各种协议差异转载 2016-12-18 12:08:54 · 447 阅读 · 0 评论 -
Android属性动画完全解析(上),初识属性动画的基本用法
出处:http://blog.csdn.net/guolin_blog/article/details/43536355在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单转载 2016-12-18 12:27:21 · 220 阅读 · 0 评论 -
android动画之从源码角度分析动画原理
出处:http://www.2cto.com/kf/201412/362001.html以前一直不懂android的动画机制,android系统是如何实现动画的,所以导致只会做一些android系统已经为我们封装好的动画即:AlphaAnimation, TranslateAnimation, ScaleAnimation,RotateAnimation以及这些动画混合起来使用,其实有转载 2016-12-18 12:58:38 · 538 阅读 · 0 评论 -
Android 动画机制与使用技巧
出处:http://www.cnblogs.com/rocomp/p/5742056.html动画效果一直是人机交互中非常重要的部分,与死板、突兀的显示效果不同,动画效果的加入,让交互变得更加友好,特别是在提示、引导类的场景中,合理地使用动画能让用户获得更加愉悦的使用体验一、Android View动画框架Animation框架定义了透明度、旋转、缩放、位移等几种常见的转载 2016-12-18 13:08:03 · 359 阅读 · 0 评论 -
Android异步消息处理机制详解及源码分析
出处:http://blog.csdn.net/yanbober/article/details/459361451 背景之所以选择这个知识点来分析有以下几个原因:逛GitHub时发现关注的isuss中有人不停的在讨论Android中的Looper , Handler , Message有什么关系。其实这个知识点对于Android初学者来说很常用,但是初学者可能前期转载 2016-12-18 16:40:37 · 386 阅读 · 0 评论 -
浅析android消息收发机制
在程序开发时,对于比较耗时的操作,通常会为其开辟一个单独的线程来执行,以尽可能减少用户的等待时间。在Android中,默认情况下,所有的操作都是在主线程中进行的,主线程负责与UI相关的事件。而在自己新建的线程中,不能对UI进行操作。因此Android提供了消息处理传递机制来解决这一问题。Message,消息类。存放于MessageQueue中,包含数据类型,用户自定义的消息代码等。原创 2016-12-18 16:50:46 · 714 阅读 · 0 评论 -
三级缓存
LocalCacheUtilspackage com.itheima.zhbj52.utils.bitmap;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import com.itheima.zhbj52.utils.MD5Encoder;import android.gra原创 2016-12-19 08:34:21 · 318 阅读 · 0 评论 -
提高安卓APP开发效率、管理代码的架子(一):BaseActivity&BaseApplication
BaseActivitypackage com.appstore;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import java.util.LinkedList;import java.util.List;/** * 抽取BaseActivity 管理所有activity 方便退出 *原创 2016-12-06 16:00:18 · 1486 阅读 · 0 评论 -
Fragment.setArguments()的初衷。
出处:http://blog.csdn.net/u010940300/article/details/46516063简介在我们平常开发的时候Fragment是经常使用的,而我们创建一个Fragment对象的时候一般都会 通过 new Fragment()构造方法来实现,如果要传递参数我们一般会重载构造方法,例如 new Fragment(Parameter p)。转载 2017-01-01 15:23:57 · 299 阅读 · 0 评论 -
Android 6.0权限全面详细分析和解决方案
原文:http://www.2cto.com/kf/201512/455888.htmlhttp://blog.csdn.net/yangqingqo/article/details/48371123http://inthecheesefactory.com/blog/things-you-need-to-know-about-Android-m-permission-de转载 2017-04-11 21:00:32 · 590 阅读 · 0 评论 -
Fragment和Activity生命周期以及横竖屏切换对生命周期的影响
转自:http://www.androidchina.net/5024.htmlFragment生命周期图解,fragment和activity生命周期对比生命周期变化 : 切换到该Fragment05-21 14:26:35.095: D/FragmentDemo(7649): onAttach 05-21 14:26:35.095: D/FragmentDem转载 2017-04-12 10:10:39 · 334 阅读 · 0 评论 -
Android数据持久化(二)
参考1;http://blog.csdn.net/sylcc_/article/details/7453829在Android中,实现数据持久化主要有四种方式:Preferences,文件I/O,SQLite数据库,ContentProvider组件。在我们RUI中上述的几种方法都要涉及,其中LauncherProvider.Java文件属于第四种,提供对数据库的一些操作,下面将重点介转载 2016-12-17 21:38:27 · 256 阅读 · 0 评论 -
Android数据持久化存储(一)
Android数据持久化存储共有四种方式,分别是文件存储、SharedPreferences、Sqlite数据库和ContentProvider。在本篇幅中只介绍前面三种存储方式,因为ContentProvider属于android四大组件之一,所以它的数据存储方式在介绍四大组件的时候说明。1、文件存储文件存储不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中转载 2016-12-17 21:23:47 · 663 阅读 · 0 评论 -
值动画
界面默认收缩 界面展开 实现如上图红线区域布局<LinearLayout android:id="@+id/safe_content" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/s原创 2016-12-15 11:14:12 · 258 阅读 · 0 评论 -
自定义控件【按照宽高比例显示】
自定义控件public class RatioLayout extends FrameLayout { // 按照宽高比例去显示 private float ratio = 1.43f; // 比例值 public RatioLayout(Context context) { super(context); } public RatioLayout原创 2016-12-11 16:28:30 · 336 阅读 · 0 评论 -
我博客里用到的android各种Util文件
VIewUtil.javapublic class VIewUtil { public static void removeParent(View view){ // 先找到爹 在通过爹去移除孩子 ViewParent viewParent = view.getParent(); //所有的控件 都有爹 爹一般情况下 就是ViewGoup,原创 2016-12-11 16:38:17 · 545 阅读 · 0 评论 -
自定义ViewGroup实现流式布局
要实现的就是这样的效果自定义ViewGroup重写OnMeasure方法 指定每个孩子测量规则实例化内部类【行】,进行逻辑处理(行宽够用,则加入孩子;行宽不够用,则换行)重写Onlayout方法 for循环遍历行集合(拿到每行,调用行类的layout方法分配行内孩子位置,纵坐标t不断加上行宽和间隔)原创 2016-12-10 21:22:07 · 240 阅读 · 0 评论 -
AIDL进程间通信详解
转载出处:http://blog.csdn.net/u012883858/article/details/51374525什么是AIDL?IDL是一种内部进程间通信的描述语言,而AIDL,则是Android中内部进程间通信的描述语言,Android接口定义语言。(Android Interface Definition Language)AIDL有什么作用呢?进程间通信转载 2016-12-11 22:01:02 · 379 阅读 · 0 评论 -
ListView的简单自定义
ListView的简单自定义public class BaseListView extends ListView{public BaseListView(Context context) { super(context); init();}public BaseListView(Context context, AttributeSet attrs) { super(co原创 2016-12-02 17:09:58 · 366 阅读 · 0 评论 -
ActionBar的使用(包括返回按钮,Tab标签,与ViewPager连用)
ActionBar的使用(包括返回按钮,Tab标签,与ViewPager连用)ActionBar引用v7-appcompatActivity继承AppcompatActivityandroid:theme=”@style/Theme.AppCompat.Light” >原创 2016-11-05 18:37:03 · 491 阅读 · 0 评论 -
actionBar的点击事件处理与SearchView的使用
首先得到actionBar@overridepublic void onCreate(){ ActionBar actionBar = getActionBar();}初始化actionBar的图标和SearchVIew设置SearchVIew的文本查询接口@Override public boolean onCreateOptionsMenu(Menu menu) {原创 2016-12-03 11:51:07 · 1164 阅读 · 1 评论 -
ActionBar、Drawerlayout、ActionBarDrawerToggle实现抽屉效果
写好Drawerlayout布局实现抽屉布局<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_原创 2016-12-03 20:28:10 · 928 阅读 · 0 评论 -
ViewPager、PagerTabStrip、FragmentPagerStateAdapter实现状态栏切换界面
使用PagerTabStrip可以实现滑动式状态栏在activity_main.xml中写布局代码<android.support.v4.view.ViewPager android:layout_width = "match_parent" android:layout_height = "match_parent" android:id="@+原创 2016-12-03 21:06:08 · 530 阅读 · 0 评论 -
Android状态栏微技巧,带你真正理解沉浸式模式
其实说到沉浸式状态栏这个名字我也是感到很无奈,真不知道这种叫法是谁先发起的。因为Android官方从来没有给出过沉浸式状态栏这样的命名,只有沉浸式模式(Immersive Mode)这种说法。而有些人在没有完全了解清楚沉浸模式到底是什么东西的情况下,就张冠李戴地认为一些系统提供的状态栏操作就是沉浸式的,并且还起了一个沉浸式状态栏的名字。转载 2016-12-03 21:20:58 · 257 阅读 · 0 评论 -
Android中线程池的原理和应用
线程池原理要了解线程池原理,不如自己动手写个线程池吧public class ThreadPool { int maxCount = 3;//限制线程最大数目 AtomicInteger count =new AtomicInteger(0);// 当前开的线程数 count=0,为了线程同步 LinkedList<Run原创 2016-12-05 18:25:50 · 332 阅读 · 0 评论 -
提高安卓APP开发效率、管理代码的架子(二):BaseProtocol(加载数据,访问本地, 访问服务器,保存本地)
BaseProtocolpublic abstract class BaseProtocol <Data>{ String str; public Data load(int index){ //String json = null; String json = loadLocal(index); if(json == null){原创 2016-12-06 16:05:59 · 631 阅读 · 0 评论 -
BaseAdapter的getView()与ViewHolder的两种写法-更深刻理解ViewHolder
普通android基础书上都会写这种:private class HomeAdapter extends BaseAdapter{ ...... @Override public View getView(int position, View convertView, ViewGroup parent) { View view;原创 2016-12-09 17:19:51 · 1068 阅读 · 0 评论 -
复杂ListView的多条目类型复用
复杂ListVIew的多条目类型复用原创 2016-12-02 21:34:49 · 2242 阅读 · 0 评论 -
【精】Android高效加载大图、多图解决方案,有效避免程序OOM
出处:http://blog.csdn.net/guolin_blog/article/details/9316683本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html转载 2017-04-19 12:32:54 · 295 阅读 · 0 评论