现在的位置: 首页 > 移动开发 > 正文

android笔记

2018年09月17日 移动开发 ⁄ 共 2229字 ⁄ 字号 评论关闭

1.今天碰到了一个android 拨打电话的程序,难点在于需要对表示电话号码的String进行判断,主要有两种方法:

 public boolean phoneNumber(String number) {
  boolean flag = false;
  String pare = "\\d{11}";// 11个整数的手机号码正则式
  String pare2 = "\\d{12}";// 12个整数的座机号码正则式
  CharSequence num = number;// 获取电话号码
  Pattern pattern = Pattern.compile(pare);// 判断是否为手机号码
  Matcher matcher = pattern.matcher(num);
  Pattern pattern2 = Pattern.compile(pare2);// 判断是否为座机号码
  Matcher matcher2 = pattern2.matcher(num);
  if (matcher.matches() || matcher2.matches())// 如果符合格式
  {
   flag = true;// 标志位设为true
  }
  return flag;
 }

 

另外 PhoneNumberUtils.isGlobalPhoneNumber(telStr)这个函数也能用来判断电话号码是否合法

 

2.定义一个线程用于做特定的一件事情:

定义一个线程周期性的改变currentColor变量值
  new Timer().schedule(new TimerTask()
  {
   @Override
   public void run()
   {

。。。。。

  }, 0 , 100);

 

3.<include>。。。</include>标签

在设计一个xml布局文件时,可以使用<include>。。。</include>标签将某一个已经定义好的xml布局文件整体包含引用进来,

例如: <include android:id="@+id/comm_node_info"
    layout="@layout/comm_node_info">
    </include>

以后就可以通过findViewById找到这个布局文件,当然返回前要加上类型强制转换

 

4.可以将一个自定义的View子类直接当做一个组件放在布局文件xml中使用,在使用时要指定它的详细包名路径,

例如:<com.embedkit.zigbee.TempCurveView
         android:id="@+id/tempCurveView"
         android:visibility="invisible"
         android:paddingLeft="0dip"
         android:paddingTop="0dip"
         android:layout_height="fill_parent"
         android:layout_width="fill_parent">
         </com.embedkit.zigbee.TempCurveView>

以后也可以使用findViewById来找到这个自定义的组件。

例如:

  TempCurveView  mTempCurveView = (TempCurveView) super.mView.findViewById(R.id.tempCurveView);

 

5.关于LayoutInflater试图转换类的inflate方法:

LayoutInflater类的inflate方法可以将一段xml布局文件转换成一个View对象,

例如:LayoutInflater factory = LayoutInflater.from(this); 

            final View settingView = factory.inflate(R.layout.settingdlg, null);

这个视图可以应用于builder.setView(settingView);对话框等的界面,这也为自定义对话框界面提供了使徒的来源。

 

android视频处理:

Base64:是网络上最常见的用于传输8Bit字节代码的编码方式之一

Base64编码可用于在HTTP环境下传递较长的标识信息。

H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。

 

RTSP(Real Time Streaming Protocol),RFC2326,实时流传输协议,是TCP/IP协议体系中的一个应用层协议,用于传送视频等多媒体数据。

 

 

过滤文件类型:将合乎要求的文件返回:

File home = new File(MUSIC_PATH);
  if (home.listFiles(new MusicFilter()).length > 0)

 

/* 过滤文件类型 */
class MusicFilter implements FilenameFilter
{
 public boolean accept(File dir, String name)
 {
  //这里还可以设置其他格式的音乐文件
  return (name.endsWith(".mp3"));
 }
}

 

抱歉!评论已关闭.