android
fei0724
这个作者很懒,什么都没留下…
展开
-
android上的缓存、缓存算法和缓存框架
1.使用缓存的目的缓存是存取数据的临时地,因为取原始数据代价太大了,加了缓存,可以取得快些。缓存可以认为是原始数据的子集,它是从原始数据里复制出来的,并且为了能被取回,被加上了标志。在android开发中,经常要访问网络数据比如大量网络图片,如果每次需要同一张图片都去网络获取,这代价显然太大了。可以考虑设置本地文件缓存和内存缓存,存储从网络取得的数据;本地文件缓存空间并非是无限大的转载 2014-07-15 16:10:12 · 465 阅读 · 0 评论 -
Android--通知之Notification
转自:http://blog.csdn.net/xxbs2003/article/details/19167331 前言 之前一篇博客讲了Android下使用Toast的方式提示消息。这篇博客讲解一下在Android中使用Notification提示消息给用户,Notification是一种具有全局效果的通知,程序一般通过NotificationManager转载 2014-11-03 17:14:34 · 542 阅读 · 0 评论 -
android拍照获得图片URI为空的处理方法
在拍照的时候,获得图片URI为空,发起intent请求:[java] view plaincopyprivate void getBitmapFromTakePictrue() { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);转载 2015-01-07 18:10:40 · 5740 阅读 · 0 评论 -
ExpandableListView方法详解
一、结构public interface ExpandableListAdapter 间接子类:BaseExpandableListAdapter,CursorTreeAdapter,ResourceCursorTreeAdapter, SimpleCursorTreeAdapter, SimpleExpandableListAdapte 二、概述 这个适配器在Ex转载 2015-01-06 16:25:14 · 923 阅读 · 0 评论 -
eclipse 导出 docs 乱码问题如何解决
-encoding UTF-8 -charset UTF-8原创 2014-12-04 14:28:04 · 543 阅读 · 0 评论 -
gson的@Expose注解和@SerializedName注解
1.使用@Expose可以区分实体中不想被序列化的属性@Expose标签的2个属性. 1.1 deserialize (boolean) 反序列化 默认 true 1.2 serialize (boolean) 序列化 默认 true 使用 new GsonBuilder().excludeFieldsWithoutExposeAnnotati转载 2015-01-31 17:01:57 · 6210 阅读 · 1 评论 -
Activity的四种启动模式和onNewIntent()
Android中Activity启动模式详解 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种:Activity启动模式设置: ".MainAc转载 2015-01-14 15:32:28 · 514 阅读 · 0 评论 -
Activity的启动模式
启动模式允许开发者定义一个activity的新实例如何与当前的Task关联。可以定义使用俩种方法来定义。如果Activity A开启Activity B, Activity B就可以在它的manifest文件中定义它与当前的task如何关联,Activity A也可以要求activity B应该如何与当前的task关联。如果两个activity都定义了Activity B应该如何与一个转载 2015-01-14 15:32:37 · 600 阅读 · 0 评论 -
ImageView 的 scaleType 小结
官方文档中很简略的介绍了一下,具体用法不是很清楚,这里做个小结:MATRIX 用图片的矩阵从左向开始来画,不做任何拉伸。如果一个100*100的ImageView,它的src是10*10的小图,则图显示在左上角,如果scr是200*200的大图,则截取它左上的100*100做显示。CENTER 不做任何拉伸,以居中的方式显示图片。如果是一个100*100转载 2015-01-17 16:55:22 · 557 阅读 · 0 评论 -
ListView设置emptyView的限制
最新开发一个应用程序,当ListView为空时需要设置一些View来显示提示内容。我们知道ListView有一个公开的方法——setEmptyView(View v)——用来设置ListView为空时的内容。可是这个方法的设置是有限制的,就是设置的View必需在当前的View hierarchy里,亦即这个View需要被add到当前Viewhierarchy的一个结点上,如果没有添加到结点上的话,转载 2015-01-18 13:21:03 · 682 阅读 · 0 评论 -
判断同一application 不同的进程进行区别的初始化
可以通过Process,myPid 和 RunningAppProcessInfo 区分int pid = android.os.Process.myPid();ActivityManager mActivityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); for (转载 2014-11-19 16:29:18 · 1449 阅读 · 0 评论 -
关于androidManifest中指定不同的进程,application中静态变量值问题
public class LFApplication extends Application { public static boolean startByPush = false; public static long lastCurrentTimeMillis = 0; public static boolean isLeave = false; public static boole原创 2014-11-18 17:30:37 · 2049 阅读 · 0 评论 -
runOnUiThread handler区别
this.runOnUiThread(new Runnable() { @Override public void run() { try { Thread.sleep(1000 * 5); } catch (InterruptedException e)转载 2014-06-09 15:16:28 · 2304 阅读 · 1 评论 -
【Android】SingleTask与SingleInstance的区别
现有2个项目,taskA、taskB。taskA负责调用taskB中指定的界面。taskB中有3个界面,a、b、c,每个界面显示它所在的task id。SingleTask:其中b界面被声明为SingleTask。先运行taskB,显示a界面,由a界面调用b界面,这时b界面的taskid与a界面的taskid是一致的,说明b界面与a界面在同一个task中;由转载 2014-06-09 17:49:32 · 581 阅读 · 0 评论 -
Android提供的LruCache类简介
package android.util; import java.util.LinkedHashMap; import java.util.Map; /** * A cache that holds strong references to a limited number of values. Each time * a value is acce转载 2014-07-18 14:54:34 · 585 阅读 · 0 评论 -
Google官方下拉刷新组件---SwipeRefreshLayout
原文链接:http://stormzhang.github.io/android/2014/03/29/android-swiperefreshlayout/今天在Google+上看到了SwipeRefreshLayout这个名词,遂搜索了下,发现竟然是刚刚google更新sdk新增加的一个widget,于是赶紧抢先体验学习下。SwipeRefreshLayoutS转载 2014-05-30 15:50:30 · 2163 阅读 · 0 评论 -
使用Fragment实现类似Tab的需求
大家都知道可以使用TabHost来实现, 不过这种实现已经是被deprecated, 其实是可以通过Fragment来实现, 不过如果是Fragment的话好像只能每次new一个fragment,这样感觉不太好, 按常理如果是以前有创建过fragment,下一次应该还是显示那个fragment实例。 通过google得知可以通过FragmentTransaction的attach和detach来实转载 2014-07-07 17:56:03 · 895 阅读 · 0 评论 -
Android学习之 AccelerateInterpolator.getInterpolation
今天说一下新发现的一个类的使用:网上很多都写了Interpolator,你们先了解一下.我主要是简单说怎么用.Android 动画之Interpolator插入器 ——AccelerateInterpolator:动画从开始到结束,变化率是一个加速的过程。 ——DecelerateInterpolator:动画从开始到结束,变化率是一个减速的过程。转载 2014-09-12 15:44:13 · 2574 阅读 · 0 评论 -
如何通过Html网页调用本地安卓app?
如何使用html网页和本地app进行传递数据呢?经过研究,发现还是有方法的,总结了一下,大致有一下几种方式 一、通过html页面打开Android本地的app1、首先在编写一个简单的html页面html> head> meta http-equiv="Content-Type" content="text/html; ch转载 2014-09-29 14:09:25 · 7369 阅读 · 1 评论 -
多个按钮的Notification
最低SDK11,也就是3.0private void testNotification() { Intent intentMyLefeng = new Intent(this, MyLeFengActivity.class); Intent intentSearch = new Intent(this, SearchActivity.class); Intent inten原创 2014-10-24 16:33:54 · 894 阅读 · 0 评论 -
简单记录,Notification.builder的简单实用
先贴个google的地址 .此builder为api16后方可使用。实例的创建与设置 //api 16 PendingIntent p = PendingIntent.getActivity(this, 0, new Intent(this,MainActivity.class), 0); notification = new Notification.Buil转载 2014-10-29 17:08:21 · 1563 阅读 · 0 评论 -
android源码查看 android-support-v4.jar
想查看android-support-v4.jar的源码的时候你会发现悲剧了,看不了,那是因为我们没关联android-support-v4.jar的源码,接下来就教大家怎么关联android-support-v4.jar的源码Android SDK在extras目录中同样提供了support包的源码,当然前提是你使用Android SDK Manager下载过了Android Suppo转载 2014-10-30 14:21:58 · 534 阅读 · 0 评论 -
去掉或自定义ExpandableListView的箭头图标
用到ExpandableListView时有个箭头图标系统自带的在你自定义布局也不能去掉只要设置一个属性即可,如下: settingLists.setGroupIndicator(null); ~~~~~~~~~~~~~~~~~此处就是设置自定义的箭头图标的。置空则没有了。也可以自定义(但是位置还是在那个地方不推荐)如下:首先,自定义一个expandablelistvi转载 2015-01-05 13:15:11 · 3390 阅读 · 0 评论 -
AndroidStudio对包含已混淆的第三方jar包的项目进行代码
关于项目的代码混淆这块,困扰了我一周之久,今天终于把问题解决了,在这里跟大家分享一下解决的过程,如果有和我情况相同的可以借鉴一下。话说关于proguard进行代码混淆我也是第一次,从网上查看了一些教程就开始尝试了。使用的是Android SDK中自带的proguard,放在sdk\tools\proguard目录中。首先遇到的问题就是,网络上大部分的教程都是使用eclipse时的操作方转载 2015-01-22 23:31:29 · 10942 阅读 · 2 评论 -
GSON使用笔记 -- 序列化时排除字段的几种方式
原文 http://blog.csdn.net/zxhoo/article/details/21471005 主题 Gson GSON 是Google发布的 JSON 序列化/反序列化工具,非常容易使用。本文简要讨论在使用GSON将Java对象转成JSON时,如何排除某些字段。最简单的用法假设有下面这个类:class MyObj {public int x; public int y;p转载 2016-07-07 16:44:45 · 3188 阅读 · 0 评论 -
Android开发中使用WebView后程序进入后台依旧占用CPU的解决
开发的程序在论坛反馈板块下,用户抱怨使用以后,手机发热量增加,耗电量也随之增加,在新版本发布之前,被要求排查程序源码中可能的原因。根据每个页面访问的情况,初步确定问题出现的两个地方分别是有admob的列表页、使用webview显示网页的页面;初步分析带有admob的列表页可能的原因是进入后台以后,虽然onPause()处理了事件,但是admob还是依旧运行中,所以出现了转入后台依旧高CPU转载 2016-09-05 15:24:09 · 2000 阅读 · 0 评论 -
Html.fromHtml()中Html.TagHandler()的使用
前几天跑到这么个问题,要求显示这样的文字 1500/天 原价:20000元,而且文字的样式由服务器控制,所以我就自然的想到了Html.fromHtml()这个方法,它是用来解析Html的。好!我就用它来解析一下上面的文字的Html,先把上面文字的html贴出看看:<font style="color:#ff6c00;font-size:18px"> 1500/天 原价:20000元转载 2017-09-28 16:39:46 · 3515 阅读 · 0 评论 -
Doze和App Standby的优化(API23)
参考地址:http://developer.android.com/training/monitoring-device-state/doze-standby.html 从Android 6.0 (API level 23)开始,Android提供了两个节电功能用来增加电池的续航时间。Doze 可以在设备长时间不使用时,通过延迟后台CPU和网络的活动来减少电池的消耗;App Standby将延迟没...转载 2018-04-10 14:11:38 · 457 阅读 · 0 评论 -
Android 7.0以上(包含8.0), popupWindow弹窗位置异常, 解决方案
通常我们的App中, 在标题的位置, 点击需要弹出菜单, 效果如下:这很难吗? 拿起键盘就是干…public void showAsDropDown(View anchor, int xoff, int yoff) { showAsDropDown(anchor, xoff, yoff, DEFAULT_ANCHORED_GRAVITY);}但是往往并不是我们想的那样,...转载 2018-07-16 16:15:09 · 456 阅读 · 0 评论 -
android判断app置于后台监听home键
from:http://blog.sina.com.cn/s/blog_474928c90100yrnh.html 背景:用户按下Home键将程序置于后台运行或者应用启动其他activity,比如系统浏览器,短信等,需要向系统发送通知,用户做完别的操作后,点击通知栏,回到应用。问题一在什么时机发送通知?用户按下Home的事件在应用层时捕捉不到的,因此只能从activity生命周期...转载 2018-07-16 18:02:56 · 1301 阅读 · 0 评论 -
Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)
Android XML shape 标签使用详解 一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景。但是,也肯定也有人在能使用 Drawable 的地方选择使用一张 png 图(或者是一张 .9 图)作为 View 的背景,因为后者把问题交给 UI 设计人员去了,省事。当然,使用图片这种在项目中也很常...转载 2018-07-12 11:28:05 · 233 阅读 · 0 评论 -
Android Elevation 无效分析
摘要:1.控件必须设置背景色,且不能为透明。2.阴影是绘制于父控件上的,所以控件与父控件的边界之间需有足够空间绘制出阴影才行。3.有网友提出图片尽量使用.png,防止图片过大导致oom或者elevation失效4.经过本人测试,除了上述原因外,还有:background是图片时、background直接设置具体颜色值时容易无效如:#ffaacc,background是shape时效果最好记录备忘,...转载 2018-07-13 14:55:29 · 747 阅读 · 0 评论 -
android 图片 圆角
public class PhotoTestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.on转载 2013-10-28 11:49:31 · 597 阅读 · 0 评论 -
【Android】webview javascript 注入方法
Android中向webview注入js代码可以通过webview.loadUrl("javascript:xxx")来实现,然后就会执行javascript后面的代码。但是当需要注入一整个js文件的时候,貌似就有点麻烦了。不过理清以下思路,方法其实也很简单,如下:我们通过在webview的onPageFinished方法中执行js代码注入:第一种:当webview加载转载 2016-03-16 11:51:21 · 1002 阅读 · 0 评论 -
Android-WebView中远端链接使用本地js文件
Android-WebView中远端链接使用本地js文件字数456 阅读230 评论0 喜欢9原因本例中加载的js库是 jquery放在本地的原因是:1.js库本身挺大,浪费流量2.js库可能常年不更新步骤0.当然是把js文件放到assets目录中Android Studio的assets目录默认不存在,需要手动创建位置是 src转载 2016-03-16 11:49:50 · 1901 阅读 · 0 评论 -
Fresco 如何在Android Studio中编译
最近facebook在github上托管了一个开源的图片处理项目 fresco,从它的描述上看对图片的处理已经非常完美了。 美中不足的的是这个项目是一个典型的Android Studio的项目,现在Android Studio 还不是那么普及,所以在编译的过程中难免会遇到问题。笔者也是刚开始用Android Studio 由于fresco项目需要用到NDK,需要在编译之前需要先配转载 2015-06-09 15:13:44 · 3167 阅读 · 0 评论 -
转:JNI jstring与c++字符串类型转换函数
jstring与c++字符串类型转换函数?jstring str2jstring(JNIEnv* env,const char* pat){ //定义java String类 strClass jclass strClass = (env)->FindClass("Ljava/lang/String转载 2013-03-06 15:24:11 · 3858 阅读 · 0 评论 -
Android JNI使用方法
经过几天的努力终于搞定了android JNI部分,下面将我的这个小程序和大家分享一下。android JNI是连接android Java部分和C/C++部分的纽带,完整使用JNI需要Java代码和C/C++代码。其中C/C++代码用于生成库文件,Java代码用于引用C /C++库文件以及调用C/C++方法。android Java部分代码:01j转载 2013-03-06 16:26:34 · 1577 阅读 · 0 评论 -
[转载]Android笔记(三十六)Android中js和java的互调(二)(调用js获取返回值)
原文地址:Android笔记(三十六)Android中js和java的互调(二)作者:潜易20.4读取js全局变量或函数返回值借助现有接口技术,js可以执行原生java代码中的方法,可以得到方法的返回值,可以让原生java代码在主线程中动态的操作UI;但是借助该接口,原生java代码,采用webview.loadUrl("javascript: JsFunctionName"),只转载 2015-05-19 18:18:00 · 3915 阅读 · 1 评论 -
Android JNI入门实例(Windows+Cygwin+Eclipse)
1 基础知识点① JNI:Java native interface② Android中调用JNI:static //static区声明的代码会先于onCreate方法执行{System.loadLibrary("HelloWorld");//加载,完整的名字是lib HelloWorld.so}private native String Hello(); //有 na转载 2013-03-06 16:14:08 · 845 阅读 · 0 评论