bcoder

mailto参数详解

 分类:Others, Others 阅读 (5,561)  No Responses »
6月 262016
 

  我们知道mailto链接可以指定发送邮件到某个邮箱,但是mailto其实还支持其他的参数,这些参数在做后台客服网站是还是很有用的。

  mailto的参数格式和url中的参数格式是一样的,参数段以?开头,不同的参数间以&分隔,如<a href=”mailto:test@bcoer.com?subject=mysubject”>TEST</a>

  mailto支持以下参数:

  • cc: 要抄送的地址
  • bcc: 要密送的地址
  • subject: 邮件的标题
  • body: 邮件的内容

  如下面的例子所示:

  点击链接TEST后,系统就会自动打开邮件发送程序,并在相应的栏目中填入链接中的数据,如果我们的后台系统需要给客户发送反馈邮件,这样做就可以省去很多不必要的文字输入了。

6月 202016
 

一共有三种方法可以实现StringBuilder的清空

  1. New一个新的StringBuilder
  2. 使用StringBuilder的delete方法
  3. 使用StringBuilder的setLength方法

下面通过代码验证三种方法的效率

测试了十几次,选了一次比较有代表性的结果:

由结果可见setLength是最快的,delete不相上下,new是最慢的

 Posted by on 2016-06-20

Laravel中安装Excel插件

 分类:PHP 阅读 (546)  No Responses »
6月 062016
 

1. 执行如下composer命令

2. 上面命令执行成功后,在config/app.php的’providers’数组末尾加入

3. 在config/app.php的’aliases’数组末尾加入

4. 然后执行如下命令

 

 Posted by on 2016-06-06
5月 262016
 

一、查找所有div元素

  在jQuery中使用$(‘div’)来表示全部的div元素,同时使用.click事件设置点击事件,如下面的示例代码

二、为某个id元素内的所有div设置单击事件

  如果我们只想对某个元素内的div执行单击事件,则用如下方式$(“#divid div”),divid为接受事件的父div的id,代码如下:

三、为样式为某个class的所有div的子类设置单击事件

  同第二部分一样的道理,只是把”#”符号换为”.”符号,代码如下:

四、这种情况时如何阻止事件往父元素的传递

  默认情况下,html内元素的事件会自动往父元素传递,即冒泡传递,如果div1里嵌套了一个div2,那么单击div2时,div1也会接受到单击事件。给例子一中的5个div元素设置一个父div,您在测试的时候就会发现alert方法执行了两次,第二次输出父类的html。我们可以通过stopPropagation来阻止冒泡传递,如下代码所示:

  因为有些IE的版本不支持stopPropagation,所以cancelBubble 是为适应那些的IE版本

五、总结

  同样的,其他的元素也适用于这些操作方法,你可以为所有的p元素、span元素、td元素等设置点击事件。

 Posted by on 2016-05-26
5月 202016
 

  有的时候我们想在命令行窗口中执行某个文件夹中exe文件,虽然我们已经打开了那个文件夹,但是如果在“运行”里输入cmd打开命令行窗口的话,还需要在命令行窗口里cd切换到那个目录,比较繁琐。

  那么有没有办法在打开的文件夹中直接打开命令行窗口呢?回答是肯定的,那就是在文件夹内按shift+鼠标右键,这时弹出的右键菜单里就有一个“在此处打开命令窗口”菜单,点击这个菜单,打开的命令行窗口路径已经在这个目录下了。如下图:

open command window

open command window

 Posted by on 2016-05-20
5月 172016
 

  在命令行执行php artisan key:generate时提示Could not open input file: artisan错误

  开始以为artisan是php的命令,其实是Laravel的命令

  解决方法就是cd到Laravel项目所在的目录,再执行php artisan命令,如下:

  运行环境:Windows7+php5.6+Laravel5

5月 152016
 

  这个错误一般是由于使用ListView时使用了列头(addHeaderView)或者列脚(addFooterView)。

  不使用列头或者列脚时,listview.getAdapter()得到的adapter和你用setAdapter()设置的adapter一样,使用列头或者列脚后,setAdapter()传入的adapter就被重新赋值成了HeaderViewListAdapter ,这样在对getAdapter()进行强制转换时就会出现转换错误。

  修复方法也很简单,把(MyAdapter)listview.getAdapter()改成如下就可以了:

  先将listview.getAdapter()强制转换成HeaderViewListAdapter,然后使用它的getWrappedAdapter()得到原本的adapter。

5月 112016
 

  当电脑连接了多个android设置时,执行adb的相关命令的时候就会出现error: more than one device/emulator的错误,那么怎么才能正确的执行adb的命令呢?我们需要在adb和命令之间加上-s 设备序列号,比如adb shell应该这样写:adb -s 设备序列号 shell
  首先要使用adb devices命令来显示当前已连接的设备,如下是我电脑运行的结果:

  其中第一列是设备的序列号,是我们执行命令时要使用的.我们使用adb shell的时候应该使用如下命令:

  同样的道理,执行adb push或者adb pull的时候也应该在adb后面加上-s 设备序列号

 Posted by on 2016-05-11

Android中bindService开发步骤

 分类:Android, Java 阅读 (1,148)  Android中bindService开发步骤已关闭评论
5月 082016
 

一、先简单首先回顾一下Service的一些问题

1、为什么使用Service?

答:对于一些需要长时间才可执行完毕的操作放在Activity里不太合适,因为Activity关闭后导致操作不能再继续,但后台服务可以持续运行。

2、bindService和startService的区别?

答:1)两者创建的service的生命周期不同

2)startService启动的服务不能返回service的实例,bindService的可以

3、为什么不直接使用new XxxxService来创建服务?

答:在执行startService或者bindService时,android会把会启动的服务进行记录(未做深入研究),以确保拥有后台服务的进程具有较高的优先级,所以要使用startService或者bindService来创建服务。new XxxxService只是创建了一个服务类的实例,而不是一个服务。

4、为什么onServiceDisconnected一直未被调用到?

答:unbindService并不会导致onServieDisconnected被调用,只有在服务被系统销毁的时候才会被调用。

5、可以在一个应用中使用startService跨进程启动另外一个进程的服务吗?

答:可以,需要设置目标进程的包名,可以使用如下代码或者setPackage(未测试)

6、既然可以跨进程调用startService那为什么还要使用aidl?

答:startService只能启动另外进程的服务,最多还可以通过intent传入一些参数,但是不能从对方进程返回数据,所以如果跨进程通讯aidl还是很有必要的。

二、bindService的开发步骤简述

1、创建一个Service,比如本例中为MyTestService

2、在Service中定义一个Binder的子类MyServiceBinder,后面用来返回MyTestService的实例(见一、3为什么不能直接new MyTestService() )

3、定义并实例化一个MyServiceBinder对象,用来在Service的onBind函数中返回给调用者

4、在Service的onBind函数中返回MyServiceBinder实例对象,android sdk会通过各种调用将这个对象传到ServiceConnection的onServiceConnected

5、在Activity中定义一个MyTestService对象

6、在Activity中执行bindService

7、在Activity中实例化一个ServiceConnection对象

8、在ServiceConnection对象的onServiceConnected回调函数中,将参数中的IBinder对象强制转换为Service中定义的Binder子类(MyServiceBinder)对象

9、通过强制Binder子类对象的方法获取MyTestService实例,至此就得到这个Service的实例了

10、绑定状态的控制,通过一个boolean类型的变量来控制,以及其他的回调函数的设置

三、时序图

四、代码

1、Service的代码

2、Activity代码

 

 Posted by on 2016-05-08