Android开发笔记
天使之翼
为学日益 为道日损
展开
-
Android开发中遇到的奇怪问题
昨天在做项目的时候,为了替换一个图片不小心讲 JPG 后缀改成了 PNG, 然后重新运行,没有报错,不过发现图片怎么也显示不出新的,后来我Clean了一下工程,这下问题就大了,由于Clean工程会重新部署工程,生成资源文件等然后项目一直显示 xx 但是没有指出哪个文件原创 2011-08-10 14:34:42 · 887 阅读 · 0 评论 -
android 如何自定义通知栏图标(不使用自定义布局情况下)
自定义通知栏图标?不是很简单么。自定义布局都不在话下!是的,有xml布局文件当然一切都很简单,如果不给你布局文件用呢?n听我慢慢道来!首先怎么创建一个通知呢?1.new 一个 Notification n = new Notification(android.R.drawable.ic_menu_share, null, System.currentTimeMill原创 2013-08-28 17:27:39 · 45228 阅读 · 6 评论 -
Android Dependencies 是什么?
Android Dependencies 是什么?Android Dependencies is a virtual folder where Eclipse shows what JAR files the project depends on. It's not a physical folder; you won't find it on your hard disk. And原创 2012-09-26 11:08:14 · 5146 阅读 · 2 评论 -
Android Studio 上手之痛 喜大普奔
虽然 Google 早就说要我们对 eclipse say bye 改用 android studio但是我下载尝试后果断放弃了,为什么呢?一启动就挂在下载一个什么包上面,why? 因为在天朝有一堵墙然后今天在 GitHub 上找到一个开源项目,里面有我想要的东西,不过这个是 android studio 项目,跟 eclipse 完全不兼容好伐于是再次下载 android原创 2015-01-22 17:08:14 · 3819 阅读 · 0 评论 -
android DialogFragment 回调到 Fragment
google 从3.0开始就引入了 Fragment 概念,用 Fragment 代替多 Activity,如果你还停留在 Activity 时代,那你就面壁去吧!Fragment 是好用,但是又几个问题,1.在 ViewPager 里面,你不知道 Fragment 当前是显示还是隐藏状态,就是少了一个 onShow onHide 回调2.就是本客题,显示一个 DialogFr原创 2015-06-08 22:29:14 · 6579 阅读 · 1 评论 -
android ICS式下拉菜单实现详解 PopupWindow
Android 交流群 110687406这是我现在做的一个毕业设计项目:右边这个就是下拉菜单啦,看见有的地方叫他 ICS式下拉菜单,哎哟,不错哦!下面先讲一下实现原理:这种菜单实际上就是一个弹出式的菜单,于是我们想到android PopupWindow 类,给他设置一个view 在弹出来不就OK了吗。PopupWindow 的用法也很简单原创 2012-05-08 21:43:25 · 36487 阅读 · 15 评论 -
Activity onDestroy() 调用研究
刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this 设置给需要回调接口的方法,这种应用场景比较常见,最常见的就是实现 onClickListener 接口,然后 findViewById().setOnClickListenr(this)如果,这个回调接口设置到了一个静态对象(单例模式),当 activity finish() 的时候(按返回键,原创 2013-08-29 16:16:26 · 44428 阅读 · 12 评论 -
/res/values-navexposed 然并卵
看 -navexposed 后缀的官方解释,本以为这个代表有虚拟键的手机加载资源目录,测试了下,并没有卵用顺便吐槽下,google 脑袋被驴踢了,一代代 android 系统都没能解决掉虚拟按键栏,占用手机屏幕,是屏幕尺寸变得不标准,原创 2015-09-08 21:38:15 · 988 阅读 · 0 评论 -
各版本SDK Tools及ADT下载技巧
我们在开发的时候,尤其是使用Eclipse安装ADT插件进行环境配置,我们需要从下载ADT插件及SDK,当我们从官网下载的时候,有的时候可能找不到下载的地方或者下载不到自己想要的版本,我就在此总结下如何下载自己想要的版本。ADT版本和SDK Tools的对应版本可以查看:http://developer.android.com/tools/sdk/eclipse-adt.html,里面详细转载 2016-05-12 13:07:52 · 12256 阅读 · 1 评论 -
android 简易异步任务工具
众所周知,android 是不允许在主线程(UI线程)上执行耗时操作的,这样导致界面卡顿,影响用户体验如果你尝试在主线程执行网络请求,android 会给你抛出异常当然 android 官方也有一些解决方案,比如 Loader AsyncTask ,不过在我看来就是跟渣一样,学习成本高,难以理解,我记得我最初研究者东西花了老半天精力,后来随着代码的积累,对以移动开发也有了自己的体会原创 2016-07-26 20:44:16 · 610 阅读 · 0 评论 -
android ListView 记录当前位置 恢复
为了更好的用户体验,当我们使用 ListView 展示列表内容,用户点击进入下级列表后,返回上级时,我们应当给用户返回到上次所在位置首先你可能会想到使用: void scrollTo(int x, int y) 方法保存 ListView y 位置,但是实际上,ListView 并不是一个 scroll,你不信可以监听他的滚动事件,x y 参数始终是 0所以此法不可行原创 2016-07-26 20:25:41 · 5587 阅读 · 0 评论 -
Android Studio 导出未签名 apk
According to Android: Build Unsigned APK with Gradle you can simply build your application with gradle.In order to do that:click on the drop down menu on the toolbar at the top (usually with android ic翻译 2015-07-26 23:50:40 · 21456 阅读 · 1 评论 -
谷歌中国开发者网站地址
原文 http://bbs.gfan.com/android-8419629-1-1.html谷歌中国开发者网站已正式上线:https://developers.google.cn/安卓api板块:https://developers.google.cn/android/这不是重点。重点是:Pixel/Nexus 官方镜像已经可以正常在国内访问和下载了,地址:https:/转载 2016-12-19 16:42:10 · 2188 阅读 · 1 评论 -
Android 手绘 - 支持保存为图片
Android 交流群 110687406 期待贤士啊,好难看的机器人。。。。 应 yzuo_08 要求做了此Demo,跟以前那个手写板Demo不同的是可以将画布的内容保存为图片。 附上关键代码:MainView.javapackage com.tszy.views;import java.io.File;import java.io.FileNotFound原创 2012-08-05 13:35:41 · 6850 阅读 · 1 评论 -
android PowerManager goToSleep 等用法
这个API很多坑,搞得我头疼好几次才研究出如何使用第一个坑原创 2014-07-18 23:51:41 · 24100 阅读 · 23 评论 -
android解决Fragment重影问题
当你使用 单Activity + 多Fragment 设计界面时应该会遇到多个Fragment同时显示,如果你最上层 Fragment不透明就会看到下面一层,就是所谓的重影如图:出现这种情况一般在 Activity重新创建复现,其原因是 Activity重建的时候,FragmentManager 没有重建,而我存储的 Fragment 对象随着 Activity对象销毁,不过按理说前一个 ...原创 2018-12-11 18:30:17 · 1564 阅读 · 0 评论 -
深入理解 Context
什么是Context?想必大家都不陌生,在 Android 开发中离不开 Context 调用各种跟系统有关的 API 都必须用到 Context 。我们可以将她理解为上下文环境,大概就是里面存储一堆全局变量,这些变量在调用系统 API 时需要用到。文字始终难以表达我想说的,咱们来分析原理吧! Context 哪里来的?开发 Android 应用必须得有一个 Activity ,...原创 2013-10-10 13:42:16 · 22296 阅读 · 4 评论 -
【原创】高通 Android ThermalEngine 温度引擎
不知道各位有没有从 logcat观察到一种日志没错就是这样,看PID就知道是内核进程,那是啥玩意呢,google一下,找到这个https://developer.qualcomm.com/qfile/28825/lm80-p0436-8_thermal_debugging_guide.pdf看来这是高通官方的一个温度监控模块,那么他有什么作用呢,从文档不难得知各位看官请自行阅读...原创 2019-04-27 19:33:50 · 3376 阅读 · 4 评论 -
Eclipse ADT 插件安装慢的解决办法
参考贴:http://blog.csdn.net/ludonghai715/article/details/6973433在天朝很多事情就不可避免的蛋疼,download.eclipse.org 访问巨慢,导致 ADT 安装过程也巨慢,有事运气好会快一点,但大部分时候就跟shi一样要跟上Google的大步伐必须的解决这个问题啊,好在国内有志人士做了Eclipse的镜像站原创 2014-11-15 19:21:08 · 11465 阅读 · 2 评论 -
【原创】android public.xml 用法
如果你用 apktoool 反编译过 apk 就知道,反编译后res/values 下有一个 public.xml 文件,内容如图这个东西有什么用呢?先从如何使用资源 ID 开始,在开发中我们通常使用 Resources.getXXX(resid) 来获取某个资源,传入的是 ID 这个 ID 定义在 R.XXX 类里面,R 类是编译器自动生成的,打开看知道其实资原创 2014-08-29 00:57:33 · 26953 阅读 · 3 评论 -
Android 开发笔记
2011/8/311.在代码里设置activity主题:public void setTheme(int resid)必须在任何view被实例化之前调用此方法!例如:在 setContentView(View) 或者inflate(int, ViewGro原创 2011-08-31 12:11:59 · 1335 阅读 · 0 评论 -
充分利用Android XML资源---数组资源
1.Integer数组在程序中的使用, 250 2 65 47 使用数组资源的背景:最近在做一款游戏,游戏的许多小图片都在一张大图上,要使用它们需要知道每张小图在大图上的:x,y,w,h于是我就纠结了:要是一张一张的图片我可以使用 R.drawable.图片ID ,这回是好多图片在一个大图上,我该怎么使用呢?想了三种方案1.在程序每个地方都采用原创 2011-11-10 14:04:31 · 7766 阅读 · 0 评论 -
Java 可变参函数实例
跟朋友谈论问题提到N个数组一维拼接需求,于是写了下面这个函数,用了java的可变参功能public static int[] arrAdd(int[]... aaList) { int[] ac; int j = 0, size = 0; // 测总长 for (int[] ta : aaList) { size += ta.length; } ac原创 2012-05-04 21:18:29 · 1546 阅读 · 0 评论 -
Eclipse开发Android各种怪病
让人狂抓的问题1.Console、Logcat 窗口老是自动弹出现象:我平时喜欢隐藏Console窗口以留出更大的空间来编辑代码,不被其他东西干扰,尤其是像控制台你在专心写代码的时候,Console窗口有消息打印他马上就会弹出来,并且夺取焦点,这是你必须又点一下鼠标到代码编辑窗口,但是这样还没完,Console有新消息的时候这是一大堆来的,这时你只有等他把消息打印完吧,!原创 2012-05-18 10:58:27 · 1964 阅读 · 1 评论 -
NDK 使用笔记
2012/9/14mk 文件 LOCAL_LDLIBS := 连接到NDK现有的静态库,比如使用了C库函数需要 -lc,在 user/lib 目录下----- 几点小技巧 ----NDK 使用技巧1.如何强制输出编译命令:-------------------------------------------使用命令 "ndk-build V=1"原创 2012-07-24 14:04:53 · 1109 阅读 · 0 评论 -
Android 文件锁研究 FileLock
文件锁看似简单,但是在 Android 使用却遇到重重问题,几经尝试终于得出正解:先看如何获取文件锁:FileChannel.tryLock() 要想获得文件锁,先打开文件通道,通道可以来自几处,我尝试过3处:1.RandomAccessFile 文件若不存在会自己创建,结果发现通过其获取的文件锁锁住某个文件后,在另外一个线程中任然可以获取该文件锁,具体原原创 2013-08-08 16:52:10 · 11741 阅读 · 2 评论 -
消除 activity 启动时白屏、黑屏问题
默认情况下 activity 启动的时候先把屏幕刷成白色,再绘制界面,绘制界面或多或少有点延迟,这段时间中你看到的就是白屏,显然影响用户体验,怎么消除呢?在 Activity theme 设置style 即可 true true false @android:color/transparent转载 2013-08-29 16:44:43 · 17867 阅读 · 0 评论 -
java Arraylist 同步问题,引发的问题
/** * 缓存一个 Notify */ public static void cacheNotify(Notify n) { synchronized (notifyCacheList) { notifyCacheList.add(n); } FsSdkLog.i(LOG_TAG, "cache notify " + n.toString()); } /**原创 2013-08-30 18:26:27 · 2797 阅读 · 1 评论 -
如何知道我在通知栏的展示的 Notification 被点击了?
如何知道我在通知栏的展示的 Notification 被点击了?好像不会有人有这样的需求?那我讲讲我的需求好了!公司开发push广告,然后我需要知道用户是否点击了通知,以统计点击率!当然一般的push都是启动自己activity,这样在你 activity 启动的时候监听就好了!但是我设计的是这样的:1.如果应用已安装,Intent 是打开应用2原创 2013-07-25 11:29:31 · 13087 阅读 · 11 评论 -
android SQLite 优化
本文为性能优化的第一篇——数据库性能优化,原理适用于大部分数据库包括Sqlite、Mysql、Oracle、Sql server,详细介绍了索引(优缺点、分类、场景、规则)和事务,最后介绍了部分单独针对Sqlite的优化。1、索引简单的说,索引就像书本的目录,目录可以快速找到所在页数,数据库中索引可以帮助快速找到数据,而不用全表扫描,合适的索引可以大大提高数据库查询的效率。转载 2013-10-14 13:53:55 · 2137 阅读 · 0 评论 -
android string.xml 添加特殊字符
原文:http://hi.baidu.com/jwq359699768/item/ac7a9bf84ad7fdd242c36ac6项目中要在string.xml 中显示特殊符号,如@号冒号等,直接写肯定不行啦。。只能考虑使用ASCII码进行显示: @号 @ :号 : 空格 以下为常见的ASCII十进制交换编码: &#转载 2013-10-15 18:31:10 · 32977 阅读 · 5 评论 -
研究 android apk安装卸载等 产生的 系统广播
研究对 android 应用进行些列操作后,系统会产生什么广播原创 2013-10-19 12:54:18 · 10091 阅读 · 0 评论 -
android 判断网络连接是否可用
为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是:1.判断当前手机是否打开了网络,2.打开了网络是否可以上网,然后再去执行联网逻辑,避免没联网做不必要的工作!通常情况下,我们是这样判断的 public static boolean isNetAvailable(Context context) { Connec原创 2013-11-10 11:46:05 · 7559 阅读 · 0 评论 -
Android ActivityManager isUserAMonkey() 方法探究 与 monkey 测试
首先,这个方法纯属 google 开的一个玩笑先看官方 API 解释isUserAMonkey()Returns "true" if the user interface is currently being messed with by a monkey.字面意思为 返回 true 如果此时用户界面被一直猴子给搞乱了api 文档看不出什么究竟,我们来看下源码吧原创 2013-12-22 00:25:23 · 5274 阅读 · 0 评论 -
android PendingIntent.getBroadcast 之坑
我在 Notifycation 里设置了一个 BroadcastReceiver 类型的点击回调、使用 intent 的 action 与 category 来接受点击广播,使用同一个广播接受器接受,再在 intent 里面放一些数据,来进行不同的处理,每次发送通知只是改了intent extra 数据那么好,我来获取 PendingIntent PendingIntent原创 2013-12-24 16:57:06 · 30067 阅读 · 5 评论 -
关于 Android 禁止系统锁屏与解锁亮屏
需求:某个时刻任务执行文原创 2014-07-08 14:21:19 · 6088 阅读 · 0 评论 -
【原创】Android 移植 freetype 应用实例
本例程使用Bitmap模拟嵌入式 LCD屏1、移植freetype源码这个捡现成,可以使用cyanogenmod源码,https://github.com/julienr/libfreetype-androidhttps://github.com/CyanogenMod/android_external_freetype我用的第一个人的,下载下来直接复制过去即可,第二个你...原创 2019-06-02 22:17:11 · 2534 阅读 · 4 评论