初识Android之简单实例二

原创 2012年03月26日 18:04:41

自学Android已经一星期了,花了一天时间写了个简单的例子,并在自己的手机上测试了下,感觉在手机上使用还是挺顺畅的,感觉还不错,由于我的手机没去升级,现在还只能支持Android1.5的版本,所以我这个例子所用的SDK版本也是1.5的。

写这个例子也有一定缘由的,昨天买了两本我自认为比较牛的技术书籍,还送了本有关占心术的书籍,粗略的看了眼占心术的书,发现里面有一种由生日计算幸运数的方法,并提供了一些解析说明。我试着计算了下,发现挺准的(其实这些靠不靠谱不是很重要,关键是娱乐而已嘛),于是今天我便将其写成了一个小手机程序,这样一来方便计算与查看解析,二来可以熟练下这几天所学的知识。

这个例子很简单,只有三个Activity类,五个布局文件
说明:程序中所用到的一些图片没发提供了,这个例子代码的编写质量也不是很好,这里好多地方都简单化处理了,可能看起来很别扭,真正开发中这些都要避免的,代码需要不断优化。主要代码如下:包结构为:cn.com.pan;

---------------MainActivity ------------------------------

public class MainActivity extends ExpandableListActivity {
 
 private Button exitButton;
 private Button enterButton;
 @Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //定义一个List,该List对象为一级条目提供数据
  List<Map<String, String>> groups = new ArrayList<Map<String, String>>();
  Map<String, String> group1 = new HashMap<String, String>();
  group1.put("group", "软件简介");
  Map<String, String> group2 = new HashMap<String, String>();
  group2.put("group", "内容简介");
  Map<String, String> group3 = new HashMap<String, String>();
  group3.put("group", "使用说明");
  Map<String, String> group4 = new HashMap<String, String>();
  group4.put("group", "用户反馈");
  Map<String, String> group5 = new HashMap<String, String>();
  group5.put("group", "广告加盟");
  groups.add(group1);
  groups.add(group2);
  groups.add(group3);
  groups.add(group4);
  groups.add(group5);
  //定义一个List,该List对象为第一个一级条目提供二级条目的数据
  List<Map<String, String>> child1 = new ArrayList<Map<String, String>>();
  Map<String, String> child1Data1 = new HashMap<String, String>();
  child1Data1.put("child", "版本:fd-1.0");
  child1.add(child1Data1);
  Map<String,String> child1Data2 = new HashMap<String,String>();
  child1Data2.put("child", "开发者:小潘学Android");
  child1.add(child1Data2);
  //定义一个List,该List对象为第二个一级条目提供二级条目的数据
  List<Map<String, String>> child2 = new ArrayList<Map<String, String>>();
  Map<String, String> child2Data = new HashMap<String, String>();
  child2Data.put("child", "幸运数:人生角色定位以及发展使命。幸运数是诸多生命" +
    "密码中最为广泛应用的一种计算方式,由1-9个数字组成(11、22、33为卓越数)" +
    "每个数字都有从低层到高层的能量,优势与劣势共存,这同时也是一条自我完善的途径。");
  child2.add(child2Data);
  //定义一个List,该List对象为第一个一级条目提供二级条目的数据
  List<Map<String, String>> child3 = new ArrayList<Map<String, String>>();
  Map<String, String> child1Data3 = new HashMap<String, String>();
  child1Data3.put("child", "点击进入,再输入自己的生日,单击测试便可。");
  child3.add(child1Data3);
  //定义一个List,该List对象为第一个一级条目提供二级条目的数据
  List<Map<String, String>> child4 = new ArrayList<Map<String, String>>();
  Map<String, String> child1Data4 = new HashMap<String, String>();
  child1Data4.put("child", "有什么疑问或建议请联系:893736334或0731-8864034");
  child4.add(child1Data4);
  //定义一个List,该List对象为第一个一级条目提供二级条目的数据
  List<Map<String, String>> child5 = new ArrayList<Map<String, String>>();
  Map<String, String> child1Data5 = new HashMap<String, String>();
  child1Data5.put("child", "有需要内置广告的客户请联系:893736334或0731-8864034");
  child5.add(child1Data5);
  //定义一个List,该List对象用来存储所有的二级条目的数据
  List<List<Map<String, String>>> childs = new ArrayList<List<Map<String, String>>>();
  childs.add(child1);
  childs.add(child2);
  childs.add(child3);
  childs.add(child4);
  childs.add(child5);

    SimpleExpandableListAdapter sela = new SimpleExpandableListAdapter(
    this, groups, R.layout.group, new String[] { "group" },
    new int[] { R.id.groupTo }, childs, R.layout.child,
    new String[] { "child" }, new int[] { R.id.childTo });
  //将SimpleExpandableListAdapter对象设置给当前的ExpandableListActivity
  setListAdapter(sela);
  exitButton = (Button) findViewById(R.id.exitButton);
  exitButton.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
        finish();
   }
  });
 }
  protected void onStart(){
  super.onStart();
  enterButton = (Button) findViewById(R.id.enterButton);
  enterButton.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    Intent intent = new Intent();
    intent.putExtra("one", "1");
    intent.setClass(MainActivity.this, ChildActivity.class);
    MainActivity.this.startActivity(intent);
   }
  });
 }
}
--------------------ChildActivity -----------------------------
public class ChildActivity extends Activity {
 
