黑马程序员技术交流社区
标题:
android开发实例,欢迎界面,打电话,发短信
[打印本页]
作者:
syd957594556
时间:
2016-6-7 22:36
标题:
android开发实例,欢迎界面,打电话,发短信
本示例实现了人欢迎页跳转,拨号、发送短信及长按出现菜单选项的操作
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);
}
}
以上就是全部代码,小白初入编程大军!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2