12 2013 档案

摘要:相信大家一定在见过手机通讯录的一个情景就是使用在选人的时候输入文本框里的数据就能自动筛选。实现的效果如下图。其实实现这样的效果相信大家一定对另外一个控件不陌生那就AutoCompleteTextview,看一下这个控件的源代码也许就能找到你需要的答案。这里的核心就是一个Filterable。至于Filterable的介绍和做什么用的大家就可以自行上网查找相关知识,其中有两个重要的方法方法名作用protected FilterResults performFiltering(CharSequence prefix)在这个方法里执行过滤方法protected void publishResults 阅读全文
posted @ 2013-12-30 22:44 brave-sailor 阅读(601) 评论(0) 推荐(0) 编辑
摘要:AutoCompleteTextView具有输入提示的功能,但是它的这种提示不适合对股票列表的过滤,如果你玩过股票软件,就会知道只要输入股票名称的首字母或股票代码就会出现符合匹配的股票,这种过滤怎么实现呢?还有个问题,汉字具有多音字,如何实现多音字的匹配,比如“长江证券”,无论你输入“cjzq”或者“zjzq”都会匹配到它,这都是需要解决的问题!匹配的关键在于重写BaseAdapter,让它实现Filterable接口,重写其中的getFilter(),如果你参照ArrayAdaper源码的话,写起来就会容易很多,事实上我就是这么做的,^o^下面看一下源码:Java代码 packagecom. 阅读全文
posted @ 2013-12-30 22:31 brave-sailor 阅读(539) 评论(0) 推荐(0) 编辑
摘要:其他构造器的旋转也可参考这副图。 RotateAnimation旋转坐标系为以旋转点为坐标系(0,0)点。x轴为0度,顺时针方向旋转一定的角度。 1.RotateAnimation(fromDegrees, toDegrees) [默认以View左上角顶点为旋转点]。 X轴顺时针转动到fromDegrees为旋转的起始点, X轴顺时针转动到toDegrees为旋转的起始点。 如fromDegrees=0,toDegrees=90;为左上角顶点为旋转点。0度为起始点,90度为终点。进行旋转,旋转了90度 如fromDegrees=60,toDegrees=90;为左上角顶点为旋转点。60度为起始 阅读全文
posted @ 2013-12-24 14:21 brave-sailor 阅读(342) 评论(0) 推荐(0) 编辑
摘要:最新的19版本会在导入的项目下建立一个依赖包 Android Dependencies,在eclipse中右键这个文件夹,在Build Path选项中选择 remove it from build path。。。然后就问题解决,可以正常运行。 阅读全文
posted @ 2013-12-24 08:52 brave-sailor 阅读(184) 评论(0) 推荐(0) 编辑
摘要:Java判断一个字符串是否有中文一般情况是利用Unicode编码(CJK统一汉字的编码区间:0x4e00–0x9fbb)的正则来做判断,但是其实这个区间来判断中文不是非常精确,因为有些中文的标点符号比如:,。等等是不能识别的。以下是比较完善的判断方法:CharUtil.javaimport java.util.regex.Pattern; public class CharUtil { public static void main(String[] args) { String[] strArr = new String[] { "www.micmiu.com", &qu 阅读全文
posted @ 2013-12-23 16:25 brave-sailor 阅读(498) 评论(0) 推荐(0) 编辑
摘要:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理解、对于设计意图的理解是否正确、合理。本文将对它们之间的区别进行一番剖析,试图给开发者提供一个在二者之间进行选择的依据。 理解抽象类.. 阅读全文
posted @ 2013-12-20 13:16 brave-sailor 阅读(171) 评论(0) 推荐(0) 编辑
摘要:功能要求:(1)比如每页显示2X2,总共2XN,每个item显示图片+文字(点击有链接)。如果单行水平滚动,可以用Horizontalscrollview实现。如果是多行水平滚动,则结合Gridview(一般是垂直滚动的)和Horizontalscrollview实现。(2)水平滚动翻页,下面有显示当前页的icon。1.实现自定义的HorizontalScrollView(HorizontalScrollView.java):因为要翻页时需要传当前页给调用者,所以fling函数中自己实现而不要调用父类的fling。[java] view plaincopypublicclassDrawerHS 阅读全文
posted @ 2013-12-18 18:07 brave-sailor 阅读(494) 评论(0) 推荐(0) 编辑
摘要:要实现多页滑动效果,主要是需要处理onTouchEvent和onInterceptTouchEvent,要处理好touch事件的子控件和父控件的传递问题。滚动控制可以利用android的Scroller来实现。这里提供两种做法:1、自定义MFlipper控件,从ViewGroup继承,利用Scroller实现滚动,重点是onTouchEvent和onInterceptTouchEvent的重写,要注意什么时候该返回true,什么时候false。否则会导致界面滑动和界面内按钮点击事件相冲突。由于采用了ViewGroup来管理子view,只适合于页面数较少而且较固定的情况,因为viewgroup需 阅读全文
posted @ 2013-12-18 17:46 brave-sailor 阅读(432) 评论(0) 推荐(0) 编辑
摘要:示意图就不展示了,和上一节的一样,滑动菜单SlidingMenu效果如何大家都比较熟悉,在这里我简单说明一下用自定义ViewGroup来实现. 实现方法:我们自定义一个ViewGroup实现左右滑动,第一屏隐藏,第二屏显示. 代码如下:[java] view plaincopypackagecom.jj.sliding_6;importandroid.content.Context;importandroid.util.AttributeSet;importandroid.util.Log;importandroid.view.View;importandroid.view.ViewGro.. 阅读全文
posted @ 2013-12-18 17:41 brave-sailor 阅读(318) 评论(0) 推荐(0) 编辑
摘要:TextView实现文字滚动需要以下几个要点:1.文字长度长于可显示范围:android:singleLine="true"2.设置可滚到,或显示样式:android:ellipsize="marquee"3.TextView只有在获取焦点后才会滚动显示隐藏文字,因此需要在包中新建一个类,继承TextView。重写isFocused方法, 这个方法默认行为是,如果TextView获得焦点,方法返回true,失去焦点则返回false。跑马灯效果估计也是用这个方法判断是否获得焦点,所以 把它的返回值始终设置为true。以下转自他人:Java语言:Always 阅读全文
posted @ 2013-12-18 17:35 brave-sailor 阅读(1599) 评论(0) 推荐(0) 编辑
摘要:先看看效果图吧,个人觉得图标丑了点,不过还行,自己用PS做的下面是全部代码和流程,一定要按流程顺序来,不然错误!1.tabhost.xml[html] view plaincopy2.tab_item_view.xml[html] view plaincopy3.样式选择器selector:tab_item_style.xml,新建文件夹drawable,然后将该xml文件放进去[html] view plaincopy4.java代码实现:MyTabHost.java[java] view plaincopypackagecom.example.androidtabhost4;importa 阅读全文
posted @ 2013-12-18 10:33 brave-sailor 阅读(651) 评论(0) 推荐(0) 编辑
摘要:最近,在android中用代码动态改变某种布局(组件)的高度时,会遇到如题所示的类转换异常。上网查了一下,如下所示:These supply parameters to theparentof this view specifying how it should be arranged. There are many subclasses of ViewGroup.LayoutParams, and these correspond to the different subclasses of ViewGroup that are responsible for arranging their 阅读全文
posted @ 2013-12-18 10:10 brave-sailor 阅读(309) 评论(0) 推荐(0) 编辑
摘要:public class ActsGroup extends ActivityGroup {private LinearLayout bodyView;private LinearLayout home, gamebox, team, more;private int flag = 0; // 通过标记跳转不同的页面,显示不同的菜单项// private String parameter = Constant.BUTTON_HOME;// 初始化加载/** Called when the activity is first created. */@Overridepublic void onC 阅读全文
posted @ 2013-12-17 18:07 brave-sailor 阅读(441) 评论(0) 推荐(0) 编辑
摘要:前言 在一个主界面中做Activity切换一般都会用TabActivity,使用方便,Activity互相之间相对独立,但是可定制性不强,而且修改起来很麻烦。当然也可以把layout分开,把逻辑代码全写在主界面的逻辑代码中,但是很明显可维护性相当差,这里通过ActivityGroup来解决这个问题。声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com 农民伯伯: http://www.cnblogs.com/over140/文章 1. Android: TabActivity Nested Activities 2. Andr... 阅读全文
posted @ 2013-12-17 14:25 brave-sailor 阅读(361) 评论(0) 推荐(0) 编辑
摘要:Dialog有两种形式的,一个是Dialog及其子类,还有一种是Activity的Dialog显示方式。不管怎样,在自定义Dialog的时候,如果不做一些处理,都会出现黑色背景边框,这个问题动不动就出来困扰我一下,于是打算总结下。一、Dialog及其子类自定义的话,有几种不同形式: 1>.AlertDialog.Builder的setView方法。1234567if (mDialog == null) { mDialog = new AlertDialog.Builder(mContext) .setIcon(R.drawable.ic_launcher) .setTitl... 阅读全文
posted @ 2013-12-15 17:52 brave-sailor 阅读(951) 评论(0) 推荐(0) 编辑
摘要:packageelwin.fei.mobileaudio;importjava.io.BufferedWriter;importjava.io.File;importjava.io.FileWriter;importjava.io.IOException;importjava.text.SimpleDateFormat;publicclassCreateFiles{StringfilenameTemp=Info.audioPath+"/hhaudio"+".txt";//创建文件夹及文件publicvoidCreateText()throwsIOExce 阅读全文
posted @ 2013-12-11 13:20 brave-sailor 阅读(1291) 评论(0) 推荐(0) 编辑
摘要:importjava.io.BufferedWriter;importjava.io.FileOutputStream;importjava.io.FileWriter;importjava.io.IOException;importjava.io.OutputStreamWriter;importjava.io.RandomAccessFile;/***描述:追加内容到文件末尾*@authorAdministrator**/publicclassWriteStreamAppend{/***追加文件:使用FileOutputStream,在构造FileOutputStream时,把第二个参数设 阅读全文
posted @ 2013-12-11 13:18 brave-sailor 阅读(1243) 评论(0) 推荐(0) 编辑
摘要:/***4.0以下系统处理掉返回json的BOM头**@paramjsonStr*@return*/publicstaticStringgetJson(StringjsonStr){if(jsonStr!=null&&jsonStr.startsWith("\ufeff")){LogUtil.d(tag,"jsonstr.exist(utf-8.BOM),json="+jsonStr,BaseAppCommon.Isdebug);//jsonStr=jsonStr.substring(1);jsonStr=jsonStr.substrin 阅读全文
posted @ 2013-12-11 01:17 brave-sailor 阅读(510) 评论(0) 推荐(0) 编辑
摘要:例子说明:用户通过访问web资源的最新电影资讯,服务器端生成XML或JSON格式数据,返回Android客户端进行显示。 此案例开发需要两个方面 WEB开发和Android开发. 一.web开发相对比较简单,只是模拟一下 相关代码如下: 1.实体Beanpackage ygc.yxb.domain;[/font]/*** 电影资讯实体Bean* @author YXB**/public class News { private Integer id; //id private String title; //电影名称 private Integer timelenght; //时... 阅读全文
posted @ 2013-12-11 00:30 brave-sailor 阅读(820) 评论(0) 推荐(0) 编辑
摘要:一般项目中我们把db文件放到assert或者raw目录下面,在程序第一次启动的时候复制到私有目录下面在使用过程中,老是发现复制不成功,私有目录下的db文件总是3072后来发现应该是使用ContentProvider的原因,它会先创建一个空的db。 而我的程序在复制数据库的时候会判断私有目录下是否有数据库文件,如果有则不复制。现在改为用SharedPreferences一个字段判断是否第一次复制。第一次复制数据库的时候就算私有目录下有db文件,也删除。这样就ok了代码如下:Java代码 publicclassCopyDataActivityextendsActivity{booleanneedC 阅读全文
posted @ 2013-12-10 14:44 brave-sailor 阅读(883) 评论(0) 推荐(0) 编辑
摘要:Java代码packagecom.shawn.test;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteOpenHelper;importandroid.util.Log;publicclassDatabaseAdapter{privatestaticfinalStringDB_NAME=&q 阅读全文
posted @ 2013-12-10 14:42 brave-sailor 阅读(2357) 评论(0) 推荐(0) 编辑
摘要:用途及用法网络请求通常有两种形式:第一种,请求不是很频繁,而且每次连接后会保持相当一段时间来读数据或者写数据,最后断开,如文件下载,网络流媒体等。另 一种形式是请求频繁,但是连接上以后读/写很少量的数据就断开连接。考虑到服务的并发问题,如果每个请求来到以后服务都为它启动一个线程,那么这对服务的 资源可能会造成很大的浪费,特别是第二种情况。因为通常情况下,创建线程是需要一定的耗时的,设这个时间为T1,而连接后读/写服务的时间为T2,当 T1>>T2时,我们就应当考虑一种策略或者机制来控制,使得服务对于第二种请求方式也能在较低的功耗下完成。 通常,我们可以用线程池来解决这个问题,首先, 阅读全文
posted @ 2013-12-09 22:28 brave-sailor 阅读(329) 评论(0) 推荐(0) 编辑
摘要:ava如何对ArrayList中对象按照该对象某属性排序增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号排序。Java代码 CodehighlightingproducedbyActiproCodeHighlighter(freeware)http://www.CodeHighlighter.com/-->importjava.util.ArrayList;importjava.util.Collections;importjava.util.Comparator;publicclassComparableTest{p 阅读全文
posted @ 2013-12-09 14:21 brave-sailor 阅读(788) 评论(0) 推荐(0) 编辑
摘要:1. 早期Java提供java.lang.Thread类型包含了一些列的方法 start(),stop(),stop(Throwable)andsuspend(),destroy()andresume()。,Sun 公司的一篇文章 《WhyareThread.stop,Thread.suspendandThread.resumeDeprecated?》2.使用volatile变量来设置Thread的run的循环条件,保证变量同步性publicclassJavaTestextendsThread{privatevolatilebooleanisRun=true;publicstaticvoidm 阅读全文
posted @ 2013-12-09 12:01 brave-sailor 阅读(374) 评论(0) 推荐(0) 编辑
摘要:在Android中,可以自定义类,继承ViewGroup等容器类,以实现自己需要的布局显示。如果你在ViewGroup中增加了控件,却无法显示出 来,那么下面这个例子,就可以用来参考了。(主要是要实现onLayout()方法,在这个方法中,对每个子控件进行measure(),然后再布局。)java代码:package com.arui; import android.content.Context; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.w 阅读全文
posted @ 2013-12-05 17:57 brave-sailor 阅读(325) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示