安卓学习笔记2

1.IntentFilter  

Intent详解 http://www.cnblogs.com/engine1984/p/4146621.html

<activity android:name=".SecondActivity"><intent-filter><action android:name="hello1" /><action android:name="hello2" /><category android:name="android.intent.category.DEFAULT" /><category android:name="category1" /><category android:name="category2" /></intent-filter></activity>
<activity android:name=".ThreeActivity"><intent-filter><action android:name="hello1" /></intent-filter></activity>
Intent intent = new Intent();
intent.setAction("hello1");
intent.addCategory("category1");
startActivity(intent);

启动一个activity,这个activity的action为hello1,category为category1,必须同时指定action和category 才可以找到对应的activity。只指定action的话,是找配置了

<category android:name="android.intent.category.DEFAULT" /> 的action ,
ThreeActivity是找不到的,Intent是同时找action和category组合,缺一不可

2.使用LayoutInflater加载布局

带你一步步深入了解View(一) 
http://blog.csdn.net/guolin_blog/article/details/129218893

3.使用FragmentTabHost实现底部导航

http://www.tuicool.com/articles/fmMV7b

http://www.codesocang.com/jiaocheng/shoujikaifa/10312.html

什么是FragmentTabHost?

在Android较早的API中,使用导航栏一般是采用TabActibvity+TabHost+Activity,但自从Android 3.0中引入了Fragment后,上述方式则不再被官方推荐,而是推荐使用FragmentActivity+FragmentTabHost+Fragement。这样做的原因,想必大家都明白:因为Fragment比Activity更灵活,且更省资源。

因为Fragment是3.0中才引入的,Google为了保持向下兼容的风格,提供了v4包:android.support.v4.app.FragmentTabHost,

TabHost命名空间:android.widget.TabHost初始化函数(必须在addTab之前调用):setup(); 包含两个子元素:1.Tab标签容器TabWidget(@android:id/tabs)2.Tab内容容器FrameLayout(@android:id/tabcontent)FragmentTabHost命名空间:android.support.v4.app.FragmentTabHostandroid.support.v13.app.FragmentTabHost初始化函数(必须在addTab之前调用):setup(this, getSupportFragmentManager(), R.id.realtabcontent);包含三个子元素:1.Tab标签 容器TabWidget(@android:id/tabs)2.Tab内容 容器FrameLayout [宽高皆为0dp](@android:id/tabcontent)3.Tab内容 容器FrameLayout [真正的容器](@+id/RealTabContent)疑问为什么同时存在TabContent 和 RealTabContent 两个FrameLayout?
答疑:《关于FragmentTabHost中TabWidget不能移到屏幕下面的Bug》http://blog.csdn.net/wklbeta/article/details/11329207资料:《Android开发:使用Fragment改造TabActivity》http://www.blogjava.net/amplifier/archive/2012/12/27/393409.html经验 - 实现Tab功能的几种方式        1.(废弃)继承自TabActivity + TabHost 布局 + Activity 内容1.1:TabActivity为ActivityGroup[在版本13里被放弃]子类1.2:使用getTabHost() 获得TabHost 对象1.3:使用 newTabSpec(...).setContent(Intent) 添加Tab标签与内容        2.(废弃)继承自ActivityGroup + TabHost布局 + Activity 内容2.1:ActivityGroup在版本13里被放弃2.2:使用findViewById 获得TabHost 对象2.3:使用setup(new LocalActivityManager(this, true))初始化2.4:使用 newTabSpec(...).setContent(Intent) 添加Tab标签与内容        3.(简单)继承自FragmentActivity + FragmentTabHost 布局 + Fragment 内容3.1:使用findViewById 获得FragmentTabHost 对象3.2:使用setup(this, getSupportFragmentManager(), R.id.realtabcontent)初始化3.3:使用addTab(newTabSpec().setIndicator(),Fragment.class, null) 添加Tab标签与内容        4.(复杂)继承自FragmentActivity + TabHost 布局 + ViewPager布局 + Fragment 内容4.1:使用findViewById 获得TabHost 对象4.2:使用setup()初始化4.3:使用TabHost.addTab(tabSpec.setContent(DummyTabFactory));添加Tab标签与空内容4.4:在TabHost.onTabChanged中控制ViewPager的实际显示4.5:滑动时在ViewPager.onPageSelected 中控制Tab标签的选择。PS:当Tab标签数量固定且不追求和系统保持一致的标签效果,的情况下这里的TabHost布局有些多余。如 :特有应用需要的Tab标签固定,且有自己的一套显示效果,那么这里完全无需TabHost布局。        5.(DIY)继承自FragmentActivity + 自定义布局 + ViewPager布局 + Fragment 内容5.1:自定义布局中嵌入固定Tab标签元素5.2:在标签元素点击事件中控制ViewPager的实际显示5.3:滑动时在ViewPager.onPageSelected 中控制标签元素的选择。

 4.Android中Application类用法

