跳至主要内容

博文

Android 手动调用 返回键

可用的方法是:onBackPressed(); 2. 如果想要按下返回键时附加执行一些代码,可以写在这里 1 2 3 4 5 6 7 8 @Override public boolean onKeyDown ( int keyCode, KeyEvent event ) { if ( keyCode == KeyEvent . KEYCODE_BACK && event. getRepeatCount ( ) == 0 ) { // Do something. return true ; } return super . onKeyDown ( keyCode, event ) ; }

android /data/app

地球人都知道的: A)  /data/app/目录本身要su的访问权限,所以无法new File("/data/app"); 或许你不知道 的: B)  初始安装时,文件被保存在: data/app + [包名].apk 覆盖安装N次后,文件名为: data/app + [包名]-N.apk 用adb shell 进入 /data/app/目录 赫然发现,即使/data/app目录本身是不可访问的,但是目录下的文件居然有读权限!。 那么可以肯定的是,必然有一种方法可以访问到这个目录下的文件。 经过一个多小时的Android源码查找,找到了如下方法: [java]   view plain   copy file =  new  File(getPackageManager().getApplicationInfo( "com.uc.addon.qrcodegenerator" ,  0 ).sourceDir);   这里getPackageManager是Context下的方法,不需要赘言了,sourceDIr返回了完整apk路径,包括-N之类的讨厌玩意。 而直接访问这个路径下的文件,是不会有权限问题的。

Java UDP 广播与多播

摘要: 简单实现了一下基于UDP的广播和多播的功能,主要是理解多播和广播的概念。 1、广播: DatagramSocket.recieve ( DatagramPacket dp ) ; DatagramSocket.send ( DatagramPacket dp ) ; 同一网段所有主机都能接收,前提是端口要监听 客户端发送广播,开启端口监听的服务端接收并打印消息 服务端程序: import  java.io.IOException; import  java.net.DatagramPacket; import  java.net.DatagramSocket; import  java.net.SocketException; public   class  TestServer { public   static   void  main(String[] args) { int  port =  9999 ; //开启监听的端口 DatagramSocket ds =  null ; DatagramPacket dp =  null ; byte [] buf =  new   byte [ 1024 ]; //存储发来的消息 StringBuffer sbuf =  new  StringBuffer(); try  { //绑定端口的 ds =  new  DatagramSocket(port); dp =  new  DatagramPacket(buf, buf.length); System.out. println ( "监听广播端口打开:" ); ds.setSoTimeout(10000); ds.receive(dp); ds.close(); int ...

aria2c help

aria2c -x16  -s16  http://www.yoururl/a.zip BT自动调节连接数(Adjust the number of peers adaptively) 如果每个种子的下载速度都低于  200K  的话,  aria2  会临时增加连接数来试着提高下载速度。 aria2c --bt-request-peer-speed-limit=200K file.torrent