安卓开发--探究碎片Fragment】的更多相关文章

简述: 最近做开发的时候又遇到了Fragment,发现太久没写,都快忘了,就抓紧写个笔记(我太懒的了233) Fragment可以简单的看成迷你的活动,它和活动一样都有布局和生命周期,它可以嵌入活动之中, 这样在活动的这个大布局中,还可以嵌入碎片的布局,那么app的功能就可以多样化,实现碎片的方式也 很简单,因为碎片是个迷你的活动,那么肯定得和活动一样,搭配一个布局文件,所以做法是先创建 对应碎片的布局文件,然后新建碎片类继承Fragment类,把碎片布局加载进来,然后再把这个碎片 加载到对应我…
记得之前写过2篇关于底部菜单的实现,由于使用的是过时的TabHost类,虽然一样可以实现我们想要的效果,但作为学习,还是需要来了解下这个新引入类FragmentTabHost 之前2篇文章的链接: 安卓开发复习笔记——TabHost组件(一)(实现底部菜单导航) 安卓开发复习笔记——TabHost组件(二)(实现底部菜单导航) 关于Fragment类在之前的安卓开发复习笔记——Fragment+ViewPager组件(高仿微信界面)也介绍过,这里就不再重复阐述了. 国际惯例,先来张效果图: 下面…
什么是ViewPager? 关于ViewPager的介绍和使用,在之前我写过一篇相关的文章<安卓开发复习笔记——ViewPager组件(仿微信引导界面)>,不清楚的朋友可以看看,这里就不再重复. 什么是Fragment? Fragment是Android3.0后新增的概念,Fragment名为碎片,不过却和Activity十分相似,具有自己的生命周期,它是用来描述一些行为或一部分用户界面在一个Activity中,我们可以合并多个Fragment在一个单独的activity中建立多个UI面板,或…
Android开发:碎片Fragment完全解析   为了让界面可以在平板上更好地展示,Android在3.0版本引入了Fragment(碎片)功能,它非常类似于Activity,可以像 Activity一样包含布局.Fragment通常是嵌套在Activity中使用的,现在想象这种场景:有两个 Fragment,Fragment 1包含了一个ListView,每行显示一本书的标题.Fragment 2包含了TextView和 ImageView,来显示书的详细内容和图片. AD:51CTO学院…
目录 在上一篇学习安卓开发[1]-程序结构.Activity生命周期及页面通信中,学习了Activity的一些基础应用,基于这些知识,可以构建一些简单的APP了,但这还远远不够,本节会学习如何使用Activity托管Fragment的方式来进行开发 为什么需要Fragment 单纯使用Activity的局限 为什么需要Fragment呢,这要从Activity的局限说起.在前面使用Activity的过程中已经发现,Activity很容易被销毁重建,甚至是在设备旋转的时候也会被销毁,为了返回之前的…
静态加载好后的界面如下,两个碎片分别位于一个活动的左边和右边: 左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满.一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面分成好几个界面,并且可以分别更新自己的状态,如果没有碎片,那么如果你想要单独在某一个区域实现活动的“跳转”就不可能了,因此我们可以引入碎片,这样就可以在这个区域单独进行碎片的跳转.在利用底部标题栏进行首页UI的切换的时候就需要用到碎片,因此碎片在安卓开发当中十分广泛,这篇博客将会与你讲解如何实现静态…
ListFragment,即Fragment的一个子类,当我们用的一个Fragment只需要一个listview视图的时候使用 该类有几个特点: 1.ListFragment 本身具只有一个ListView视图,返回的也是一个只有ListView的布局对象 2.ListFragment 不需要指定布局,本身固定,只有一个ListView视图 3.给ListFragment中的ListView加载数据或者绑定适配器都只能出现onCreateView(),因为onCreateView方法之后,Lis…
在安卓开发当中,一个十分重要的布局则是底部标题栏了,拥有了底部标题栏,我们就拥有了整个软件UI开发的框架,一般而言,整个软件的布局首先就是从底部标题栏开始构建,然后再开始其他模块的编写,组成一个完善的软件,那么如何才能够编写一个底部标题栏呢,我这里使用了碎片来实现,当然是碎片的动态加载的方式,静态加载的话则不可以达到点击按钮切换碎片的功能. 首先先上效果图: github项目地址:https://github.com/Geeksongs/ButtonTitile 在每一个底部标题栏上一共有四个分…
从0系统学Android--4.1探究碎片 本系列文章目录:更多精品文章分类 本系列持续更新中.... 初级阶段内容参考<第一行代码> 第四章:手机平板要兼顾--探究碎片 平板电脑和手机最大的区别就在于屏幕的大小,一般手机的屏幕大小会在 3 英寸到 6 英寸之间,而一般平板电脑屏幕大小会在 7 英寸到 10 英寸之间.屏幕大小差距过大会导致同样的界面视觉效果有很大的差异. 为了兼顾手机和平板开发,Android 3.0 引入了碎片的概念,可以让界面在平板上更好的展示. 4.1 碎片是什么 碎片…
一.概述 ViewPager是android扩展包v4包(android.support.v4.view.ViewPager)中的类,这个类可以让用户左右切换当前的view. ViewPager特点: 1)ViewPager类直接继承了ViewGroup类,所以它是一个容器类,可以在其中添加其他的view类. 2)ViewPager类需要一个PagerAdapter适配器类(通常需要自定义适配器继承PagerAdapter类重写其中的方法)给它提供数据. 3)ViewPager经常和Fragme…
在上一篇学习安卓开发[4] - 使用隐式Intent启动短信.联系人.相机应用中了解了在调用其它应用的功能时隐式Intent的使用,本次基于一个图片浏览APP的开发,记录使用AsyncTask在后台执行HTTP任务以获取图片URL,然后使用HandlerThread动态下载和显示图片 HTTP 请求数据 解析Json数据 AsyncTask 主线程与后台线程 后台线程的启动与结果返回 HandlerThread AsyncTask不适用于批量下载图片 ThreadHandler的启动和注销 创建…
在上一篇学习安卓开发[3] - 使用RecyclerView显示列表中了解了在进行列表展示时RecyclerView的使用,本次记录的是在应用中如何通过隐式Intent调用其它应用的功能,比如发短信.打电话.拍照等 隐式Intent 短信 判断是否存在相关APP 相机 FileProvider Bitmap 功能声明 隐式Intent Intent对象用来向操作系统说明需要处理的任务.使用显式Intent时,要指定操作系统需要启动的activity,但使用隐式intent,只需告知操作系统想要进…
在上一篇学习安卓开发[2] - 在Activity中托管Fragment中了解了使用Fragment的好处和方法,本次记录的是在进行列表展示时RecyclerView的使用. RecyclerView介绍 RecyclerView及其相关类 RecyclerView的应用 引入RecyclerView 关联RecyclerView和fragment ViewHolder Adapter 将Adapter和RecyclerView关联 RecyclerView介绍 很多时候都需要进行列表的展示,比…
最近在学习安卓开发,开始是看视频学的,基本上是照着老师的操作来,但其实老师也是按照安卓的开发文档来教的,于是决定试试自己看文档来学. 今天学到AutoCompleteTextView,一上来先按照ListView的操作流程: 1.获取对象 2.创建Adapter对象实现BaseAdapter接口 3.setAdapter 结果发现这不行..因为从源码中可以看到adapter参数必须是一个filterable list adapter! /** * <p>Changes the list of…
记得去年年末的时候写过这个侧滑效果,当时是利用自定义HorizontalScrollView来实现的,效果如下: 有兴趣的朋友可以看看这篇文件<安卓开发笔记——自定义HorizontalScrollView控件(实现QQ5.0侧滑效果)> 今天换一种实现方式,来说下GitHub上非常优秀的开源项目SlidingMenu的使用,它是一种比较新的界面效果,在主界面左滑或右滑出现设置界面效果,能方便的进行各种操作.市面上很多优秀的APP都采用了这种界面方案,像facebook.人人网.everyno…
上一篇博客我们讲到了,Fragment的基本使用,相信大家都已经了解怎么去使用了.如果还有不懂得同学可以去看一下,传送门.现在我们来讲解一下Fragment的生命周期. 一.Fragment的事务 再讲Fragment的生命周期之前,一定要讲一下FragmentTransaction也就是fragment的事务,这对我们理解生命周期有很重要的作用. 那么什么是事务?根据用户的交互情况,对fragment进行添加(add).移除(remove).替换(replace),以及执行其他动作,提交给ac…
什么是TabHost? TabHost组件的主要功能是可以进行应用程序分类管理,例如:在用户使用windows操作系统的时候,经常见到如图所示的图形界面.     TabHost选项卡,说到这个组件,不得不先说一件事情,翻翻谷歌提供给我们的API,我们可以发现这样的一段话: 它告诉我们,这个组件在安卓4.0之后已经被废弃了,建议我们新的程序应该使用Fragment组件来代替它. 其实并不出乎意料,使用过TabHost的朋友应该都知道: 1.它的设计违反了Activity单一窗口原则,它可以同时加…
安卓开发之详解getChildFragmentManager和getsupportFragmentManager和getFragmentManager详解 getFragmentManager()所得到的是所在fragment 的父容器的管理器,getChildFragmentManager()所得到的是在fragment  里面子容器的管理器. getSupportFragmentManager()主要用于支持 3.0以下android系统API版本,3.0以上系统可以直接调用getFragm…
安卓开发开发规范手册V1.0 之前发布过一份Web安全开发规范手册V1.0,看到收藏文章的读者挺多,发现整理这些文档还挺有意义. 最近周末抽了些时间把之前收集关于安卓安全开发的资料也整理了一下,整理出一份安卓安全开发手册,大部分内容都是在一些博客看到各位师傅的分享. 一.manifest文件安全 1.1 禁止PermissionGroup的属性为空 PermissionGroup可以对permission进行一个逻辑上的分组.如果PermissionGroup的属性为空,会导致权限定义无效,且其…
首先感谢好人的分享!http://www.mamicode.com/info-detail-516839.html 系统:windows 7 若想直接安装eclipse—android的,请启动如下传送门: http://www.eclipse.org/downloads/eclipse-packages/ 安装思路: 1.先安装ADT-23.0.6.zip-2通过Android SDK Manager添加新的软件包. 注意事项: 在添加Android SDK时候不要一次性勾选选择太多否则安装极…
刚接触安卓开发,试着写个小程序熟悉下,就写了天气预报的小程序,通过httpUrlConnection读流的方式来获取网络公共接口提供的天气XML信息.但在建立http连接时一直报java.io.EOFException,多次尝试无过,但正常的httpUrlConnection却能正常访问. 通过查询Baidu大神,比较多的说法是这是由于httpUrlConnection在某些版本的安卓平台所存在的bug问题,果断改之,通过引用httpClinet外部包来解决该问题,非常成功!代码如下: //外部…
我们开发安卓大多是使用Eclipse和安卓SDK中自带的安卓模拟器.当然,Google早就推出了自己的安卓开发环境——Android studio,在不久前,Google发布了Android Studio 1.0,个人感觉使用起来还是不错的.之前下载过一些Android studio的早期版本,但是都因为"网络问题"而安装失败,无奈删除.而这一次,Android studio 1.0下载后,不需要再联网下载东西了,直接解压就可以使用.  一.Android Studio 1.0.1的下…
虽然本人是JAVA开发工程师平时主要开发Web App,但因为项目需求需要开发对应的移动端.一时又找不到合适的安卓开发人员,兄弟我只好被项目经理"抓来当壮丁了".俗话说好"没有金刚钻不揽瓷器活",Android Studio就是想要开发安卓应用的"金刚钻".今天就聊聊Android Studio的安装配置.关于Android Studio来源,我就不多介绍了(这个大家可以看看百度百科:http://baike.baidu.com/link?url…
在学习monkeyrunner之前,让我们先搭建好eclipse安卓开发环境. 对于程序开发人员而言,eclipse并不陌生,它提供了一个非常广阔的平台来开发程序.同样也可以用它来开发android程序.但是在eclipse中并不能直接开发android程序,需要我们安装一个ADT插件. 在ADT安装前,还有几个前提条件: 1.jdk已安装,并配置好环境变量.关于jdk的环境变量配置这里不做赘述. 2.eclipse已下载并解压.eclipse官网http://www.eclipse.org/d…
我们的UI基于1920x1080分辨率给的尺寸标注,但是在安卓开发中大家一般都使用dp.sp来标注界面尺寸,所以需要一个dp与sp的转换公式. 一开始参考的的这篇文章:关于Android开发中px.dip.dp.sp等单位的概念和转换关系(http://blog.csdn.net/watt520/article/details/9667079) 然后得到下面这两个公式: public static int dip2px(Context mContext, float dp) { float sc…
http://blog.csdn.net/initphp/article/details/10392093 安卓开发笔记系列(43)  在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行.在单线程模型中始终要记住两条法则:  1. 不要阻塞UI线程  2. 确保只在UI线程中访问Android UI工具包        当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要…
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手机才可以(IOS的没有试过) 二.使用Sqllite存储中文 SqlLite中,字段类型要设置为nvarchar,保存时,有两种方式 1)用Post时,对中文的字段要进行UTF8转换 先用一个string变量转换一下(不转换的话Win32编译没有问题,Android编译时出错) str_temp:=UTF8E…
最近在研究移动开发,广泛的阅读有关cordova,apicloud,android资料.发现安卓的开发还是很简单的.再发现greenrobot eventbus开源框架不仅可以简化安卓开发,有可以大幅度的提高安卓的维护性,性能也能有所提高.开发安卓的难度觉得比windows下的winform很简单. greenrobot eventbus的开源地址在https://github.com/greenrobot/EventBus,如果你熟悉android的开发,你一定觉得greenrobot eve…
这几天一直研究在安卓开发中图片应该如何处理,在网上翻了好多资料,这里做点小总结,如果朋友们有更好的解决方案,可以留言一起交流下. 内存缓存技术 在我们开发程序中要在界面上加载一张图片是件非常容易的事情,但如果是加载一堆图片呢?比如ListView,GridView这类的控件,随着屏幕滑动,图片加载也会越来越多,应用程序所可以使用的内存毕竟是有限的,如果一味的去加载图片,很容易导致OOM(Out Of Memory)内存溢出,导致程序崩溃. 这里我们一般的做法是将显示在屏幕之外的图片进行内存回收,…
在上一篇文章<安卓开发笔记——重识Activity >中,我们了解了Activity生命周期的执行顺序和一些基本的数据保存操作,但如果只知道这些是对于我们的开发需求来说是远远不够的,今天我们继续探索Activity,来了解下关于Activity任务栈和Activity四种启动模式的区别. 为什么需要了解关于Activity的任务栈,其实最直接的体现就是提高用户交互友好性. 举个例子,当我们去浏览一个新闻客户端的时候,我们进入了新闻详情页,在这个页面有相隔两条的新闻标题,当我们去点击这个标题的时…