http://www.cnblogs.com/renqingping/archive/2012/10/24/Application.html

5.Gradle实现apk多渠道打包 

http://blog.csdn.net/maosidiaoxian/article/details/42000913

http://www.cnblogs.com/meishan/p/5903502.html

AndroidManifest.xml文件详解(meta-data)

http://www.cnblogs.com/zhangxia/p/4958276.html

Android studio 多渠道打包(超简洁版)

http://www.cnblogs.com/0616--ataozhijia/p/4203997.html

第一次使用Android Studio你应该知道的一切配置:gradle项目构建

http://www.cnblogs.com/smyhvae/p/4456420.html

6.gson json的解析和生成 

Gson的基本用法

http://www.jianshu.com/p/e740196225a4

7.NoHttp文档地址

http://doc.nohttp.net/222341

8.Fragment用app包还是v4包解析

http://blog.csdn.net/zc0908/article/details/50721553

Android manifest <uses-permission> 的位置千万别放错

应该放在<manifest 的下一级,放到 <application>里面就会杯具了,编译不报错,但是程序永远不会拿到这些权限!2个多小时血与火的教训!哈哈:)

9.《EventBus》的运用

http://edu.csdn.net/course/detail/3349

10.setVisibility 设置view的可见和不可见

View缺省为可见的,在应用可以通过setVisibility 修改View的可见性,View可用性可以有如下三种状态:
View.VISIBLE View可见
View.INVISIBLE View不可以见,但仍然占据可见时的大小和位置。
View.GONE View不可见,且不占据空间。
本例使用三个按钮来修改View B的可见性:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/292021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大公司视频转码

1. 其实基本思路很简单的切片 --》 转码 --》合片 就这个三部曲 2. 存储就是NAS或者hadoop之类的3. ffmpeg对不少切片兼容性有问题 4. 雪影(41044375) 2014-1-13 22:19:17帮上个东家挣了几百万~搞完了哦100台机器 分布式转码 5.怎么连续播放 不黑屏呢&#xff1f;6.雪影(410443…

linux之通过htop操作进程使用总结

1、htop介绍 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器,htop比top更加人性化,有具体界面可以操作,读者可以先使用top看下效果,然后再安装htop. 2、安装htop 输入下面命令 sudo apt-get install htop 3、效…

6大奖项!首届 .NET 黑客松大赛圆满收官!

.NET Conf China 2021 是面向开发人员的社区峰会&#xff0c;基于 .NET Conf 2021&#xff0c;庆祝 .NET 6 的发布和回顾过去一年来 .NET 在中国的发展。峰会由来自北京、上海、苏州、深圳、武汉、广州、青岛、烟台、杭州等各地区的 .NET 技术社区共同发起举办&#xff0c;由微…

看完这套书才发现,以前的四大名著都白看了!

▲ 点击查看四大名著是我国最经典的古典文学作品&#xff0c;代表着传统文化在小说创作方面的最高成就。同时&#xff0c;也是必学书、必读书、必考书。从小了说&#xff0c;在语文学习上&#xff0c;全国统一的语文教材里&#xff0c;五年级下册已出现了四大名著的章节。作为整…

python使用spark sql查询impala_如何使用JDBC将Impala表直接加载到Spark?

我正在尝试使用Python编写一个spark作业,它将打开与Impala的jdbc连接,并将Impala直接从Impala加载到Dataframe中.这个问题非常接近,但在scala中&#xff1a;Calling JDBC to impala/hive from within a spark job and creating a table我该怎么做呢&#xff1f;其他数据源有很多…

在Windows Live Writer中插入C# code

平时都是用Windows Live Writer写博客&#xff0c;发布博客。遇到需要插入代码都是先在notepad中写好&#xff0c;或者是拷贝到notepad&#xff0c;再从notepad中拷到Windows Live Writer&#xff0c;比较麻烦。在博客中使用插件Code Snippet就能很好解决这个问题。 下载地址&a…

