A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本示例实现了人欢迎页跳转,拨号、发送短信及长按出现菜单选项的操作

1.Android项目结构图,主要操作红框内的文件

2.布局代码如下

a. activity_main.xml 文件 实现的的欢迎界面的布局


[html] view plain copy


  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
  •     android:layout_width="match_parent"  
  •     android:layout_height="match_parent"  
  •     android:orientation="vertical">  
  •     <TextView   
  •         android:text="android班制作"  
  •         android:background="@drawable/dayday"  
  •         android:layout_width="match_parent"  
  •         android:layout_height="match_parent"  
  •         style="@style/basiz"  
  •         android:gravity="center"/>  
  •   
  • </LinearLayout>  


b.   jump.xml文件   案例的主要布局界面,listview的布局显示
[html] view plain copy


  • <?xml version="1.0" encoding="utf-8"?>  
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  •     android:layout_width="match_parent"  
  •     android:layout_height="match_parent"  
  •     android:orientation="vertical" >  
  •     <TextView   
  •         android:id="@+id/jumptv"  
  •         android:layout_width="match_parent"  
  •         android:layout_height="wrap_content"  
  •         android:text="Oh My God"  
  •         android:textColor="#f65"  
  •         android:textSize="30dp"  
  •         android:gravity="center"/>  
  •     <ListView  
  •         android:id="@+id/lv"  
  •         android:layout_width="fill_parent"  
  •         android:layout_height="wrap_content"  
  •         android:layout_weight="1" >  
  •     </ListView>  
  •   
  • </LinearLayout>  

c.    list_item.xml 文件  listitem的布局



[html] view plain copy


  • <?xml version="1.0" encoding="utf-8"?>  
  • <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  •     android:layout_width="fill_parent"  
  •     android:layout_height="wrap_content"  
  •     android:orientation="horizontal" >  
  •   
  •     <ImageView  
  •         android:id="@+id/imgview"  
  •         android:layout_width="100dp"  
  •         android:layout_height="100dp"  
  •         android:layout_centerVertical="true"  
  •         android:layout_marginLeft="5px"  
  •         android:layout_marginRight="5px" />  
  •   
  •     <LinearLayout  
  •         android:layout_width="fill_parent"  
  •         android:layout_height="wrap_content"  
  •         android:orientation="vertical" >  
  •   
  •         <TextView  
  •             android:id="@+id/tv1"  
  •             android:layout_width="fill_parent"  
  •             android:layout_height="wrap_content"  
  •             android:text="姓名:"  
  •             android:textSize="35px" />  
  •   
  •          
  •   
  •         <TextView  
  •             android:id="@+id/tv2"  
  •             android:layout_width="fill_parent"  
  •             android:layout_height="wrap_content"  
  •             android:text="电话"  
  •             android:textSize="35px" />  
  •   
  •          
  •     </LinearLayout>  
  •   
  • </LinearLayout>  


3.menu上下文菜单控制文件



[html] view plain copy


  • <menu xmlns:android="http://schemas.android.com/apk/res/android"  
  •     xmlns:tools="http://schemas.android.com/tools"  
  •     tools:context="com.example.kaoshi.MainActivity" >  
  •   
  •     <item  
  •         android:id="@+id/item1"  
  •         android:title="拨号">  
  •     </item>  
  •     <item  
  •         android:id="@+id/item2"  
  •         android:title="信息">  
  •     </item>  
  •   
  • </menu>  


4.java代码实现主要功能


a.  MainActivity.Java 文件 实现欢迎界面到主界面的跳转


[java] view plain copy


  • package com.example.kaoshi;  
  •   
  • import java.util.Timer;  
  • import java.util.TimerTask;  
  •   
  • import android.app.Activity;  
  • import android.content.Intent;  
  • import android.os.Bundle;  
  •   
  • public class MainActivity extends Activity {  
  •   
  •     @Override  
  •     protected void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(R.layout.activity_main);  
  •   
  •         final Intent intent = new Intent();  
  •         Timer timer = new Timer();  
  •         TimerTask task = new TimerTask() {  
  •   
  •             @Override  
  •             public void run() {  
  •                 // TODO Auto-generated method stub  
  •                 intent.setClass(MainActivity.this, jump.class);  
  •                 MainActivity.this.startActivity(intent);  
  •             }  
  •         };  
  •         timer.schedule(task, 1000*3);  
  •     }  
  • }  


b. jump.java 文件   该文件实现了主要的功能



