自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

自动重新拨号的实现(火车票订票电话升级版)

实现自动拨打特定号码,打不通就一直打,直到所有号码都没打通为止。

2013-08-28

自定义按键音

类似钢琴音的12个基准音,频率从440HZ到它的2倍,每次乘以2的开12次方,即可得到该基准音。

2013-07-01

竖向滑动同时改变图片大小

可以实现竖向滑动的同时改变每一个item大小以及位置的功能。

2013-10-23

联系人快速定位

在联系人界面添加A-Z的大写索引,用于快速定位联系人。当联系人过百时还是有点用的。

2013-07-01

切屏之后需要退出两次的activity

一个切屏后需要退出两次的activity

2013-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除