- 博客(243)
- 资源 (59)
- 收藏
- 关注
原创 Apk反编译工具之Apktool
安装步骤如下: 1.首先安装需要JAVA环境,先下载JDK/JRE,已经有JAVA环境的可跳过此步 2.到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list包括apktool.jar和apktool的工具包 3.解压apktool-install-
2016-03-04 23:21:26 691
原创 解决同一activity下多个fragment 切换时重复执行onCreateView方法
Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态。解决的办法是:在Fragment onCreateView方法中缓存View。private View rootView;//缓存Fragment view
2016-02-24 17:43:47 11590 5
原创 Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android中,Activity的启动模式分为四种,下面我将从介绍,特点,应用场景来具体一一分析:(1)standard:标准模式。 介绍:Activity的默认启动模式
2016-02-22 11:20:13 457
原创 Android中View的加载过程
今天,和大家一起啪啪下在Android中View是如何被加载出来,并显示在手机上的。首先,在Android中,大家都知道Activity是有生命周期的(onCreate,onStart,onRestart,onPause,onStop,onDestory...),其实在View中,也可以理解为View也是有有生命周期的。下面一一道来;(1)在自定义View后,我们一般都需要在xml布局
2016-01-29 17:05:27 2035
原创 AndroidApp启动优化篇
谈及App的启动,首先多数人想到的是现在普遍的广告页启动。可以看看像QQ,天猫,京东,微信等等,几乎都是如此,也是潮流。既然是潮流,那我们也不能落下,紧跟潮流,做个这样的App启动效果,结果发现,不尽人意,每次都会先卡顿一下,然后出现黑屏或白屏的一闪而过,而当我们打开微信这样的App,却不会有这样的操蛋行为。为啥呢?百思不得其解。。(废话一篇,进入主题)上面我们用了100字左右的内容来引出
2016-01-27 12:21:11 1541
原创 Android中实现App的退出
本次采用的方式是在Application中维持一个Stack,每当启动一个Activity,就将其添加到栈中,当Activity的onDestory方法被回调,即Activity的资源被回收,就从Stack中删除。当建立退出应用时,直接清空整个Stack,原理很清晰,直接看代码:public class MyApplication extends Application{pri
2016-01-21 17:32:45 1774
原创 ViewStub问题解析
今天,在项目中想去用viewstub加载根目录是merge的布局时,logcat下抛出了以下异常:android.view.InflateException: can be used only with a valid ViewG...大致意思是说标签所包含的布局不可以加载在Viewstub下。改用其他布局后,可以正常加载。可以得出一个结论:在ViewStub标签下的layout
2016-01-15 14:51:42 846
原创 android动画:interpolator效果
Android动画的interpolator效果大体分为以下几种:Accelerate 加速、Decelerate减速、Anticipate预期、Overshoot过冲、Bounce弹跳。AccelerateDecelerateInterpolator 在动画开始与介绍的地方速率改变比较慢,在中间的时候加速AccelerateInterpol
2016-01-12 16:56:35 904
原创 Android事件分发流程解析
(1) Touch事件分发中只有两个主角:ViewGroup和View。Activity的Touch事件事实上是调用它内部的ViewGroup的Touch事件,可以直接当成ViewGroup处理(对于每个Activity (2)都有 setContentView()来设置它的布局,而setContentView()设置的布局肯定会有一个ViewGroup作为该布局的根节点,所以直接
2016-01-12 16:19:53 410
转载 Material Designer — ActivityOptionsCompat
新版的V4包中有了这个类—— ActivityOptionsCompat,我们可以通过这个类来启动activity和添加动画。但不幸的是所有的动画都没有给2.x用的,大部分动画也对4.x不兼容。好消息是这个类是兼容2.x的,通过这个类编写的嗲吗,虽然不能给2.x带来动画,但也能确保全版本稳定运行,不会需要我们判断版本。也就是说如果你给5.x平台做了动画,其他平台虽然不会执行动画,但仍旧可以稳定打开
2016-01-05 16:11:25 791
转载 android:windowSoftInputMode属性详解
android:windowSoftInputModeactivity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示【二】是否减少活动主窗口大小以便腾出空间放软键盘它的设置必须是下面列表中的一个值,或一个”state…”值加一个”ad
2015-12-29 17:19:34 457
原创 如何设置Android中控件的颜色透明度
设置Android中控件的颜色透明度,可自由设置在layout里也可以在activity里#ff000000 此为16进制颜色代码,前2位ff为透明度,后6位为颜色值(000000为黑色,ffffff为白色,可以用ps等软件获取)。透明度分为256阶(0-255),计算机上用16进制表示为(00-ff)。透明就是0阶,不透明就是255阶,
2015-12-24 15:51:37 2817
原创 android保存图片到本地
我将其写到了一个异步线程中:class SaveImage extends AsyncTask{@Overrideprotected Void doInBackground(Void... params) {//保存到本地FileOutputStream fos = null;BufferedOutputStream bos = null;ByteArray
2015-12-22 11:18:24 1256
原创 解决RecyclerView中使用UIL加载网络图片,在刷新时出现闪烁问题
对于开源框架universal-image-loader大多数开发者都不会陌生,的确这是一款很不错的图片类框架,值得推荐。github地址是:https://github.com/nostra13/Android,在我之前的博客中有专门推荐GitHub上几款比较实用而且受欢迎的开源项目,OK,链接在此 github android优秀的开源项目、作者推荐。好的,马上进入主题:在使用
2015-12-06 14:10:39 6939
原创 Android开发之获取手机网络状态及网络是否连接
在Android中,判断网络状态和网络是否连接时一件很简单的事情,SDK为我们提供了一个ConnectivityManager类来帮助我们获取网络的状态。在网络状态改变的情况下,Android自身会发出一个Action为:android.net.conn.CONNECTIVITY_CHANGE的broadcastReceiver。我们只需要创建一个Receiver来接收系统发出的广播即
2015-11-29 15:00:42 3462
原创 androd中实现仿CardView的自定义阴影效果
android:shape="rectangle" android:dither="true" > //此处设置底部阴影效果,同时也可以设置top,left,right。 android:shape="rectangle"
2015-11-23 16:25:36 7643
原创 github android优秀的开源项目、作者推荐
推荐一些优秀的作者及其开源项目:Jake Wharton (github地址:https://github.com/JakeWharton)ActionBarSherlock、Android-ViewPagerIndicator、butterknife、NineOldAndroidsSergey Tarasevich (github地址:https://github.c
2015-11-22 08:31:14 921
原创 Activity切换动画之-缩放,扩大与透明改变的效果
今天跟大家分享一组在Activity切换时的动画效果,直接看代码:假设在A启动B时的情况下:anim_enter -- android:activityOpenEnterAnimation :B进入的动画效果:anim_exit -- android:activityOpenExitAnimation:A结束的动画效果:当B结束时,B退出,A进入的动画效果:ba
2015-11-19 14:16:44 5381 5
原创 eclipse背景颜色修改插件color theme
安装方式有两种:1.可以直接在eclipse的eclipse marketplace 那里搜索安装2.可以在Help->Install New Software那里输入 http://eclipse-color-theme.github.com/update 进行安装。theme" title="eclipse背景颜色修改插件color theme" style="mar
2015-10-30 10:24:39 2584
原创 Android中实现UI模板-topbar
在Android的app开发中,我们经常可以看到多类app的顶部导航栏基本是大同小异的。那么我们有木有一种方式可以写一个模板,然后自己定义并重复使用呢?显然,这个问题是可以解决的。下面,我大概分享下实现思路:1.首先,我们需要定义一个自己的布局,此时我们继承自RelativeLayout。2.然后我们自定义属性来控制布局中的按钮和标题:导航栏一般都是分三个部分,即:左边按钮,中间标题,
2015-10-12 12:01:02 656
原创 Android中添加常驻通知栏
直接看代码吧,很简单的小功能,核心代码就是设置notification的flags为Notification.FLAG_ONGOING_EVENT。// 添加常驻通知private void setNotification() {NotificationManager notificationManager = (NotificationManager) getSystemServic
2015-10-10 17:47:48 16934
原创 Android中索引关联联系人
今天,我将和大家分享如何在Android实现索引,并使用索引来关联电话联系人。如果从头来说,可能需要很大的篇幅来讲解,我就长话短说,将原理告诉大家,并将核心代码贴出来,供大家参考。一、实现索引我们使用重写View的方式来实现索引。即继承View后,重写onDraw(Canvas canvas)方法将A-Z的字母使用Paint绘制出来,代码很简单,其中的核心点就是获取屏幕高度和宽度,并根
2015-10-10 16:18:08 826
原创 底部渐入的Dialog,并伴有黑色遮罩层
原理很简单,就是通过AlertDialog获取Window,设置Window的显示位置和动画就可以轻松实现,直接上代码了:LayoutInflater inflater =this.getLayoutInflater();View v = inflater.inflate(R.layout.s, (ViewGroup)findViewById(R.id.customDialog));A
2015-10-10 11:27:34 2763
原创 Android中调用系统相机、系统相册来获取图片,并裁剪图片。
今天,跟大家分享下如何在Android中实现调用系统相机、系统相册来获取图片的功能。一、首先,讲解下调用相机原理:1.调用系统相机很简单,通过Intent简单几行代码搞定,在调用相机时,为了获取拍下后的照片,我们需要创建一个File目录来保存,此处我们通过Environment来获取SD卡目录进行保存。2.我们以系统时间命名图片名称,并创建一个临时的File。3.调用Uri,fro
2015-10-09 17:56:17 1495
原创 Android中打开手机中存在的图片软件
分为两种方式: 一、 Intent intent = new Intent();intent.setType("image/*");intent.setAction(Intent.ACTION_GET_CONTENT);二、 Intent intent = new Intent();intent.setType("image/*");intent.setAction
2015-10-09 15:24:51 1244
原创 如何将APP安装包发布到360手机助手上
工具/原料电脑APP安装包360助手移动应用市场方法/步骤登陆360移动开发平台官网。如图注册一个360账号,手机号码注册,注册成功并邮箱激活账号。如图用注册账号登陆360应用开发平台。如图
2015-10-08 15:08:53 1007
原创 Android中万能适配器
今天的例子是关于在Android中实现一个万能的适配器,以减少重复的代码编写和提高代码效率。我将直接贴出代码供大家参考。1.实现自定义的ViewHolder类:package com.example.test.utils;import android.content.Context;import android.graphics.Bitmap;import androi
2015-09-28 15:27:24 974
原创 优化布局几点建议
使用复杂的图片:在LineraLayout布局中包含一个ImageView和一个TextView,可以使用一个复杂的drawable代替,性能会更好。合并根框架:假如一个FrameLayout作为一个布局的根视图,不提供背景或者填充,它可以被一个带有标志的布局代替。无用的树叶:对于一个扁平结构中一个布局没有孩子,没有背景,可以被删掉。无用的父类:一个布局不是ScrollView或者不是
2015-09-23 23:20:37 889
转载 Android中获取缓存大小和清除缓存功能
前言本篇博客要给大家分享的如何获取应用缓存的大小和清除缓存的功能,我们知道我们应用当中经常会产生一些数据,比如图片的缓存,数据库文件,配置文件等等。我们开发产品的时候,可能会有这样的一个需求清除应用内缓存的数据,可以让用户选择删除应用内产生的数据,这也是比较人性化的设计点。例如笔者参与开发的一款产品的设置界面就提供了清除缓存的功能,如下图所示:在贴一
2015-09-23 10:45:02 814
原创 git在实际开发中的运用-基本操作
今天,来分享下我在开发中使用到的一些git基本命令,同时也帮助刚入门的小伙伴们加深一些印象。git的特点就不多说了,分布式、版本可控是其中比较有特色的亮点。我们将Git的内容分成两个大部分:基础操作、高级操作。基础部分大致分为以下几个主要点:(1)添加 (add)(2)删除 (rm)(3)修改 (4)克隆 (clone)(5)提交 (commit)(6)从本地更
2015-09-17 00:04:56 2977
原创 Volley的简单使用
13年,Google大会上的新技术:Volley( 万箭齐发 ) 使得在android上改变网络请求的高效率得以实现。下面,我就向大家简单介绍下在实际项目中如何使用Volley进行网络数据的请求。在android中使用Volley很简单,大概可以分为以下几步:(1)下载Volley.jar的最新架包,并将其build到项目中。(2)使用Volley请求数据之前,需要一个请求队列来维
2015-09-14 15:52:10 558
原创 在Activity获取屏幕的宽高
在Activity中获取屏幕的宽高很简单,借助WindowManager来实现是多么轻松的一件事情。看代码: DisplayMetrics dm = new DisplayMetrics(); this.getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.w
2015-08-03 14:11:55 679
转载 Android程序 类QQ通知常驻在Notification栏 点击Notification正确回调到之前已经放置在后台的Task中的对应Activity,而不是创建它的一个新实例
注意:本文大部分内容转载自:newcj 的博客 请尊重他人劳动成果!今天在写完 “ android Notification 的使用”的时候,发现有几个问题,特别是设置Notification的Intent使之能够像 QQ 或其他程序一样能够正确回调到之前已经放置在后台的Task中的对应Activity,而不是创建它的一个新实例。当然重点便是如何设置该Activity 的 launchMo
2015-07-26 00:26:43 619
原创 java.lang.IllegalStateException: The specified child already has a parent. You must call removeView
java.lang.IllegalStateException:The specified child already has a parent. You must call removeView() on the child's parent first.在android代码中如果出现此异常,说明在同一个布局中添加了相同的组件实例。应该创建不同的实例组件,并将其添加到布局当中
2015-07-22 16:02:14 990
原创 Android中如何实现ListView的分页加载
上一篇我粗略的说了下实现ListView下拉刷新的主要步骤,接下来我就如何实现ListView的分页加载来说下主要实现步骤:1.继承ListView,ListView有一个addFooterView的方法用来在ListView的底部添加一个view。2.同样给ListView添加滚动监听事件。3.通过OnScrollListener中的onScroll方法来判断ListView是否滑到
2015-07-16 14:31:34 1149
原创 Android中实现List下拉刷新
今天,我以如何在Android中实现下拉刷新介绍下主要实现步骤:1.重写ListView。ListView中有一个addHeaderView()的方法用来在顶部添加一个view。2.让ListView实现触摸事件和滚动事件,来根据状态动态改变view。3.利用回调接口来更新ListView。下面看具体代码:public class RefreshListView extends
2015-07-16 14:27:12 836
原创 Android中使用Intent打开本地图库
1. //打开系统相册 Intent intent = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);startActivityForResult(intent, Code.REQUEST_CODE);2.//
2015-07-15 17:38:32 6119 3
原创 Android中实现一键分享功能
在Android中开发中,我们会经常遇到使用一键分享的功能,今天我以使用第三方平台ShareSDK来实现一键分享向大家分享下具体的流程。下面,我就以步骤顺序依次展示在自己的Android项目中如何实现1.添加相应的Jar包,此处我添加了所有APP的jar文件:2.在官网将下载的onekeyshare包添加到自己的工程目录main下。3.将Sh
2015-07-15 15:57:01 4841 1
实现下拉式窗帘动画和上拉式抽屉Android动画
2016-04-16
children在react中的应用.key
2019-12-16
React Native Modal
2017-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人