
Android学习笔记
大掌教
会写点前端,会写点后端,会写app,会写游戏,会写策划案,会做产品原型,啥都会一点,拒绝996
展开
-
自定义菜单样式
最近要做个透明效果的菜单,自己摸索了下没做出来。通过google大神找了很多文章,郁闷的很。我看到很多人抄别人的文章,google出来的都是一个样,有意思么。hao123写的一篇自定义菜单的文章,结果都去转,有的甚至连原文出处都没有直接抄过来,真受不了,不知道这些人抄别人的文章是原创 2011-08-15 11:20:06 · 1742 阅读 · 0 评论 -
Android 清除消息
消息机制多用于线程间通信,更新UI等。最近碰到一个应用场景,按下按键需要更新一下UI。这样的情况只需要按键时由handler发送一个消息即可。但是极端的情况是按键按的太快,更新UI有延时,这就会导致消息堆叠,UI更新阻塞。一个解决办法是将按键事件拆成onkeydown很onkeyup。在onkeyup里发消息,在onkeydown里清除还没有来的及处理的消息。这样每次处理的消息都是来的及处理的原创 2012-03-12 11:39:05 · 5706 阅读 · 0 评论 -
ubuntu下opengl开发环境
工作机器是ubuntu的,一直想写写opengl,就是开不了头。万事开头难啊。今天旅游回来了,正好手头没有紧急的事就把opengl的环境搭下。1.下载mesa的相关库和驱动等。 www.mesa3d.org下载,最新版是8.0.2,但是没有GLUT,所以下7.0版的比较好。 MesaDemos-x.y.z.tar.gz, MesaGLUT-x.y.z.tar.gz, MesaL原创 2012-03-31 18:30:53 · 1775 阅读 · 0 评论 -
Android 插拔sd广播
项目中要做媒体扫描,需要检测sd插拔事件。写了个demo分析下。 mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { onReceiveMediaBroa原创 2012-03-16 15:45:30 · 3833 阅读 · 3 评论 -
data/data/目录下的私有数据
Android中的数据存储有好几种方式。可以存sd卡,这个跟一般的读写文件没有什么区别。可以存数据库,可以用sharedpreferences存简单的键值对。还可以在程序私有目录存文件。后面这几中方式的文件都保存在程序私有目录/data/data/yourpackage/...下面。不同的是数据库文件是有自己的目录/data/data/package/databases/..,sharedpref原创 2012-07-22 13:07:59 · 1622 阅读 · 0 评论 -
决定写个天气预报
一直用墨迹的天气,好用。可是最经发现墨迹的天气越做越复杂,整个屏幕塞满了东西,这还不够,滑动翻页拖拉等翻出来的页面也是塞满了东西。我只想看看天气预报啊,我懒得玩那个巨费电的动画效果,懒得看那些个复杂的专业词汇,曲线图什么的。我就想几秒钟看下最近的天气情况,我了个去,又不是打游戏,设这么多的剧情干毛啊。到处都是菜单按钮,要闹哪样啊亲,我该点哪个啊亲。还是自己写个吧,正好最近在学ps,连美工都可以原创 2012-07-22 23:52:48 · 1738 阅读 · 2 评论 -
Java读文件转码问题
说实话我现在很不开心。快零晨两点了,搞个数据库碰到编码问题,搞了好久。 以前也碰到过这类问题,记得当时也是折腾了好久才搞定的。信心满满以为自己已经完全理解了java的编解码问题,以后再碰到就可以轻松搞定,连个笔记都没做。事实证明好记性不如烂笔头啊,写个博客也好啊。时间长了还真就忘了,同样的问题再去搞一遍,不开心啊不开心。 强烈鄙视一下那些个抄人家博客不动脑筋的人,太他妈坑爹原创 2012-07-22 02:03:06 · 3325 阅读 · 0 评论 -
天气预报完成
终于把这个天气预报搞好了,不过功能很简单,目前只能查当天当地城市5天天气。文章末尾附城市列表数据库文件其实后台数据库都已经做好了,按城市和拼音查询的接口也有,自动定位模块也写好了,只是懒的搞了,自己用用就算了。不过明显比墨迹的启动快,墨迹由于是商业软件,出于商业上考虑,加了N多的内容。等哪天朋友有时间帮我做几张图,我再把widget搞搞,以后就不用墨迹啦,嘿嘿。API用的中国天气网的,原创 2012-07-26 21:26:59 · 1780 阅读 · 2 评论 -
Android开发notification跳转
项目中的一个小应用,本来不值得写的,不过最近忙一直没写博客,正好现在闲了,写写打发时间。在一个Service中发的一个Notification,需要给它一个PendingIntent,让这个通知能跳转到应用。如果应用已退出,则启动;如果应用是通过Home键回到桌面的,则进入到应用之前的界面不重新启动。这个PendingIntent需要传一个intent,就是通过这个Intent来实现的。I原创 2012-12-08 14:24:59 · 4317 阅读 · 0 评论 -
解决Android离线文档打开慢的问题
这两天把自己机器上的开发环境升级了一下,发现离线的doc文档打开超慢。谷歌之,得到结论是这货会去谷歌的网站加载一个jsapi的js文件。由于谷歌被我朝各种墙,就加载超级慢。有的同学用脱机工作的方式来看文档,嘿嘿,不错。这里我写了个command,将doc目录下的所有html文件包含jsapi的行删除,试了下,可以秒开了,嘿嘿。find . -name "*.html"|xargs gr原创 2012-12-08 23:10:26 · 3478 阅读 · 0 评论 -
Mac下Android Studio搭建
官方博客:http://www.goonear.com/blog/blog/2014/04/15/macxia-de-android-studio/优快云博客:http://blog.youkuaiyun.com/dawn_moon 最近要给一个客户做一个Android的项目,就又重新搞搞Android的项目。依稀记得最后一次做Android的时候还是在蝴蝶做抬杠的时候,想想都过去一年多了,时间原创 2014-04-15 15:37:00 · 2128 阅读 · 0 评论 -
Android图片裁剪之自由裁剪附代码
我的博客http://blog.youkuaiyun.com/dawn_moon 客户的需求都是很怪的。我有时候在给客户做项目的时候就想骂客户是sb。但是请你相信我,等你有需求,自己变成客户的时候,给你做项目的哥哥肯定也会骂你是sb。 是这样的,客户需要做一个图片上传的功能,这个图片需要裁剪。一般而言,这东西用系统自带的裁剪就搞定了。可是客户不,他要可以自由裁剪,就是长宽比不固定,原创 2014-06-03 21:52:11 · 5516 阅读 · 8 评论 -
Android 选中Gridiew的item
动态刷新GridView的数据后,其焦点也会被重置为第一个。为了保持原来的焦点位置,需要刷新后手动设置焦点位置。mGridViewApp.setSelection(focusIndex);原创 2012-03-27 10:41:35 · 1144 阅读 · 0 评论 -
Android 获取新装程序信息
程序监控apk的安装和卸载。收到系统广播后去取新装程序的包名等信息。String packageName = intent.getDataString();PackageInfo info = getPackageManager().getPackageInfo(packageName,0);这个总是报空指针异常。坑死我了。最后查了半天,才发现是packageame错误,得到的是p原创 2012-03-25 14:29:15 · 1284 阅读 · 2 评论 -
Android应用程序启动过程源代码分析
传送门:http://blog.youkuaiyun.com/luoshengyang/article/details/6689748转载 2011-08-29 11:13:15 · 809 阅读 · 0 评论 -
自定义菜单,透明背景
在前一篇文章自定义菜单样式中有提到怎样自定义菜单,那个方法在2.3版本之前好像都可以,2.3开始就不起作用了。具体原因不知道,可能是android对LayoutInflater.Factory进行了限制2.3之后要实现自定义的菜单,只能自己实现了,下面是我参考别人的代码写的,出处忘了。public class DancerMenu { private LinearLayout mL原创 2011-11-16 15:22:52 · 1334 阅读 · 0 评论 -
3D ListView
http://blogs.sonyericsson.com/wp/2010/05/20/android-tutorial-making-your-own-3d-list-part-1/记录下,有时间研究下原创 2011-11-18 15:06:48 · 1174 阅读 · 0 评论 -
Android属性 android:focusableInTouchMode
这个属性的意思很明显,就是可以通过touch来获得focus。在手机上开发用的不多,因为大多手机都是触摸式的。最近一个TV上的应用需要用到。 一个界面上有一个自定义个button,我需要进入这个界面就高亮这个button。但是用遥控选择这个程序进入能正常显示,用鼠标点击进入就没有高亮的效果。最后添加上这个属性,效果出来了。 可见,click事件和touch事件在焦点处理上是原创 2011-12-08 14:15:23 · 14557 阅读 · 8 评论 -
eclipse 忽略拼写错误警告
eclipse的单词拼写错误警告很烦,去掉如下:在eclipse下的Window--Preference输入spell,把第一个复选框“Enable spell checking“给去掉就可以了。原创 2012-01-31 09:48:09 · 4820 阅读 · 3 评论 -
Android 定制窗口背景
准确点说这里指的是window的背景,而不是Layout的背景。这两者是有本质上的区别的。 很多文章说的窗口背景色,其实就是指的根布局的背景色。所谓窗口,应该是根布局的宿主。把根布局做小一点,不占满屏幕,露出来的依然是黑色。 废话少说,上代码:Window window = getWindow();ColorDrawable colorDrawable = new原创 2012-02-02 09:34:23 · 1987 阅读 · 0 评论 -
Android 跑马灯
现在的人抄袭成风啊,都不带大脑思考的。跑马灯的效果,我看到好多文章就想笑。很多文章都有一句,文字不能比TextView长。我了个去,有点脑子的都知道,文字没有TextView长的话还需要跑马吗?全显示出来了还需要跑马?跑马灯的效果默认是需要获得焦点才有效。为了任何时候有效,可以继承Textiew,重写IsFocused方法,返回true。public class MarqueeTe原创 2011-12-28 10:11:10 · 2949 阅读 · 2 评论 -
Fragment学习一
一个Fragment代表Activity中的一些行为或一部分用户界面。你可以在一个Activity中合并多个Fragment来建立多个UI面板,还可以在多个Activity中重用一个Fragment。你可以把Fragment理解为Activity的一个模块。它有自己的生命周期,接受自己的输入事件,并且你可以在Activity运行的时候添加删除Fragment。 一个Fragment翻译 2012-01-04 18:07:07 · 2647 阅读 · 0 评论 -
Fragment学习二
设计理念 Android3.0开始引入Fragment,主要是为了在大屏幕比如平板上支持更加灵活动态的UI设计。因为平板的屏幕比手机要大的多,因此有更多的空间来组合UI控件并与之交互。Fragment遵循这样的设计,你不用去管理那些视图层次结构的复杂变化。通过将一个Activity的布局划分为多个Fragment,你将能够在运行时修改Activity的外观,并且将这些修改保存在由这个翻译 2012-01-05 13:06:45 · 1625 阅读 · 2 评论 -
Android 自定义ListView系列之适配器模式(少壮不努力,老大学IT)
最近做个项目,要用到异步加载,动态刷新UI等。看了下2.2系统的图库源码,感觉写的不错。同时又把ListView拿出来研究了下,做个笔记。 先上图:1. Android中大量用到了适配器模式,比如ListView、GridView等。 所谓的适配器模式,我的理解是类似电源适配器或者转接头之类的转换器。 电源适配器将不适合机器工作的电压输出为机器适合的电原创 2012-02-13 09:46:30 · 6781 阅读 · 4 评论 -
Eclipse 自动提示
在开发Android时有的人喜欢开代码自动提示,我用了下,确实比较爽。前提条件是机器要好,不然很容易挂。window->Preferences->java->Content Assist在右边有一个Auto activation triggers for java:在后面的框里加上 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX原创 2012-02-24 17:42:44 · 1057 阅读 · 0 评论 -
mac10.9 配置android5.0开发环境
首先吐槽一下,没有谷歌的日子简直太艰难了,你需要买一个VPN,不然痛苦死。我的mac没有升级10.10,不是不想升级,实在是下不下来,放弃了。 mac osx 10.9默认自带java6。但是android5.0需要java8,所以需要去装一个。mac安装jdk1.8简单,一路下一步。安装完以后不需要做配置,默认把当前java环境设成1.8了,我看了一下路径,是用了一个软连接指向了jdk1.8。这原创 2015-05-15 15:39:51 · 1470 阅读 · 1 评论