 private TextView nextView;
 private static final int DATE_PICKER_ID = 1;
 private Button showDatePickerButton = null;
 private EditText yearText;
 private EditText monthText;
 private EditText dayText;
 private Button exitButton01 = null;
 private Button testButton = null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.next);
        nextView = (TextView) findViewById(R.id.nextView);
        Intent intent = getIntent();
        String strone = intent.getStringExtra("one");
        int intOne = Integer.parseInt(strone);
        showDatePickerButton = (Button) findViewById(R.id.showDatePickerButton);
  showDatePickerButton.setOnClickListener(new ButtonListener());
  exitButton01 = (Button) findViewById(R.id.exitButton01);
  exitButton01.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    finish();
   }
  });
  testButton = (Button) findViewById(R.id.testButton);
  testButton.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    yearText = (EditText) findViewById(R.id.year);
    monthText = (EditText) findViewById(R.id.month);
    dayText = (EditText) findViewById(R.id.day);
    String yearStr = yearText.getText().toString();
    String monthStr = monthText.getText().toString();
    String dayStr = dayText.getText().toString();
    String regex1 = "([0-9]{4})";
    String regex2 = "(([0-1]{1}[0-9]{1})|([1-9]{1}))";
    String regex3 = "(([0-2]{1}[0-9]{1})|([3]{1}[0-1]{1})|([1-9]{1}))";
    if ((Pattern.compile(regex1).matcher(yearStr).matches())&&(Pattern.compile(regex2).matcher(monthStr).matches())&&(Pattern.compile(regex3).matcher(dayStr).matches())) {
     int yearInt = Integer.parseInt(yearStr);
        int monthInt = Integer.parseInt(monthStr);
        int dayInt = Integer.parseInt(dayStr);
  

二叉树学习——简单入门题

二叉树层次遍历 输入一颗二叉树的先序遍历和中序遍历,输出它的后序遍历序列...
  • user_longling
  • user_longling
  • 2014年04月27日 19:07
  • 1360

Android中Activity的使用,简单实例讲解

众所周知,Activity组件是Andorid应用中最重要,最常见的应用组件!Android应用开发的一个重要组成部分就是开发Activity,下面我将会记录下Activity的开发! 实例1图: ...
  • qq_32175491
  • qq_32175491
  • 2016年12月27日 16:09
  • 9520

一个android中AIDL的简单例子

跨进程间的通信: 关于IPC应该不用多介绍了,Android系统中的进程之间不能共享内存,那么如果两个不同的应用程序之间需要通讯怎么办呢?比如公司的一个项目要更新,产品的需求是依附于当前项目开发一个插...
  • jingwen3699
  • jingwen3699
  • 2016年11月29日 21:22
  • 1701

动手学Android之二——初识Activity示例代码

  • 2014年04月14日 21:29
  • 1.45MB
  • 下载

Android 程式开发:(三)初识Fragment —— 3.4fragments实例之间的通信

通常情况下,一个activity可能包含一个或多个fragment,它们协同工作,组成一个连贯的UI界面。在这种情况下,多个fragments之间的通信显得就很重要了。举个例子,一个activity包...
  • crazy123456789
  • crazy123456789
  • 2012年04月24日 10:21
  • 576

android SystemService简单入门 初识系统服务

上代码: package com.example.xh.systemservice; import android.app.AlarmManager; import android.app.Pen...
  • qq_35595164
  • qq_35595164
  • 2016年08月18日 09:47
  • 127

Android Study 之 初识ButterKnife(8.5.1)及简单运用

LZ-Says:突然间不知道说什么好,祝大家编码无bug吧~ 前言 话说,Android开发的兄弟们都知道,每次初始化控件,设置相应的事件,写的那点过程多而且恶心。我们先一块回顾下不堪的曾经~ ...
  • u012400885
  • u012400885
  • 2017年04月11日 10:45
  • 2070

第二步:初识android简单程序

Android的界面是由一个个Activity组成的。   刚创建一个新的android界面的时候,就会自动创建一个Activity。Activity可以理解成为一个窗体,在上面放一些控件,就可以...
  • holymaple
  • holymaple
  • 2013年01月10日 19:52
  • 1007

第2章 初识对象和简单

  • 2013年07月23日 09:41
  • 2.72MB
  • 下载

Android基础-初识SQLite(源代码)

  • 2017年01月29日 18:10
  • 25.2MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:初识Android之简单实例二
举报原因:
原因补充:

(最多只允许输入30个字)