android中获取当前activity的名称

之前看到网上和教程中通常的做法如下: private String getRunningActivityName(){ ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName(); return runningActivity; } 这个方法不好的是需要在AndroidManifest.xml里面定义权限 事实上有更简单的方法,我一般都这么干! private String getRunningActivityName(){ String contextString =…

Continue Reading →

关于ListView的性能,推荐一篇老外的好文章

对于纯文字内容的ListView,基本可以不看了,除非你数据量巨大,那你还是需要看。 对于有大量图片的ListView,这篇文章必须看,我之前在Android上开发应用时遇到一个ListView,每个Item里面都是若干张小图片,纠结于性能的改进很长时间,最终受益于这篇文章得以改进! 原文很长,我就不贴内容了,这里是链接地址: Performance Tips for Android’s ListView

Continue Reading →

新浪微博 Android SDK中OAuth2.0隐式授权部分的一个代码逻辑问题

在最近使用新浪微博android sdk开发微博登录的时候,从日志中发现一个问题,就是自定义的WeiboDialogListener里面的方法,比如onComplete或者onCancel等,经常会被两次调用,这样其实会导致一些隐性问题,比如增加额外的客户端和服务端的开销,因为我们通常会在onComplete()里面完成更多后续逻辑的处理,而发生这样的情况时,会被处理两次,一开始我犯懒,就在方法外面加入了一个变量 isCompleted 来进行判断,算是暂时解决了问题,后来在好几个地方要开发类似功能的时候,总感觉心里有点儿不爽,于是决定找找到底啥原因 看了看微博sdk里面的代码,在 WeiboDialog.java里面找到了问题,这个java文件主要实现的是创建OAuth的UI,并且通过实现和调用WebViewClient的方法来访问微博的api以及咱们app的callback url, 进而通过WebViewClient里面捕获当前请求的URL,分析URL参数后进行相应逻辑的判断,通过分析,问题应该是在这部分。 在WeiboDialog.java里面有个函数 handleRedirectUrl(),这个函数就是用来判断认证和授权过程中返回参数的,代码如下: [coolcode lang=”java”] private void handleRedirectUrl(WebView view, String url) { Bundle…

Continue Reading →

onClick / onLong / onGesture 同时存在时,点击、滑动、长按屏幕的事件处理顺序

在Android开发中,如果一个Activity里面同时继承实现了 onClickListener、onLongClickListener、onGestureListener, 此时手指在点击、滑动、长按屏幕是各个事件处理的顺序是如何的呢,通过实际项目中写日志得到如下的结果: 点击松开: onDown / onShowPress(稍长会有) / onSingleTapUp /onClick 滑动松开: onDown / onScroll(多次) / onFling / onClick / onLongClick…

Continue Reading →

Android动画背景图自动播放的实现

我们在开发android应用的时候,经常会遇到类似从网络加载大图,在加载的过程中,在图片要显示的ImageView位置,先显示一个转圈的loading动画图,给用户的体验会更好一些,要实现这个动画图很简单,使用在/res/anim中定义xml的方式,通常使用…. 来实现。 不过大多数朋友都会遇到的问题是,动画是做好了,但是界面在加载的时候,动画并不会自动播放,还得通过屏幕点击等事件来触发,这就失去了意义了,实际上,android的动画AnimationDrawable 组件里面有个start()方法用于启动动画播放,但是这个方法不能直接写在onClick,onStart,onResume里面,写进去也是无效的,无法启动动画,只能写在比如事件监听当中,于是我们可以使用点小技巧来实现自动播放 目前我知道的有三种方法: [coolcode lang=”java”] ImageView imageView = (ImageView)findViewById(R.id.xxx); [/coolcode] 方法一:使用Runnalbe()来加载 [coolcode lang=”java”] imageView.setBackgroundResource(R.anim.xxxxx); final AnimationDrawable animationDrawable =…

Continue Reading →

用手机上蹦心签到,生活越秀越精彩

新版蹦心的android客户端已经发布,有android手机的朋友可以马上去体验一下了,iphone的客户端功能开发已经完成,还在进行界面的美化修改中,稍等些日子也能拿到了! android的蹦心应用可以有几种下载安装途径,一种是访问蹦心网直接下载: http://www.bengxin.com/download.php 另外一种方法更简单,有android手机的朋友,应该默认都有google的电子市场,打开电子市场,直接搜索“蹦心”就可以找到并且安装了!具体的使用情况,参照下面的图片:(点击每张图片看大图)

Continue Reading →