版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_24118527/article/details/82950296
首先查看AndroidManifest.xml文件,这个是清单文件,可以简单地理解为这个APP的配置文件。
就是下图中的这个文件
这里要注意intent-filter里的代码,如图所示
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
这里表示SplashActivity是这个项目的主Activity,在你的手机上点击打开APP,首先启动的就是这个SplashActivity
SplashActivity
这个SplashActivity是欢迎界面或是引导界面
在SplashActivity的源代码中,可以很容易地发现,程序通过显示意图来到MainAcivity
接下来就到了MainActivity
MainActivity
先看一下MainAcitivity的XML文件,可以发现:最外层是TabHost,然后往里是一个RelativeLayout,这个相对布局是针对以下三个部分设计的,也就是:TabWidget FrameLayout ViewPager
MainActivity的一个重要作用就是管理Fragment的切换,我们看一下代码是怎么做的
找到ViewPager
找到TabHost
new一个适配器,并在初始化的时候将mViewPager和mTabHost通过mTabsAdpater联系起来
下面的代码用于添加一些条目,分别对用APP里的DEMO NDEF SPEED CONFIG
mTabsAdapter.addTab(
mTabHost.newTabSpec("leds").setIndicator(
getString(R.string.leds)), LedFragment.class, null);
mTabsAdapter.addTab(
mTabHost.newTabSpec("ndef").setIndicator(
getString(R.string.ndefs)), NdefFragment.class, null);
mTabsAdapter.addTab(
mTabHost.newTabSpec("ntag_rf").setIndicator(
getString(R.string.ntag_rf_text)),
SpeedTestFragment.class, null);
mTabsAdapter.addTab(
mTabHost.newTabSpec("config").setIndicator(
getString(R.string.settings)), ConfigFragment.class,
null);
下面这段代码用于Tab之间的切换
首先当然要确保tag和reader都是非空的
并且tag和reader两者是相互连接的,才能开始后续的工作,也就是launchDemo
未完待续