linux之vifm和ranger操作文件管理器使用总结

1、介绍vifm和ranger vifm和ranger都是有图形的文件管理操作,有点类是windows上面的“我的电脑” 2、安装vifm和ranger 在终端输入下面命令 sudo apt-get install vifmsudo apt-ger install ranger 3、常规使用vifm 安装成功之后,我们在控制台输入vifm命令,然后显示下面…

RHCS(概念篇)

一、 什么是RHCS RHCS是Red Hat Cluster Suite的缩写&#xff0c;也就是红帽子集群套件&#xff0c;RHCS是一个能够提供高可用性、高可靠性、负载均衡、存储共享且经济廉价的集群工具集合&#xff0c;它将集群系统中三大集群架构融合一体&#xff0c;可以给web应用、数据库应用…

.NET 运行时设置

.NET 运行时设置.NET 5&#xff08;包括 .NET Core 版本&#xff09;支持使用配置文件和环境变量在运行时配置 .NET 应用程序的行为。如果出现以下情况&#xff0c;则运行时配置是一个不错的选择&#xff1a;你不拥有或控制应用程序的源代码&#xff0c;因此无法以编程方式对其…

ElasticSearch——学习笔记

2019独角兽企业重金招聘Python工程师标准>>> Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -> Indices -> Types -> Documents -> Fields 转载于:https://my.oschina.net/u/2307114/blog/799905

opencv python安装linux_Ubuntu16.04、Python3.6下安装opencv4遇到的问题

1.安装opencv在网上搜索Ubuntu16.04下安装opencv4想必一定搜到大把的编译源码安装opencv的教程&#xff0c;其实安装opencv只需一句命令&#xff1a;pip3 install opencv-python说实在我着实没想明白为什么那么多人要编译源码安装呢。。。2.python3.6中导入opencv库终端敲入pyt…

linux之用wget下sublime简单使用总结

1、简单介绍wget 1&#xff09;、wget命令在linux系统上面主要通过url下载&#xff0c; wget url 2&#xff09;、比如我们需要断点续传我们加上参数 -c wget -c url 2、下载sublime 1&#xff09;电脑32位 wget http://c758482.r82.cf2.rackcdn.com/Sublime\ Text\ 2.0.2.tar.…

查看端口被占用的进程号然后结束进程(解决端口被进程占用的问题)

在dos窗口下输入netstat -ano|findstr 8080&#xff08;这里指所占用的端口号&#xff09; taskkill /pid 6865&#xff08;这里至查询出来占用8080端口的pid码&#xff09;转载于:https://www.cnblogs.com/tianhao/p/4231874.html

Python操作Excel——win32com模块和xlrd+xlwt+xlutils组合

今天&#xff0c;接到一个任务&#xff0c;要生成大约两百个excel文件&#xff0c;从2006年到2013年&#xff0c;每个月两个文件&#xff0c;这些文件中除了几个关于日期的单元格不同外&#xff0c;其他数据都相同&#xff0c;所以就想到可以用python写一个小脚本&#xff0c;自…

linux c之管道的介绍、创建关闭和简单读写(父进程向子进程写入数据)

1、管道介绍、 进程间通信的几种主要手段中。其中管道和有名管道是最早的进程间通信机制之一,管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具 有管道所具有的功能外,它还允许无亲缘关系进程间的通信。 2、管道特点、 管道是半双工的,数…

C# dynamic 类型用法举例

dynamic类型允许编写忽略编译期间的类型检查的代码。编译器假定&#xff0c;给dynamic类型的对象定义的任操作都是有效的。如果该操作无效&#xff0c;则在代码运行之前不会检测该错误&#xff0c;如下面的示例所示:这个示例没有编译&#xff0c;因为它调用了staticPerson.GetF…

在微信小程序中绘制图表(part2)

本期大纲 1、确定纵坐标的范围并绘制 2、根据真实数据绘制折线 相关阅读&#xff1a;在微信小程序中绘制图表&#xff08;part1&#xff09;在微信小程序中绘制图表&#xff08;part3&#xff09; 关注我的 github 项目 查看完整代码。 确定纵坐标的范围并绘制 为了避免纵坐标的…

dynamic_cast

dynamic 转换时的类必须有虚函数&#xff0c;否则会编译报错。 #include <iostream> using namespace std;class A { public:int a ;int b;void prt(void){std::cout <<"prt here" << std::endl;}//virtual ~A(){}; };class B: public A { };class…