Android 小功能

小功能




打开QQ并与指定的人聊天

String url = "mqqwpa://im/chat?chat_type=wpa&uin=920800319";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));




打开网页

Uri uri = Uri.parse("www.baidu.com");
Intent intent = new Intent(Intent.ACTION_VIEW, uri);  
startActivity(intent);




简单的发送邮件

有多发,带附件…等等等等的,详情百度

Intent data=new Intent(Intent.ACTION_SENDTO);
data.setData(Uri.parse("mailto:" + mailbox.getText().toString()));
//data.putExtra(Intent.EXTRA_SUBJECT, "这是标题");
//data.putExtra(Intent.EXTRA_TEXT, "这是内容");
startActivity(data);




双击返回按钮退出

private long exitTime = 0;                     //保存上次按下返回按钮的时间
@Override //连续按下Back键退出
public void onBackPressed() {
    if((System.currentTimeMillis()-exitTime) > 2000){                    //间隔大于2000毫秒 == 2秒
        Toast.makeText(getApplicationContext(), "再按一次退出程序", 0).show(); 
        exitTime = System.currentTimeMillis();       //System.currentTimeMillis()获取当前系统时间毫秒数
    } else { 
        finish();                  //结束Activity
    } 
}
    private long exitTime = 0;                     //保存上次按下返回按钮的时间
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     //需要获得硬件上的按键响应  通过计算按键时间差实现
        if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){    //按下返回按钮
            if((System.currentTimeMillis()-exitTime) > 2000){                    //间隔大于2000毫秒 == 2秒
                Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 
                exitTime = System.currentTimeMillis();       //System.currentTimeMillis()获取当前系统时间毫秒数
            } else { 
                finish();                  //结束Activity
                System.exit(0);      //退出程序
            } 
            return true; 
        } 
    return super.onKeyDown(keyCode, event);
    }




版本信息

获取当前程序版本名
public static String getAppVersionName(Context context) {  
    String versionName = "";  
    try {  
        // ---get the package info---  
        PackageManager pm = context.getPackageManager();  
        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);  
        versionName = pi.versionName;  
        versioncode = pi.versionCode;
        if (versionName == null || versionName.length() <= 0) {  
            return "";  
        }  
    } catch (Exception e) {  
        Log.e("VersionInfo", "Exception", e);  
    }  
    return versionName;  
}  
获取当前系统的版本号
textView.setText("Product Model: " + android.os.Build.MODEL + "," 
+ android.os.Build.VERSION.SDK + "," 
+ android.os.Build.VERSION.RELEASE);
获取当前系统的android版本号
int currentapiVersion=android.os.Build.VERSION.SDK_INT;




光标事件

    //etNumber = (EditText) findViewById(R.id.et_number);
    etNumber.setOnFocusChangeListener(new OnFocusChangeListener() {          //光标事件
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {                                                         //光标在控件 
                //主要用于输入帐号时自动输入已保存的密码
            }else {                                                                      //当光标离开时
                String qq = etNumber.getText().toString();
                String pwd = map.get(qq);
                etPassword.setText(pwd);
    }}});
etNumber.setOnFocusChangeListener(new OnFocusChangeListener() {  //光标事件

            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) { //光标在控件

                }else { //当光标离开时
                    String qq = etNumber.getText().toString();
                    //查询
                    SQLiteDatabase sqLiteDatabase = QQsj.getReadableDatabase();//获取数据库
                    Cursor cursor = sqLiteDatabase.rawQuery("select Password from student where num = " + qq,null);
                    if (cursor != null) {
                        int pwd = cursor.getInt(0);
                        etPassword.setText(pwd);
                    }
                    sqLiteDatabase.close();
                }




移动屏幕

public voidscrollTo(int x, int y)

它表示移动到视图的那个坐标点。哪个视图调用这个方法,那么这个视图的(x,y)点就与手机屏幕的左上角对齐(也可以理解为,手机屏幕的左上角就移动到(x,y)坐标)。




获得屏幕分辨率大小

DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);
int screenWidth = metric.widthPixels ;
int scrrenHeight = metric.heightPixels;        
System.out.println("screenWidth * scrrenHeight --->" + screenWidth + " * " +scrrenHeight);
//过时了
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
int height = wm.getDefaultDisplay().getHeight();
int width = wm.getDefaultDisplay().getWidth();
//新的
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
Point point = new Point();
wm.getDefaultDisplay().getSize(point);
int height = point.y;
int width = point.x;  
//获取屏幕高度  
     screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();  
