
android
文章平均质量分 53
zhyshamily
懒人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
转:自定义Android应用的访问权限
原文出处:http://www.android123.com.cn/androidkaifa/515.html 自定义Android应用的访问权限 由于Android部分设计原理较为开放,可能通过Intent或PackageManager就可以解析处理调用其他应用的子类,所以在部分应用中需要做更多的安全处理,保证应用内部的稳定性和安全性。Android123强...原创 2011-08-18 15:13:28 · 178 阅读 · 0 评论 -
Asynctask onPostExecute未执行的问题分析
问题现象:app使用Asynctask从网络下载数据,并将数据同步更新到UI上进行显示。在app使用的过程中,偶尔会出现数据未更新的情况,且这个问题现象一时找不到必现的操作方法跟踪问题原因发现是AsyncTask.onPostExecute未被执行到的原因。 问题解决办法:google之后,发现可以通过如下方法解决问题:在app的application中的onCreat...原创 2012-10-11 16:39:56 · 298 阅读 · 0 评论 -
使用startActivityForResult启动新的Activity时,onActivityResult立马被执行的问题说明
问题现象描述:Activity P1通过startActivityForResult的方式启动Activity P2,此时,期望应该在P2 finish的后onActivityResult才应该被调用到。而实际结果是:startActivityForResult执行后,onActivityResult也立即会被执行到。仔细分析其原因,此问题的原因与Activity P2在Android...原创 2013-07-18 13:44:36 · 491 阅读 · 0 评论 -
网络加载到的图片适配不同分辨率的手机屏幕
对于从网络上加载到的图片信息,在解析的时候一般会解析成图片的原始大小,也就是实际的像素值。但是往往会出现如下情况:大屏幕图片可能过小,小屏幕图片可能过大,因此需要对屏幕内容按照屏幕的实际密度进行拉伸,处理方式如下:BitmapFactory.Options options = new BitmapFactory.Options();DisplayMetrics metrics = ...原创 2013-12-18 19:38:23 · 488 阅读 · 0 评论 -
ListView的adapter中的getView函数多次重复调用,导致数据显示重复的问题分析
使用ListView显示数据,其中单个item的xml文件中存在ImageView,且此ImageView的图像内容是从网络上下载下来的。实现的时候,为提供ListView的显示性能,因此在adapter的getView中复用了convertView对象。功能实现后,测试过程中发现如下问题:在listview显示的数据项存在翻页的情况下,有的时候滚动完成会出现图片显示错乱或者是相邻两个i...原创 2013-08-27 23:11:00 · 539 阅读 · 0 评论 -
Android应用性能测试(CPU和内存的性能)
按照以下步骤进行性能测试的前置条件1.测试手机具备root权限2.设备上已经搭建android的开发环境通过linux命令实际监控的操作命令1.adb shell 进入控制台2.echo 3>/proc/sys/vm/drop_caches (清除一下系统cache)3.top -d 1 | grep com.tencent.mm (以微信为例,每一秒打印一次资源...原创 2013-09-10 11:26:19 · 508 阅读 · 0 评论 -
问题分析:java.lang.IllegalStateException: getDatabase called recursively
问题场景:在app首次启动使用到db的时候,后台提示如下错误信息java.lang.IllegalStateException: getDatabase called recursively at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:204) at and...原创 2014-03-05 15:33:17 · 398 阅读 · 0 评论 -
SQLiteDatabase使用问题总结
SQLiteDatabase使用过程中经常碰到的问题1.DatabaseHelper在onCreate或者是onUpdate的时候调用DatabaseHelper.getWriteDatabase获取SQLiteDatabase会导致一个递归死循环解决方案:如果在onCreate或者是onUpdate的时候需要获取一个SQLiteDatabase进行数据的读取与写入,应该在onC...原创 2014-03-10 17:40:30 · 1609 阅读 · 0 评论 -
Android性能调优出发点
http://www.trinea.cn/android/performance/http://www.trinea.cn/android/android-performance-demo/以下内容是从以上链接中提取出的要深入的大纲内容何为性能问题在性能测试中存在两个概念:(1). 响应时间指从用户操作开始到系统给用户以正确反馈的时间。一般包括系统处理时间 + 网络传...原创 2014-03-13 17:06:50 · 133 阅读 · 0 评论 -
Error inflating class问题解决思路
修改问题的过程中,碰到如crash log中的日志信息(log信息在文件后面),仔细的检查所使用的layout文件的时候,并未发现特别的问题,layout中除了ViewStub比较特殊之外,其他的看起来都是正常。找到crash中出错的手机,上http://grepcode.com上直接去查看LayoutInflater这个类的源代码,也未发现问题。然后回过头仔细把crash的日志信息看...原创 2013-09-25 17:13:57 · 3422 阅读 · 0 评论 -
删除git submodule最为精准的一片描述文章
转自 http://davidwalsh.name/git-remove-submodule For many git-based projects, submodules are useful in avoiding duplicate work and easing utility library updates. There are times, however, when a...原创 2015-02-11 00:19:03 · 316 阅读 · 0 评论 -
SQLiteDatabase执行计划的查看
Android中内置的SQLite是可以通过命令行工具来查看执行计划的,方式如下所用到的命令请查看文档:https://www.sqlite.org/eqp.html主要的步骤如下(1)找一台具有root权限的手机(2)adb shell进入后,直接通过sqlite3 xxxx打开要进行调优的database命令行界面输入.explain开启explain模式例如...原创 2014-03-27 14:08:08 · 1149 阅读 · 0 评论 -
jar包编译所用的jdk版本不一致导致的问题
所维护的app中使用到一个外部工程但是是自己维护的sdk,这个sdk最终以jar的形式导入到工程里面打包成功后,生成的apk在使用过程中,经常性的出现java.lang.NoClassDefFoundError这样的问题,查看对应的class文件,在jar包中是存在的。仔细检查编译过程的日志,发现有如下信息出现:Dx bad class file magic (cafebabe) o...原创 2014-04-01 13:10:33 · 2449 阅读 · 0 评论 -
Android Studio打开工程出现Android SDK识别不了的问题
问题现象:使用Android Studio打开(import或者是open)一个Android的Gradle工程(setting.gradle或者是build.gradle),建立Android Studio Project成功后,出现如下问题:所有Java代码中的Android SDK相关的API在Studio中均无法识别,也就是提示如下错误:cannot find symbol...原创 2014-08-19 19:51:00 · 2194 阅读 · 0 评论 -
浏览器中打开指定的链接
浏览器中打开指定的链接try { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse(mCurrentUrl)); this.startActivity(intent); } catch (Activi...原创 2014-09-05 18:21:54 · 419 阅读 · 0 评论 -
dumpsys info
dumpsys 命令行的使用收录1.查看ui绘制相关的信息,使用的命令:adb shell dumpsys gfxinfo packagename如果没有profile data,则使用命令adb shell setprop debug.hwui.profile true进行设置...原创 2014-04-24 15:42:55 · 333 阅读 · 0 评论 -
圆形进度条
需要定义drawble文件,如下: <animated-rotate xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/circle_progress" android:pivotX="50%" android:pivotY="50...原创 2012-10-11 15:02:23 · 97 阅读 · 0 评论 -
使用硬件加速的注意事项
为提高app的整体性能,在manifest文件中配置的时候,有可能会启动硬件加速,如下android:hardwareAccelerated="true" 配置后,发现设备在4.0.4与4.0.3这样的版本上使用图片剪裁功能的时候会crash,捕获到的异常信息如下java.lang.UnsupportedOperationException at android.view.GLE...原创 2013-07-02 11:17:15 · 338 阅读 · 0 评论 -
android home键事件的捕获
在不做特殊处理的情况下,在如下函数中是捕获不到home键的事件的public boolean dispatchKeyEvent(KeyEvent event) { return super.dispatchKeyEvent(event); }也就是即使以下函数中有keyCode == KeyEvent.KEYCODE_HOME的处理,也是无效的public boolean ...原创 2011-09-14 17:05:34 · 268 阅读 · 0 评论 -
Android Intent Gallery
LiveWallpaper intentIntent i = new Intent(WallpaperManager.ACTION_LIVE_WALLPAPER_CHOOSER); Wallpaper intentIntent i = new Intent(Intent.ACTION_SET_WALLPAPER);原创 2011-02-12 17:14:57 · 292 阅读 · 0 评论 -
ImageView.ScaleType值说明
参考: http://android.blog.51cto.com/268543/316255 ImageView的属性android:scaleType,即 ImageView.setScaleType(ImageView.ScaleType)。android:scaleType是控制图片如何 resized/moved来匹对ImageView的size。ImageView.ScaleTyp...原创 2011-03-01 13:19:41 · 322 阅读 · 0 评论 -
ListView 使用技巧
通过ListView.addFooterView添加一个footerview至list中,可能出现通过dpad无法focus与click的情况,解决方法 ListView.setItemsCanFocus(true);ListView.addFooterView(view,null,true);同时,view对象需要进行如下设置:view.setFocusable(true); vi...2011-03-02 13:16:35 · 116 阅读 · 0 评论 -
Can I use this Intent? (转自android developer)
Can I use this Intent? Posted by Romain Guy on 05 January 2009 at 6:00 AMhttp://android-developers.blogspot.com/2009/01/can-i-use-this-intent.html Android offers a very powerful and yet eas...原创 2010-11-16 13:51:23 · 146 阅读 · 0 评论 -
android多点触摸实例及疑问
多点触摸的一个比较简明的示例:示例代码出处:http://krvarma-android-samples.googlecode.com/svn/trunk/multitouchsample 在学习此示例的时候发现multitouch最多可以处理5个手指,5个以上的则不能处理~~ package com.varma.samples.multitouchsample;im...原创 2011-07-06 16:10:03 · 153 阅读 · 0 评论 -
Android中的网络时间同步
在通过android平台通过api Settings相关的接口设置时间的自动同步处理后,device上的时间并没有与网络上的某个服务器进行时间的同步处理。这个使用已插入有效sim卡wcdma网络可以用的samsung i9000就可以验证出来。但是对于htc saga device,如果是自定的程序通过Settings去设置,时间同步是失效的,而通过device中的setting功能设置,时间同...原创 2011-07-29 15:14:33 · 467 阅读 · 0 评论 -
获取已安装或未安装的apk签名
某些时候需要获取已安装的apk或者是未安装的apk的签名信息,以下代码片段将会很有用。1.通过app的packageName获取已安装的apk的签名信息 public Signature getPackageSignature(Context context, String packageName){ PackageManager pm = context.getPackage...原创 2012-10-17 13:20:28 · 236 阅读 · 0 评论 -
Android TextView中增加超链接的匹配后,导致非超链接区域点击失效的问题解决方案...
android.widget.TextView中可以增加超链接的处理,在增加超链接处理后,加入此TextView是作为ListView中的item的原素出现,有可能会影响ListView本身的一些click事件,此问题的解决方案如下设置android.widget.TextView的LinkMovementMethod,其中判断是否是处于链接区域,示例代码如下: textView.set...原创 2013-05-17 14:06:47 · 270 阅读 · 0 评论 -
Android端开发的近期总结
本文整理后续的开发关注方向以及测试关注的一些方向开发相关1.android本身的缓存模型;基于android缓存模型与sd的存储实现的:touchDB,https://github.com/couchbaselabs/TouchDB-Android2.网络图片的加载与优化显示,目前了解更多的是https://github.com/nostra13/Android-Universal-...原创 2013-05-17 17:35:42 · 110 阅读 · 0 评论 -
android 图片放大的处理
场景:从网络上下载下来的小图片,直接使用设置某些区域的大小的时候,会使得图片变形。这个时候,最佳的解决方案是,在图片的清晰度可以容忍的情况下,将图片进行拉升放大处理,处理过程如下:Bitmap originalBitmap = originalBitmap1; int bw = originalBitmap.getWidth(); int bh = originalBitmap....原创 2013-05-29 15:37:39 · 172 阅读 · 0 评论 -
InputManagerService异常DeadObjectException的解决思路
最近维护到一个应用程序的代码,在某个activity页面中,页面只要打开持续一段时间(区分手机设备,htc的部分时间能持续半个小时以上不挂,samsung的手机有的40秒不到就挂,有的手机甚至是10秒中就会挂)。 查看后台抛出的异常信息如下: W/InputManagerService(163): Session failed to close due to remote exce...原创 2012-12-14 11:38:57 · 2289 阅读 · 0 评论 -
GridView在复用View的时候导致部分数据显示重复的问题
android.widget.GridView中setAdapter(ListAdapter adapter)中,对于ListAdapter 中的public View getView(int position, View convertView, ViewGroup parent) 有如下处理以复用ViewView row = convertView; ViewHolder hold...原创 2013-06-04 17:14:12 · 869 阅读 · 0 评论 -
mac 环境变量
~/.bash_profile export ANDROID_HOME=/User-Applications/android-sdks-r21 NDK_PROJECT_PATH=/User-Applications/android-ndk-r8b export PATH=${PATH}:${ANDROID_HOME}/platform-tools:${ANDROID...原创 2013-06-26 10:33:29 · 102 阅读 · 0 评论 -
mac下调试android时设备无法识别的问题解决方案
问题现象:1.mac的os版本:os x 10.8.42.adb version: Android Debug Bridge version 1.0.31测试手机:Samsung GT-I9000手机连接到mac上后,使用adb devices得到的信息为“List of devices attached ” 作为mac的初级入门使用者,面对这样的问题只能大量的google...原创 2013-06-27 11:44:14 · 462 阅读 · 0 评论 -
Android Manifest文件中meta-data的配置读取
Manifest文件中配置meta-data的读取,例如如下配置信息:<meta-data android:name="AA_DB_NAME" android:value="Pickrand.db" /> 读取方式public static <T> T getMetaData(Context con...原创 2014-12-01 11:54:38 · 562 阅读 · 0 评论