文档章节

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);

}

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

© 著作权归作者所有

共有 人打赏支持
上一篇: Android之旅 day3
下一篇: android之旅 day1
李小呆
粉丝 0
博文 3
码字总数 734
作品 0
周口
程序员
私信 提问
Android 网络编程 目录

Android 网络编程 目录 Android 网络编程1 Http协议 Android 网络编程2 Okhttp缓存机制 Android 网络编程3 Java NIO to be continued... Android 架构师之路 目录 Android 架构师之路1 UML图...

香沙小熊
2018/06/21
0
0
2017 我用 5 个月分享了 98 篇优秀博文

对上半年所分享的文章进行一个整理,很多读者当时忘记了收藏,以致于查找一篇历史文章很费劲,因此在这里顺便做下记录。目前就分下下面几个大类,没有更多细分,已基本可以查找了。 如果觉得...

code小生
2018/10/30
0
0
SimpleNews 项目的重构之旅(4) -Gradle for Android 基础知识汇总

Gradle 使用 Android Studio 都知道 Gradle,在 SimpleNews 项目中,前期的时候并不是很了解 Gradle 语法等,只是使用 Android Studio 默认的配置来构建,后续也只是关注在功能方向,没有过多...

無名小子的杂货铺
2017/06/03
0
0
SimpleNews 项目的重构之旅(3) -EventBus 接入

通过需求使用 EventBus 之前就接触过 EventBus ,只是没有在项目中使用过,练习地址 WPEventBusDemo ,今天在项目中接入 EventBus 。 最开始的目的是为了做一个完全退出机制,看了网上很多用...

無名小子的杂货铺
2017/06/02
0
0
SimpleNews 项目的重构之旅(2) - 整理项目 .gitignore 文件

出现情况 有些情况,项目中的文件是在 build 时候产生的,而且每一次 build 产生的文件并不相同,所以并不需要提交到版本控制,提交这些随环境刚改的文件也是没有实际意义的。 还有一些可能秘...

無名小子的杂货铺
2017/06/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

取变量的地址赋值给另一个变量,C通过,C++编译出错

取变量的地址赋值给另一个变量,C通过。正常运行,C++编译出错。 代码如下: #include <stdio.h>int main(int argc, char *argv[]){int x = 3;int *p = &x;int y = p;/*c ...

SamXIAO
今天
1
0
利用隐写术实施攻击

尽管隐写术是一种低频攻击途径,但网络犯罪分子已经开始利用它结合社交媒体的普遍性和快速传播性来传递恶意有效负载。 低调但有效的隐写技术虽然是旧把戏,但将代码隐藏在看似正常的图像中,...

Linux就该这么学
今天
4
0
YII2的乐观锁和悲观锁

乐观锁与悲观锁¶ Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。 在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrep...

echojson
今天
2
0
UCOS线程切换原理

黑客画家
今天
3
0
最牛Java架构师进阶路线(年薪80W)

1、源码分析专题 详细介绍源码中所用到的经典设计思想,看看大牛是如何写代码的,提升技术审美、提高核心竞争力。 帮助大家寻找分析源码的切入点,在思想上来一次巨大的升华。知其然,并知其...

别打我会飞
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部