int height = this.getContext().getResources().getDisplayMetrics().heightPixels;
int width = this.getContext().getResources().getDisplayMetrics().widthPixels;
WindowManager wm = (WindowManager) this.getContext().getResources().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int height = display.getHeight();
int width = display.getWidth();




小功能




打开QQ并与指定的人聊天

String url = "mqqwpa://im/chat?chat_type=wpa&uin=920800319";
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));




双击返回按钮退出

private long exitTime = 0;                     //保存上次按下返回按钮的时间
@Override //连续按下Back键退出
public void onBackPressed() {
    if((System.currentTimeMillis()-exitTime) > 2000){                    //间隔大于2000毫秒 == 2秒
        Toast.makeText(getApplicationContext(), "再按一次退出程序", 0).show(); 
        exitTime = System.currentTimeMillis();       //System.currentTimeMillis()获取当前系统时间毫秒数
    } else { 
        finish();                  //结束Activity
    } 
}
    private long exitTime = 0;                     //保存上次按下返回按钮的时间
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {     //需要获得硬件上的按键响应  通过计算按键时间差实现
        if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){    //按下返回按钮
            if((System.currentTimeMillis()-exitTime) > 2000){                    //间隔大于2000毫秒 == 2秒
                Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); 
                exitTime = System.currentTimeMillis();       //System.currentTimeMillis()获取当前系统时间毫秒数
            } else { 
                finish();                  //结束Activity
                System.exit(0);      //退出程序
            } 
            return true; 
        } 
    return super.onKeyDown(keyCode, event);
    }




版本信息

获取当前程序版本名
public static String getAppVersionName(Context context) {  
    String versionName = "";  
    try {  
        // ---get the package info---  
        PackageManager pm = context.getPackageManager();  
        PackageInfo pi = pm.getPackageInfo(context.getPackageName(), 0);  
        versionName = pi.versionName;  
        versioncode = pi.versionCode;
        if (versionName == null || versionName.length() <= 0) {  
            return "";  
        }  
    } catch (Exception e) {  
        Log.e("VersionInfo", "Exception", e);  
    }  
    return versionName;  
}  
获取当前系统的版本号
textView.setText("Product Model: " + android.os.Build.MODEL + "," 
+ android.os.Build.VERSION.SDK + "," 
+ android.os.Build.VERSION.RELEASE);
获取当前系统的android版本号
int currentapiVersion=android.os.Build.VERSION.SDK_INT;




光标事件

    //etNumber = (EditText) findViewById(R.id.et_number);
    etNumber.setOnFocusChangeListener(new OnFocusChangeListener() {          //光标事件
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {                                                         //光标在控件 
                //主要用于输入帐号时自动输入已保存的密码
            }else {                                                                      //当光标离开时
                String qq = etNumber.getText().toString();
                String pwd = map.get(qq);
                etPassword.setText(pwd);
    }}});
