文档章节

android之旅 day2

李小呆
 李小呆
发布于 2014/04/16 22:16
字数 609
阅读 20
收藏 2

代码:

package com.test.phone;


import android.net.Uri;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.text.TextUtils;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private EditText et;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//加载布局文件

setContentView(R.layout.activity_main);

//查找按钮

Button bt =(Button) findViewById(R.id.button1);

//查找文本

   et= (EditText) MainActivity.this.findViewById(R.id.editText1);

   //给按钮注册点击事件 1.创建一个内部类方法

//bt.setOnClickListener(new myliseter());

   //2.匿名内部类方法

   /* bt.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

callphone();

}

});*/

   //3.让activity实现点击事件

  // bt.setOnClickListener(this);

}

    //4.在UI控件里绑定点击事件

public void deil(View view) {

callphone();

}

private void callphone() {

String nu=et.getText().toString();

if(TextUtils.isEmpty(nu)){

Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_LONG).show();

return;

}

Intent intent=new Intent();

intent.setAction(Intent.ACTION_CALL);

intent.setData(Uri.parse("tel:"+nu));

startActivity(intent);

}

private class myliseter implements OnClickListener{

@Override

public void onClick(View v) {

callphone();

}

}

//3.未实现接口的方法

@Override

public void onClick(View v) {

switch (v.getId()) {

case R.id.button1://case后面跟的是条件

callphone();

break; 

}

}

}

在电话拨打器中主要是学会了点击事件的四种写法

  1. 创建内部类实现button点击事件方法

  2. 创建匿名内部类实现button点击事件方法

  3. 让activity实现点击事件(目前常用的方法之一吧~~不确定但是很好用。)

  4. 在UI界面控件绑定点击事件(需要在Java代码中创建控件里写的方法。)

在这个代码练习中遇到了几个小问题,要记住intent.setDate(Uri.parse.("tel:")+传过来的参数)

代码2:

package com.example.msnsend;


import java.util.ArrayList;


import android.R.string;

import android.os.Bundle;

import android.app.Activity;

import android.telephony.SmsManager;

import android.text.TextUtils;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;


public class MainActivity extends Activity implements OnClickListener {

private EditText et;

private EditText number;


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button bt=(Button) findViewById(R.id.send);

et=(EditText) findViewById(R.id.msnmessage);

   number=(EditText) findViewById(R.id.deilnumber);

bt.setOnClickListener(this);

}


@Override

public void onClick(View arg0) {

switch (arg0.getId()) {

case R.id.send:

String messger=et.getText().toString().trim();

String nu=number.getText().toString().trim();

if(TextUtils.isEmpty(nu)||TextUtils.isEmpty(messger)){

Toast.makeText(this, "号码或用户名不能为空!", Toast.LENGTH_LONG).show();

}else{

SmsManager sms=SmsManager.getDefault();

ArrayList<String> str=sms.divideMessage(messger);

for (String string: str) {

sms.sendTextMessage(nu, null, string, null, null);

}

}

break;

}

}

}

这个是短信发送器demo,在这个练习中知道了sendTextMessage这个方法里的5个参数的意义(电话号码,端口号(国内开发设为null),短信内容,延迟发送,回执报告),还有一个就是Java的数组以及遍历

语法:

for(<迭代变量声明>:<数组>){

   语句;

}

例如代码片段:

for(int n : nums){

   System.out.println(n);

}

好了,今天的学习结束了,加油~~~

© 著作权归作者所有

共有 人打赏支持
李小呆
粉丝 0
博文 3
码字总数 734
作品 0
周口
程序员
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图之用例图 Android 架构师之路2 UML图之类图 Android 架构师之路3...

香沙小熊
06/21
0
0
Android APIDemos

前几天就把android的开发环境搭好了,用的是fedora13+eclipse3.6+ADT10.0,一直没写什么代码,今天早上把android ApiDemos导入运行了一遍,觉得很cool. 从此开始我的android之旅。...

Bazinga
2011/03/20
0
0
Android原生(Native)C开发之一 环境搭建篇

转载: 转载: Android原生(Native)C开发之一 环境搭建篇 Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译Android能运行的程序,你需要一个交叉编译器。...

迷糊
2009/10/10
0
3
iOS First week!

---------------------- day1 get started ------------------ 切换模拟器方向: ⌘ + 方向箭。 默认情况模拟器太大了,屏幕都被占满了,着实看着不爽,还好有快捷键resize模拟器的大小: ⌘+...

daveztong
2014/11/06
0
0
Android 源码分析之旅1--系统架构与分析方法、工具

《Android 源码分析之旅》目录 apefwkall.png 《Android 源码分析之旅》的全部目录将作如下安排: 第1章节——本篇文章,将介绍一些基本的概念、方法、工具。 第2章节——着重介绍Binder IP...

猴亮屏
2017/10/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

负载均衡的解决方案有哪些

负载均衡器服务可满足大型组织的需求,支持所有数据中心和跨数据中心高可靠性场景。 本地负载均衡,通过附带或者未附带持久性覆盖选项,Incapsula支持各种负载均衡算法,以优化服务器之间的流...

上树的熊
42分钟前
4
0
Java实现在线打开word文档加盖印章/盖章/签名功能

前言: 我们知道,大型一点的OA办公系统都会有很多在线处理office办公文档的需求。其中有一点也基本绕不开,那就是为文档盖章或添加手写签名来保护文档,让被盖章的文档不再被编辑。 在Java中...

山里的红杏
49分钟前
5
0
js控制输入正负数,小数点后保留两位

//限制数字function clearNoNum(obj){ //修复第一个字符是小数点 的情况. if(obj.value !=''&& obj.value.substr(0,1) == '.'){ obj.value=""; } obj.value ...

一直在成长的程序猿
52分钟前
2
0
动态代理

具体场景 为了使代理类与被代理类对第三方有相同的函数,代理类与被代理类一般实现一个公共的interface,定义如下 public interface Subject { void rent(); void hello(String s)...

wuyiyi
56分钟前
2
0
时间字段

我们看看这几个数据库中(mysql、oracle和sqlserver)如何表示时间 mysql数据库:它们分别是 date、datetime、time、timestamp和year。date :“yyyy-mm-dd”格式表示的日期值 time :“hh:...

DemonsI
57分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部