[java] view plain copy


  • /**
  • *  
  • */  
  • package com.example.kaoshi;  
  •   
  • import java.util.ArrayList;  
  • import java.util.HashMap;  
  • import java.util.List;  
  • import java.util.Map;  
  •   
  • import android.app.Activity;  
  • import android.content.Intent;  
  • import android.net.Uri;  
  • import android.os.Bundle;  
  • import android.view.ContextMenu;  
  • import android.view.ContextMenu.ContextMenuInfo;  
  • import android.view.MenuInflater;  
  • import android.view.MenuItem;  
  • import android.view.View;  
  • import android.widget.AdapterView;  
  • import android.widget.AdapterView.OnItemLongClickListener;  
  • import android.widget.ListView;  
  • import android.widget.SimpleAdapter;  
  • import android.widget.TextView;  
  • import android.widget.Toast;  
  •   
  • /**
  • * @author 张
  • *  
  • */  
  • public class jump extends Activity {  
  •     private static final Uri SMSToUri = null;  
  •     private ListView lv;  
  •     private TextView tv1, tv2;  
  •     private List<Map<String, Object>> list;  
  •     String xm1 = "";  
  •     String dh1 = "";  
  •   
  •     protected void onCreate(Bundle savedInstanceState) {  
  •         super.onCreate(savedInstanceState);  
  •         setContentView(R.layout.jump);  
  •         tv1 = (TextView) findViewById(R.id.tv1);  
  •         tv2 = (TextView) findViewById(R.id.tv2);  
  •         lv = (ListView) findViewById(R.id.lv);  
  •         SimpleAdapter adapter = new SimpleAdapter(this, getData(),  
  •                 R.layout.list_item, new String[] { "imgview", "tv1", "tv2" },  
  •                 new int[] { R.id.imgview, R.id.tv1, R.id.tv2 });  
  •         // setListAdapter(adapter);  
  •         lv.setAdapter(adapter);  
  •         registerForContextMenu(lv);  
  •         //长按获取listview中的数据 实现拨号  
  •         lv.setOnItemLongClickListener(new OnItemLongClickListener() {  
  •   
  •             @Override  
  •             public boolean onItemLongClick(AdapterView<?> arg0, View arg1,  
  •                     int arg2, long arg3) {  
  •                 // TODO Auto-generated method stub  
  •                 HashMap<String, Object> map = (HashMap<String, Object>) lv  
  •                         .getItemAtPosition(arg2);  
  •                 xm1 = String.valueOf(map.get("tv1").toString());  
  •                 dh1 = String.valueOf(map.get("tv2").toString());  
  •   
  •                 System.out.println(tv1);  
  •                 System.out.println(tv2);  
  •                 return false;  
  •             }  
  •         });  
  •   
  •     }  
  •   
  •     private List<? extends Map<String, ?>> getData() {  
  •         // TODO Auto-generated method stub  
  •         List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
  •         Map<String, Object> map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.zpyzpy);  
  •         map.put("tv1", "张");  
  •         map.put("tv2", "17853496522");  
  •         list.add(map);  
  •   
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.hyf);  
  •         map.put("tv1", "韩");  
  •         map.put("tv2", "17853496714");  
  •         list.add(map);  
  •   
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.lk);  
  •         map.put("tv1", "鹿");  
  •         map.put("tv2", "15275710175");  
  •         list.add(map);  
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.qym);  
  •         map.put("tv1", "全");  
  •         map.put("tv2", "17853491140");  
  •         list.add(map);  
  •          
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.wf);  
  •         map.put("tv1", "王");  
  •         map.put("tv2", "13053438923");  
  •         list.add(map);  
  •          
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.lk);  
  •         map.put("tv1", "鹿");  
  •         map.put("tv2", "15275710175");  
  •         list.add(map);  
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.qym);  
  •         map.put("tv1", "全");  
  •         map.put("tv2", "17853491140");  
  •         list.add(map);  
  •          
  •         map = new HashMap<String, Object>();  
  •         map.put("imgview", R.drawable.wf);  
  •         map.put("tv1", "王");  
  •         map.put("tv2", "13053438923");  
  •         list.add(map);  
  •          
  •         return list;  
  •     }  
  •   
  •     @Override  
  •     public void onCreateContextMenu(ContextMenu menu, View v,  
  •             ContextMenuInfo menuInfo) {  
  •         // TODO Auto-generated method stub  
  •         MenuInflater mf = new MenuInflater(jump.this);  
  •         mf.inflate(R.menu.main, menu);  
  •         menu.setHeaderIcon(R.drawable.message);  
  •         menu.setHeaderTitle("请选择");  
  •     }  
  •   
  •     @Override  
  •     public boolean onContextItemSelected(MenuItem item) {  
  •         // TODO Auto-generated method stub  
  •         int id = item.getItemId();  
  •         switch (id) {  
  •         case R.id.item1:  
  •             Intent intent = new Intent();  
  •             intent.setAction(intent.ACTION_CALL);  
  •             intent.setData(Uri.parse("tel:" + dh1));  
  •             startActivity(intent);  
  •             break;  
  •         case R.id.item2:  
  •             Intent intent1 = new Intent();  
  •             intent1.setAction(intent1.ACTION_SENDTO);  
  •             intent1.setData(Uri.parse("smsto:" + dh1));  
  •             intent1.putExtra("sms_body", "");  
  •             startActivity(intent1);  
  •             break;  
  •         }  
  •         return super.onContextItemSelected(item);  
  •     }  
  • }  


以上就是全部代码,小白初入编程大军!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马