Android编程
文章平均质量分 70
介绍Android编程相关技术知识,以书本不常见的技术为主,和大家分享最新的技术知识,领略技术发展前沿,第一时间掌握最新流行技术。
xyz_fly
这个作者很懒,什么都没留下…
展开
-
Android编程之LayoutInflater的inflate方法详解
LayoutInflater的inflate方法,在fragment的onCreateView方法中经常用到原创 2014-07-18 15:40:06 · 73182 阅读 · 11 评论 -
Android编程之LayoutInflater的inflate方法实例
LayoutInflater的inflate方法实例原创 2014-07-21 09:22:05 · 33665 阅读 · 15 评论 -
Android编程之Fragment动画加载方法源码详解
上次谈到了Fragment动画加载的异常问题,今天再聊聊它的动画加载loadAnimation的实现源代码:Animation loadAnimation(Fragment fragment, int transit, boolean enter, int transitionStyle) {接下来具体看一下里面的源码部分,我将一部分一部分的讲解,首先是:原创 2014-07-10 10:46:15 · 18196 阅读 · 0 评论 -
Android编程之Fragment使用动画造成Unknown animation name: objectAnimator异常
在为Fragment做切换动画,启动后遇到了一个异常:Caused by: java.lang.RuntimeException: Unknown animation name: objectAnimator截图如下:我的代码如下: fragment = Fragment.instantiate(getActivity(), clz.getName());原创 2014-07-01 11:12:07 · 22798 阅读 · 4 评论 -
Android编程之ArrayList源码详解及使用
ArrayList 本是 java中的代码,放到android这边显得不太合适,但由于它在android开发中又大量应用,所以就放到这里,供大家学习。相信大家对ArrayList不陌生,但要说到细节的方面,可能就有点含糊其辞了。下面就来说几个日常使用中的几个例子:1、判断ArrayList是否有值:if (mList.size() != 0){ // do someth原创 2014-04-04 21:27:05 · 25060 阅读 · 3 评论 -
Android编程之DialogFragment源码详解(二)
DialogFragment是Fragment家族成员之一,如果你把它简单的理解成Dialog,那就错了。它的确可以做作dialog显示,还可以显示出自己定义的Dialog或者AlertDialog,但它同时也是一个Fragment。原创 2014-02-28 23:34:28 · 8700 阅读 · 0 评论 -
Android编程之DialogFragment源码详解(一)
DialogFragment是Fragment家族成员之一,如果你把它简单的理解成Dialog,那就错了。它的确可以做作dialog显示,还可以显示出自己定义的Dialog或者AlertDialog,但它同时也是一个Fragment。原创 2014-02-23 17:52:53 · 16240 阅读 · 0 评论 -
Android编程之LocalBroadcastManager源码详解
LocalBroadcastManager 是V4包中的一个类,主要负责程序内部广播的注册与发送。也就是说,它只是适用代码中注册发送广播,对于在AndroidManifest中注册的广播接收,则不适用。官方英文解释如下:Helper to register for and send broadcasts of Intents to local objects within your pro原创 2014-02-07 22:55:15 · 8902 阅读 · 0 评论 -
Android编程之Intent源码详解
Intent源码详解,直接开始入题: Intent源码6700多行代码,但真正核心代码 就那么几百行,大部分都用来定义常量字符串了 先来看一下public class Intent implements Parcelable, Cloneable 没错,它还实现了cloneable接口,但平常我们很少会用到它,其实现方法为: /** * Cop原创 2014-02-07 21:27:42 · 8179 阅读 · 0 评论 -
Android编程之如何取得View的当前位置
初始化View后,我们可能需要得到某个View的具体位置,你可以使用下面这个方式获得: view.getViewTreeObserver().addOnGlobalLayoutListener( new OnGlobalLayoutListener() { }} 然后,在里面获取当前的view的位置。这里需要传递进原创 2013-07-31 20:27:07 · 5081 阅读 · 1 评论 -
Android编程之指定ListView的item位置
很多情况,我们需要指定ListView中显示Item的位置,如:当前已经滚动到后面,然后响应某个事件,要ListView回到头部。 代码如下,其中mListView为ListView的对象: private void setListViewPos(int pos) { if (android.os.Build.VERSION.SDK_INT >= 8) {原创 2013-07-04 21:17:47 · 33761 阅读 · 0 评论 -
Android编程之仿微信显示更多文字的View
微信朋友圈中,如果好友发表的文字过长,会自动收缩起来,底下有提示,当点击“显示更多”时才会展开。 首先定义布局文件(很简单,不解释):<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:l原创 2013-07-01 16:24:27 · 19734 阅读 · 22 评论 -
Android编程之另一种原因造成Cursor未关闭错误
关于异常错误:Finalizing a Cursor that has not been deactivated or closed。如果有朋友也遇到了类似的错误,又不是因为cursor没有关闭造成的,那么多数就是因为下面这个原因了。 多数帖子都解释为cursor未关闭错误,需要关闭cursor,还有要求关闭database的,但有种情况并不是这些原因造成的。而是因为cursor在执行查询原创 2013-04-01 14:06:08 · 3864 阅读 · 0 评论 -
Android编程之Toast官方使用说明译文
以下来自android官方Toast使用说明的译文 toast是一种简单到弹出反馈操作。它只占用了消息所需要的空间大小,并在当前activity显示和互动。例如,当你退出正在编写email之前,会提示一个“草稿已保存”的toast来告知你可以稍后继续编辑。Toast会在一段时间后自动消失。 首先,通过Toast中的makeText()方法创建一个Toast对象。这个方法有三个翻译 2013-04-01 14:05:01 · 1655 阅读 · 0 评论 -
android编程之ExpandableListView使用总结
ExpandableListView这个类与其他android列表形式视图是比较类似的,看源码的话,可以知道它是多种视图组合而成。今天不分析源码,只写些使用心得。 1、Button对,没错,就是这个button组件,不知道出现都少次过问题,很多都是它造成的!最常见的问题:ExpandableListView无法展开,OnItemClickListener不响应等问题。解决办法:原创 2013-03-04 13:23:52 · 3430 阅读 · 0 评论 -
Activity编程之视频播放界面
最近涉及到一个需要播放视频的界面,内容不多,直接上代码。 先看布局文件act_video_play,里面有一个VideoView组件:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_原创 2013-03-02 00:34:51 · 5129 阅读 · 0 评论 -
Android编程之TimePickerDialog设置确定键导致OnTimeSetListener不响应问题
在调用TimePickerDialog时,如果要修改TimePickerDialog中确定键的名字,就需要调用setButton(int whichButton,CharSequence text,OnClickListener listener)方法,重新设置确定键的名字。但这样直接设置,例如下面的代码,就会造成OnTimeSetListener中onTimeSet不响应。TimePic原创 2012-10-23 13:53:24 · 7337 阅读 · 0 评论 -
Android编程之还原JD-GUI反编译后代码
jd-gui这款jar反编译软件,大家经常用到,它反编译后的代码可以重新生成java文件。但它反编译出的代码,在遇到部分java特定语句的时候就不容易被看懂了。我这里就jd-gui反编译后代码的复原内容讲讲我的经验,与大家分享一下:1、switch语句:正常的switch语句: public boolean onTouchEvent(MotionEvent event)原创 2012-09-24 20:55:19 · 13322 阅读 · 13 评论 -
Android编程之SQLite补充
SQLite常用的写法,我就不提了,这里主要是补充一个当数据库更新的时候,需要增加列的时候的写法:举例来说:在user表中,增加性别一列,默认1为男,0为女,那么写法为:alter table user add sex bit default 1如果不需要默认值的话,就把default 1去掉即可,但如果查询新增加列的话,之前的已有数据的该列就会为null,这点要注意一下。原创 2012-09-18 14:53:12 · 1586 阅读 · 4 评论 -
Android编程之SparseArray<E>详解
最近编程时,发现一个针对HashMap的一个提示:翻译过来就是:用SparseArray来代替会有更好性能。那我们就来看看源码中SparseArray到底做了哪些事情:一、构造从构造方法我们可以看出,它和一般的List一样,可以预先设置容器大小,默认的大小是10: public SparseArray() { this(10); } public Spa原创 2012-09-01 13:13:13 · 93855 阅读 · 19 评论 -
Android编程之TextView的一些高级显示
1. 自定义字体可以使用setTypeface(Typeface)方法来设置文本框内文本的字体,而android的Typeface又使用TTF字体文件来设置字体所以,我们可以在程序中放入TTF字体文件,在程序中使用Typeface来设置字体:第一步,在assets目录下新建fonts目录,把TTF字体文件放到这里。第二步,程序中调用:TextViewtv = (TextView)转载 2012-08-06 13:39:01 · 2814 阅读 · 0 评论 -
Android编程之仿iPhone滚轮控件
网上看到有人写了一个滚动组件,这个不错,大家可以看看但是,我个人觉得这里有一处不是很好,大家可以试试:不循环的情况下,如果就是最后一个选项,你把它移到最上或者最下的位置,它回滚回到选择条时,是直接跳过去的,而不是自然滑动过去的,这个需要改进一下! 这三张图分别是使用滚动控件实现城市,随机数和时间三个简单的例子,当然,界面有点简陋,下面我们就以时间这原创 2012-08-01 14:32:39 · 11942 阅读 · 8 评论 -
Android编程之Bitmap图片压缩大小
Bitmap图片太大,会造成内存溢出。一般的都有图片预览机制,就是得到一张尺寸小一点的图片。这里所谓的缩小尺寸可不是指在layout中设置一下宽高使图片缩小(其实质还是一张占内存大图),而是实实在在的将图片本身缩小,减小内存占用。以下是方法,详细说明都在注释里了:private Bitmap revitionImageSize(String path, int size)原创 2012-07-25 12:12:22 · 11426 阅读 · 1 评论 -
Android编程之解决android-support-v4打包问题
如果工程引入了android-support-v4的jar类库,那么在工程打包混淆时,就会出现报错提示。例如提示你:You may need to specify additional library jars (using '-libraryjars')。这里先给出解决方案,稍后我们再来解释如何处理类似情况:在proguard.cfg里的后面,添加如下内容:-libraryj原创 2012-06-18 13:09:40 · 13958 阅读 · 0 评论 -
Android编程之常用方法集
显示年月日:/** * 显示年月日 */ public static String getShowTime_ymd(long time) { Calendar mCalendar = Calendar.getInstance(); mCalendar.setTimeInMillis(time); int day = mCalendar.get(Calendar.DAT原创 2012-05-25 16:29:28 · 1191 阅读 · 2 评论 -
android编程之得到应用程序信息
android系统运行的应用程序,可以通过PackageManager类获得相关信息:packageManager.getInstalledApplications(0) 这个方法会返回一个list,包含所以程序包括系统程序。通过for (ApplicationInfo app : listAppcations)遍历所有信息通过app.flag标示可以判断当前程序是系统程序还是原创 2012-05-16 18:46:22 · 5389 阅读 · 0 评论 -
android编程之网络连接状态改变
网上有篇文章关于android网络连接状态,其中关于网络连接的判断有错误:在手机没有sim卡的情况下,实际上的连接得到的状态是unknown!这里是在debug的情况下的状态截图:在没有wifi的情况下:在没有sim卡的情况下:这里对其源代码修改一下:// 获得网络连接服务 ConnectivityManager connManager =原创 2012-05-15 17:45:23 · 4500 阅读 · 0 评论 -
android编程之悬浮窗体
用过手机360和QQ手机管家等一些软件的朋友,会发现,在这些应用中,会出现一个悬浮窗体,例如QQ手机管家中打电话的场景:这种窗体除了会显示外,还可以移动它的位置,并且一直显示。除了关闭当前程序外,窗口不会主动消失。其实,它的使用原理也很简单,就是借用了WindowManager这个管理类来实现的。注意:要在AndroidManifest.xml中添加使用权限:<uses-p原创 2012-05-08 14:45:58 · 11543 阅读 · 3 评论 -
android编程之代码布局(三)
前两篇介绍了一般常用的布局组件写法,这一次,再来看看其他组件的一、listviewlistview也和大多数组件一样,一般会在这里难住的,就是自定义布局样式的时候。 // 创建LinearLayout对象 LinearLayout mRelativeLayout = new LinearLayout(this); mRelativeLayout.setLayout原创 2012-04-26 17:14:53 · 3626 阅读 · 1 评论 -
android编程之代码布局(二)
上一篇,我们已经介绍了一点代码布局,接下来,我们接着介绍一、常用组件设置Button,ImageView等组件基本上和xml中所定义的基本一样,就不再详细介绍了。给出一些常用的设置方式,供大家参考:setVisibility(View.VISIBLE) //是否可见requestFocus() //获得焦点setGravity(Gravity.CENTER_VE原创 2012-04-26 12:42:38 · 20176 阅读 · 0 评论 -
android编程之代码布局(常见错误)
一、Caused by:java.lang.IllegalStateException: The specified child already has a parent.造成这个原因,是组件在父类中重复加载了相同的组件例如: TextView mTextView = new TextView(this); mTextView.setText("hello world");原创 2012-04-25 17:51:59 · 5014 阅读 · 1 评论 -
android编程之代码布局(一)
前言:习惯了用xml来写布局的,再用代码来写布局,恐怕会很类。但毕竟有时候,我们还是需要用到代码来写布局。代码布局与xml布局有很多相似点,在大多数方法上都可以直接用,只有个别方法的写法不太一样,接下来,我将分几篇来介绍常用的几种控件。以android工程自带的main.xml为例,看看代码是如何实现的一、设置当前布局关于这个问题只针对初级水平的人员,其他人可略过。原创 2012-04-25 17:38:10 · 44792 阅读 · 4 评论