zoukankan      html  css  js  c++  java
  • ANDROID_MARS学习笔记_S01原始版_022_MP3PLAYER002_本地及remote标签

    一、简介

    1.在main.xml中用TabHost、TabWidget、FrameLayout标签作布局

    2.在MainActivity中生成TabHost、TabSpec,调用setIndicator()、setContent()、addTab(),用Intent指明要跳转的tab对应的class

    3.在onResume中写获取本地mp3信息的代码,代码在onResume中,则切换tab时,mp3信息每次都会更新

    二、代码
    1.xml
    (1)main.xml

     1 <TabHost xmlns:android="http://schemas.android.com/apk/res/android"
     2     android:id="@android:id/tabhost" android:layout_width="fill_parent"
     3     android:layout_height="fill_parent">
     4     <LinearLayout android:orientation="vertical"
     5         android:layout_width="fill_parent" android:layout_height="fill_parent"
     6         android:padding="5dp">
     7         <TabWidget android:id="@android:id/tabs"
     8             android:layout_width="fill_parent" android:layout_height="wrap_content" />
     9         <FrameLayout android:id="@android:id/tabcontent"
    10             android:layout_width="fill_parent" android:layout_height="fill_parent"
    11             android:padding="5dp" />
    12     </LinearLayout>
    13 </TabHost> 

    (2)AndroidManifest.xml

    增加activity

    1 <activity android:name=".LocalMp3ListActivity" android:label="@string/app_name"/>
    2 <activity android:name=".Mp3ListActivity" android:label="@string/app_name"/>

    2.java
    (1)MainActivity.java

     1 package tony.mp3player;
     2 
     3 import android.app.TabActivity;
     4 import android.content.Intent;
     5 import android.content.res.Resources;
     6 import android.os.Bundle;
     7 import android.widget.TabHost;
     8 
     9 public class MainActivity extends TabActivity {
    10 
    11     @Override
    12     protected void onCreate(Bundle savedInstanceState) {
    13         super.onCreate(savedInstanceState);
    14         setContentView(R.layout.main);
    15         //得到TabHost对象,对TabActivity的操作通常都有这个对象完成
    16         TabHost tabHost = getTabHost();
    17         //生成一个Intent对象,该对象指向一个Activity
    18         Intent remoteIntent = new Intent();
    19         remoteIntent.setClass(this, Mp3ListActivity.class);
    20         //生成一个TabSpec对象,这个对象代表了一个页
    21         TabHost.TabSpec remoteSpec = tabHost.newTabSpec("Remote");
    22         Resources res = getResources();
    23         //设置该页的indicator
    24         remoteSpec.setIndicator("Remote", res.getDrawable(android.R.drawable.stat_sys_download));
    25         //设置该页的内容
    26         remoteSpec.setContent(remoteIntent);
    27         //将设置好的TabSpec对象添加到TabHost当中
    28         tabHost.addTab(remoteSpec);
    29         
    30         Intent localIntent = new Intent();
    31         localIntent.setClass(this, LocalMp3ListActivity.class);
    32         TabHost.TabSpec localSpec = tabHost.newTabSpec("Local");
    33         localSpec.setIndicator("Local", res.getDrawable(android.R.drawable.stat_sys_upload));
    34         localSpec.setContent(localIntent);
    35         tabHost.addTab(localSpec);
    36     }
    37 }

    (2)FileUtils.java增加函数

     1     public List<Mp3Info> getMp3Infos(String path) {
     2         List<Mp3Info> list = new ArrayList<Mp3Info>();
     3         File file = new File(SDCardRoot + File.separator + path);
     4         File[] files = file.listFiles();
     5         for(File tempFile : files) {
     6             if(tempFile.getName().endsWith(".mp3")) {
     7                 list.add(new Mp3Info(tempFile.getName(), tempFile.length()+""));
     8             }
     9         }
    10         return list;
    11     }

     

  • 相关阅读:
    三维拓扑排序好题hdu3231
    hdu1811 拓扑排序+并查集缩点
    拓扑排序基础 hdu1258,hdu2647
    uva11827 处理下输入
    poj2116 模拟题
    exgcd求解同余方程的最小正整数解 poj1061 poj2115
    java Web应用配置log4j日志记录
    response.sendRedirect()重新定向的乱码问题
    JavaWeb学习之Servlet(四)----ServletConfig获取配置信息、ServletContext的应用
    JavaWeb学习之Servlet(三)----Servlet的映射匹配问题、线程安全问题
  • 原文地址:https://www.cnblogs.com/shamgod/p/5196228.html
Copyright © 2011-2022 走看看