etNumber.setOnFocusChangeListener(new OnFocusChangeListener() {  //光标事件

            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (hasFocus) { //光标在控件

                }else { //当光标离开时
                    String qq = etNumber.getText().toString();
                    //查询
                    SQLiteDatabase sqLiteDatabase = QQsj.getReadableDatabase();//获取数据库
                    Cursor cursor = sqLiteDatabase.rawQuery("select Password from student where num = " + qq,null);
                    if (cursor != null) {
                        int pwd = cursor.getInt(0);
                        etPassword.setText(pwd);
                    }
                    sqLiteDatabase.close();
                }




移动屏幕

public voidscrollTo(int x, int y)

它表示移动到视图的那个坐标点。哪个视图调用这个方法,那么这个视图的(x,y)点就与手机屏幕的左上角对齐(也可以理解为,手机屏幕的左上角就移动到(x,y)坐标)。




获得屏幕分辨率大小

DisplayMetrics metric = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(metric);
int screenWidth = metric.widthPixels ;
int scrrenHeight = metric.heightPixels;        
System.out.println("screenWidth * scrrenHeight --->" + screenWidth + " * " +scrrenHeight);
//过时了
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
int height = wm.getDefaultDisplay().getHeight();
int width = wm.getDefaultDisplay().getWidth();
//新的
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
Point point = new Point();
wm.getDefaultDisplay().getSize(point);
int height = point.y;
int width = point.x;  
//获取屏幕高度  
     screenHeight = this.getWindowManager().getDefaultDisplay().getHeight();  
int height = this.getContext().getResources().getDisplayMetrics().heightPixels;
int width = this.getContext().getResources().getDisplayMetrics().widthPixels;
WindowManager wm = (WindowManager) this.getContext().getResources().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int height = display.getHeight();
int width = display.getWidth();




正则表达式


应用
  1. String.matches()
    (就是调用Pattern类的一个已封装方法)
String a = "137";
boolean pd = a.matches("^1[0-9]{3}"); //匹配则返回True

if(value.matches(“…”)) 则正确

  1. Pattern类
//例 手机号码验证
Pattern p = Pattern.compile("^((13[0-9])|(15[^4,//D])|(18[0,5-9]))//d{8}$");  
Matcher m = p.matcher(value);   
return m.matches();  
//例 邮箱验证
public static boolean isEmail(String strEmail) {    
    String strPattern = "^[a-zA-Z][\\w\\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\\w\\.-]*[a-zA-Z0-9]\\.[a-zA-Z][a-zA-Z\\.]*[a-zA-Z]$";   
    Pattern p = Pattern.compile(strPattern);   
    Matcher m = p.matcher(strEmail);   
    return m.matches();   
} 

一些正则
* A开头 ^A\\w{1,}
* 邮箱格式 (^[w,W]{3}\\.)?.+@.+\\..+
* 手机号码格式 (^+\\d+)?^1[3|4|5|7|8|9][0-9]\\d{8}$
* IP地址格式 (((2[0-4]\\d)|(25[0-6])|(1\\d{2})|(\\d{1,2}))\\.){3}((2[0-4]\\d)|(25[0-6])|(1\\d{2})|(\\d{1,2}))

-------------------------------------------------------------------------------------------------------------------------------

####字符属性
| 字符 | 属性 |
| ------------- | -----|
| ^ | 开始的位置 |
| . | 匹配任意一个字符 |
| \d | 匹配数字,等价[0-9] |
| \D | 非匹配数字,等价[^0-9] |
| [a-z] | 允许的字符26个小写字母  |
| [A-Za-z] | 允许的字符26个大小写字母  |
| {n} | 几个(o{2}:两个oo) |
| {5,7} | 5~7个字符 |
| {5,} | 最少5个字符 最多无限 |
| + | 等价于{1,} |
| \w | Unicode字符集所有字符 |


<br>
*******************************************************************************************************************************
<br>

###String处理

-------------------------------------------------------------------------------------------------------------------------------

####切割字符串

String s = “pomie##123”;
String[] splits = s.split(“##”); //根据##切割字符串
//splits[0] = “pomie”;
//splits[0] = “123”;


-------------------------------------------------------------------------------------------------------------------------------

####assertEquals 对比函数

if( TextUtils.isEmpty(string)) //检测string是否为空
Toast.makeText(this, “What are you doing?”,Toast.LENGTH_LONG ).show();



<br>
*******************************************************************************************************************************
<br>

###容器

-------------------------------------------------------------------------------------------------------------------------------

####ArrayList

private ArrayList arr = new ArrayList();
arr.add(x);
arr.remove(pot);


-------------------------------------------------------------------------------------------------------------------------------

####Map

Map

**也可以这样:**

map = (Map

#




#




#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值