- 博客(28)
- 资源 (5)
- 收藏
- 关注
原创 android学习笔记:java中的内存分配
今天犯了一个很低级的错误,当我想将一个ArrayList的值赋给另外一个list,借此防止这个list改动而引起的listview adapter异常时,仅仅使用了:ArrayList list = new ArrayList();然后list = myList,之后测试时发现问题依然存在,myList一旦改变,list也跟着改变了。在java里面,这样简单的赋值是不会为新的list分配内
2014-03-05 17:58:38
676
原创 android学习笔记:AndroidRuntime: java.lang.IllegalStateException: The content of the adapter has change
最近项目遇到一个bug,在没有通知adapter的情况下改掉了adapter的内容,但是问题的发生是在一个message传过来之后发生的,所以log里面完全没有自己代码的只言片语,在线程记录里面也没有打印出来主线程死掉的具体原因,只是说被block了。如下:AndroidRuntime: java.lang.IllegalStateException: The content of the
2014-03-05 17:52:33
1346
原创 android学习日记:返璞归真的android-APIdemo
最近项目闲了下来,开始自己写一个小程序,准备放到市场上试试看。在写的过程中出现了极多的眼高手低的问题。读懂代码不难,但是在没有任何代码参考的前提下写一个小小的application却并没有想象的那么简单。在这期间,谷歌原生的APIdemo给了我很大的启发。这些demo代码都很简单(基本不超过200行),但却提供了很好的思路:1.demo在哪?在下载好的android-sdk里面有一个sam
2014-02-20 15:44:49
629
原创 eclipse闪退的处理方法
最近由于编译项目过大,eclipse卡死过两次,卡死之后再进eclipse就闪退了。解决办法:找到workspace文件夹,删掉里面的隐藏文件,然后再进eclipse就不会闪退了。
2013-12-19 22:00:19
787
原创 eclipse中的property配置-----Unable to resolve target .
用eclipse导入项目之后,在安装的时候碰到一个奇怪的问题:apk文件可以生成,但是用eclipse自动导入手机却会报错。最后查看err信息,原来我的eclipse中的SDK只有4.4版本的,也就是说property设置中只能设为target=android-19以及sdk.buildtools=19,如果使用其他的未安装SDK,比如18,就会出现各种各样的问题以及错误。另外,api
2013-12-16 13:01:49
3408
原创 android学习日记:eclipse 无法自动生成R的教训
今天在代码修改时出现了项目不会自动在gen目录下生成R.java的问题。解决办法:把所有的res文件中的错误都处理掉,然后R.java文件就可以自动生成了。
2013-11-22 15:33:30
662
原创 android学习日记:利用反射调用隐藏API
最近用到了反射,最后虽然做到了,不过感觉网上相关的介绍都不是很清楚,就自己总结了下。反射调用一个@hide的方法:例如android.widget.AutoCompleteTextView包下面的setDropDownAlwaysVisible函数,这个函数在源码中是被hide掉的,调用的时候肯定要先获得一个AutoCompleteTextView的具体对象,所以这个对象也要在反射的时候被
2013-11-21 11:17:31
2989
原创 android学习日记:竖向滑动特效之snakeview
最近看到一篇帖子,是关于滑动的同时修改滑动图片大小的。原文的链接已经找不到了,感谢下作者给出的源码。这里对这部分的内容进行简单的分析记录。效果图:首先是思路:要实现如图的效果,使用listview肯定是会有很大问题的,因为listview中所有item的布局宽度都是一致的,而且无法让下一个item覆盖一部分的现在item,即使在framework层对listview或者其父类abs
2013-10-23 17:44:54
880
转载 android GestureListener 手势 多指缩放
原文地址:http://www.blogjava.net/oathleo/archive/2011/08/21/356978.html注意1.onDown 多指事件仍然响应成单指2.onScroll滑动时触发,e1只能获得一个点 ,而e2却能获得多点。(搞不清楚为什么怎么设计)3.想在view上加 GestureListener 可以使用下面的代码:public cla
2013-09-16 09:20:50
1376
原创 自动重新拨号的实现(火车票订票电话升级版)
由于需要,作了一个小小的程序,实现了当收到一个特定intent的时候会从联系人的第一个人开始按照顺序循环拨号的功能。期间参考了网上前辈的代码,还有他们所给出的启示。碰到的最主要的问题是电话状态的监听,官方API只给出了三种拨号状态:CALL_STATE_IDLE,CALL_STATE_OFFHOOK,CALL_STATE_RINGING。IDLE是空闲的意思,也就是电话闲着没事干的状态既不响也
2013-08-28 11:40:49
1012
1
原创 电话拨打的app层流程
最近了解了下在APP层通过发送intent来实现拨打电话的具体流程,通过研究log得出结论如下:Intent i = new Intent(Intent.ACTION_CALL); i.setData(Uri.fromParts("tel", s, null)); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(i)
2013-08-28 11:05:37
736
原创 android学习笔记:联系人侧边栏的实现
最近抽空写了一个小小的联系人,在主界面右侧添加了A-Z的快速索引栏,可以通过点击、滑动来快速定位联系人。源码没来得及做注释,就在这里简单说明下。主界面是由一个listview和一个自定义的侧边栏界面:MyBladeView组成的。1.主程序MainActivity:只是简单的获取控件,设置相关的监听。需要注意的是,在对listview进行setAdapter时,要调用mList
2013-07-01 17:39:09
1887
原创 android学习笔记:拨号钢琴音的实现
上一次想用修改喇叭频率的方法来做出钢琴音,结果失败了。。。再接再厉,找到了OS系统中的12个基准音的音频文件,于是我邪恶又无耻的格式转换了。。。相关的实现还是基于官方安卓4.0的源码,在DialpadFragment.java中找到playTone方法,该方法就是用于实现播放按键定义音乐的。private void playTone(int tone, int durationMs) {
2013-07-01 16:41:14
1238
原创 android学习日记:拨号按键声音自定义
android中的拨号键盘音也是可以改变的,不过不同的是,按键音并不是存储在手机中的ogg格式的音频文件。他是通过C++代码中的频率设定来实现的。具体的音频控制在frameworks/av/media/libmedia文件夹中的ToneGenerator.cpp中实现:const ToneGenerator::ToneDescriptor ToneGenerator::sToneDescr
2013-06-21 12:12:36
3163
原创 杂项整理(1)
判断当前系统语言:Locale.getDefault().getLanguage().toLowerCase().equals("ur")当前activity堆信息的获取:ActivityManager am = (ActivityManager)this.getApplicationContext().getSystemService(Context.ACTIVITY_SER
2013-06-07 10:03:15
759
原创 android学习日记:转屏中的activity的生命周期
最近碰到了一个返回键需要退出两次才能成功返回上个activity的问题,中间由于对activity的了解太过肤浅,很是浪费了一段时间。假设有两个activity A ,B 和 C ,从A中用startActivtityForResult启动B,然后在B中的onResume方法中根据getIntent的值是否为空来自动启动C,当ActivityC处于活动状态时,从竖屏切换到横屏,然后在横屏状态下
2013-05-23 14:29:57
1218
原创 android学习日记:来电大头贴显示流程
来电呼入时的各种信息显示都是在CallCard.java中实现的,其中的updateDisplayForPerson是主角。updateDisplayForPerson会根据电话的当前状态来更改名字号码等信息的显示。图片的替换代码如下:ContactsAsyncHelper.updateImageViewWithContactPhotoAsync( info,
2013-02-26 15:41:50
792
原创 android学习日记:actionbar中按钮的下拉菜单实现
今天找到了实现actionbar里面按钮下拉菜单的实现方法。使用PopupWindow即可。源码如下:package com.bruce.actionbarlist;import android.app.Activity;import android.os.Bundle;import android.view.Gravity;import android.view.LayoutIn
2013-01-11 14:21:28
2041
原创 android学习日记:AsyncTask的运用
最近看到谷歌官网上关于提升画面加载的教程,对于XML文件的认识又多了一些。1.layout的深度不能太大,不然会严重影响加载界面的速度,能够平行布局就尽量平行布局。2.利用include和merge标签来进行界面的复用。3.使用ViewStub来自主决定什么时候加载。一个ViewStub包含有它自己的inflatedid以及layout,但是它平时是不会主动加载的,只有当需要时,自己调
2013-01-10 17:16:50
629
原创 android学习日记:关于ActionBar和Menu
最近看到一篇新闻,google工程师督促android开发者不要依赖物理Menu键,而是要多用下拉菜单,以后的android会放弃三个物理按键的设定,只保留一个。然后就试着学习了下在ActionBar中的按钮以及下拉菜单是如何实现的。但是只能找到一部分的例子,不过还是有所收获,以下是效果图:关于ADD按钮其实就是物理Menu键的一种,只不过在定义该按钮时加上一行androi
2013-01-09 11:04:04
1686
原创 android学习日记:fragment运用
今天认真学习了API上关于fragment的谷歌源码,包含了状态记录、fragment动态添加、以及接口的运用,特此记录。以下是详细代码:package com.example.myfragment;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import com.example.my
2013-01-05 16:15:20
1062
原创 android学习日记:SharedPreferences的使用
最近实现了背景图片的保存,使得开机后原有的背景图片依然存在,不会变成最初的一片漆黑。通过SharedPreferences的使用,使之变得很简单。以下是代码:SharedPreferences prefs = getSharedPreferences("com.android.launcher2.prefs", Context.MODE_PRIVATE);
2012-12-31 15:36:41
513
原创 android学习日记:4.0源生背景修改
经过整整一周的学习,总算实现了android中源生背景的修改。效果如下:分别是修改前的原始界面、选择背景设置界面以及最后的效果图。之前一直想用ScrollView来实现这个效果,后来发现用Gallery会简单很多。虽然Gallery被谷歌抛弃了,不过在4.0源码中还是有着它的大量身影。设计思路很简单:布局->事件->处理->保存状态。布局文件参考的源码Launcher中的w
2012-12-20 20:03:16
1126
转载 Android 中文API (46) —— SimpleAdapter
Android 中文API (46) —— SimpleAdapter前言 本章内容是 android.widget.SimpleAdapter,版本为Android 2.2 r1,翻译来自"德罗德",欢迎大家访问他的博客:http://sparkrico.javaeye.com/,再次感谢"德罗德" !期待你一起参与Android中文API的翻译,联系我over140@gmai
2012-12-17 14:16:45
506
原创 android学习日记:关于ScrollView
昨天看了一篇关于Gallery的博文,作者附带了源码文件。原文地址在http://blog.csdn.net/aomandeshangxiao/article/details/7196921#comments,CSDN傲慢的上校所写。仔细研究了下源码,感觉收获良多。其中只有三个java文件,其中的MyScrollView是我学习的重点。在里面实现了控件滑动的事件监听、动画切换功能。特此记录!我
2012-12-14 12:11:55
555
转载 android中文api(79)——Gallery
android中文api(79)——Gallery前言 本章内容是 android.widget.Gallery,版本为Android 2.3 r1,翻译来自"henly.zhang",欢迎大家访问他的博客:http://www.blogjava.net/zlh320321,再次感谢"henly.zhang" !期待你加入Android 中文API的翻译,联系我over140@g
2012-12-12 11:53:48
517
原创 android学习日记:关于android源码中的壁纸设定程序
今天看了下android源码中的关于壁纸设定程序。它通过一个Gallery对象来实现拖动选择的功能。结合源码分析如下:package com.android.launcher2;import com.android.launcher.R;import android.app.Activity;import android.app.DialogFragment;import
2012-12-11 16:00:02
818
原创 android学习日记:手机主界面背景的修改
最近刚刚开始工作,对android由一窍不通到现在慢慢懂得一丢丢。今天起,记录自己学习中的点点滴滴。 android的原生workspace可以设定wallpapers,但是一旦进入应用界面之后,背景就会变成纯黑。如果可以让应用界面的背景也和桌面的wallpaper一样该多好。于是我就在menu选项中添加了一个新的按钮组,用来实现我的backgroundsettings。
2012-12-10 20:57:58
1001
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人