Android开发中控件的三种点击事件+短信API调用方式

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值