Android开发中控件的三种点击事件+短信API调用方式
来源:互联网 发布:实木床 品牌 知乎 编辑:程序博客网 时间:2024/06/03 05:19
Android开发中控件的三种点击事件
1. 响应XML文件定义的事件:在相应控件的属性中添加android:onClick="btn_test1" 其中“btn_test1”为你定义的方法。此种方式activity不需要实现OnClickListener。附demo:
public class MainActivity extends Activity { Button button1; Button button2; Button button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.btn_test1); button2=(Button)findViewById(R.id.btn_test2); button3=(Button)findViewById(R.id.btn_test3); }//以下分别为在控件属性中绑定的方法 public void btn_test1(View view){ Toast.makeText(this,"Button1 clicked",Toast.LENGTH_SHORT).show(); } public void btn_test2(View v){ Toast.makeText(this,"Button2 clicked",Toast.LENGTH_SHORT).show(); } public void btn_test3(View view){ Toast.makeText(this,"Button3 clicked",Toast.LENGTH_SHORT).show(); }}
2.匿名内部类:也不需要activity实现OnClickListener接口。只需要在onCreate方法中获取控件实例,并重写setOnClickListener就好了。前两种方式可混用,即匿名内部类+响应XML文件定义的事件。附demo:
public class MainActivity extends Activity { Button button1; Button button2; Button button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.btn_test1); button2=(Button)findViewById(R.id.btn_test2); button3=(Button)findViewById(R.id.btn_test3); }//以下分别为在控件属性中绑定的方法 public void btn_test1(View view){ Toast.makeText(this,"Button1 clicked",Toast.LENGTH_SHORT).show(); } public void btn_test2(View v){ Toast.makeText(this,"Button2 clicked",Toast.LENGTH_SHORT).show(); } public void btn_test3(View view){ Toast.makeText(this,"Button3 clicked",Toast.LENGTH_SHORT).show(); }}
3. activity实现OnClickListener接口:在onCreate方法里为每个控件注册监听事件,重写onClick方法。附demo:
public class MainActivity extends Activity { Button button1; Button button2; Button button3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button1=(Button)findViewById(R.id.btn_test1); button2=(Button)findViewById(R.id.btn_test2); button3=(Button)findViewById(R.id.btn_test3); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"Button1 clicked",Toast.LENGTH_SHORT).show(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"Button2 clicked",Toast.LENGTH_SHORT).show(); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this,"Button3 clicked",Toast.LENGTH_SHORT).show(); } }); }}
短信API调用方式:
我的开发平台是Android Studio
先去mob注册一个账号,进入后台创建自己的应用,获取App key和App Sercet,下载短信验证码SDK,解压后将SMSSDK文件夹下的四个文件添加到你的project的libs目录下(如果不需要使用GUI库,可以去掉SMSSDKGUI)
MobCommons.jar Mob 通用公共库 必须
MobTools.jar Mob 工具公共库 必须
SMSSDK-<version>.aar SMSSDK 核心 必须
SMSSDKGUI-<version>.aar SMSSDK GUI 开源库 可选
然后:将以上文件按需放入Android Studio项目所要使用SMSSDK的Module所在的Libs里面,再在Module的build.gradle里面将libs加入仓库(repositories),
然后添加依赖(dependencies )示例如下:
repositories{ flatDir{ dirs 'libs' //就是你放aar的目录地址 }} dependencies { ....//你的其他依赖 compile name:'SMSSDK-<version>',ext:'aar' compile name:'SMSSDKGUI-<version>',ext:'aar'}</span>
在manifest文件中添加如下权限:
<uses-permission android:name="android.permission.READ_CONTACTS" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.RECEIVE_SMS" /><uses-permission android:name="android.permission.READ_SMS" /><uses-permission android:name="android.permission.WRITE_SMS" /><uses-permission android:name="android.permission.SEND_SMS" />
在“application”中添加如下activity:
<activity android:name="com.mob.tools.MobUIShell" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="stateHidden|adjustResize" />
项目启动时,添加如下代码:分别用你的appkey和appsercet代替
SMSSDK.initSDK(this, APPKEY, APPSECRETE);
短信验证API使用demo下载链接:https://github.com/qiuqianaile/LoginWithCheckedSMS
2 0
- Android开发中控件的三种点击事件+短信API调用方式
- Android 控件中事件响应的三种实现方式
- Android开发中添加View控件的点击事件
- 安卓笔记android中控件点击事件实现的几种方式
- Android Button点击事件的三种方式
- Android之Button按钮点击事件的三种方式
- 2.三种点击事件的调用
- Android中点击事件的实现方式
- ANDROID中点击事件的实现方式
- 【Android】控件和基本事件响应的三种方式
- 【Android】控件和基本事件响应的三种方式
- Android中按钮点击事件的四种实现方式
- Android入门(2)——点击事件的三种方式监听方式
- 2种方式实现ListView中中每一项下的任意控件的点击事件
- android开发中点击事件的四种写法
- Android点击事件的三种写法
- Android监听Button等控件的点击事件的三种方法
- android——给ListView添加点击事件的三种方式
- 五、实验二:事件驱动-回调函数实现爬虫
- slf4j简介
- 六、实验三:事件驱动-协程实现爬虫
- 基于 Python + LeanCloud 的短信验证
- 高德API+Python解决租房问题
- Android开发中控件的三种点击事件+短信API调用方式
- log4jdbc简介
- 基于 python + SendCloud 的邮箱认证
- Solution of 1119. Pre- and Post-order Traversals (30)
- Java:控制线程
- Django 搭建简易博客(1)
- Django 搭建简易博客(2)
- Django 搭建简易博客(3)
- Django 搭建简易博客(4)