读取文件列表时,获取到文件的修改时间,但怎么转换为正常可辨的时间值呢?
把大小转换为易读的格式,这里偷懒,最大是M的:
//function A
//CODE...
File myfile = new File(apk);
long mytime = myfile.lastModified();
String timeStr = time2String( mytime );
//end of A
private String time2String( long time ){
//方式1 按系统的日期方式
// Calendar cal = Calendar.getInstance();
// cal.setTimeInMillis( time );
// return cal.getTime().toLocaleString();
//方式2 按自定义格式
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
Date currentTime = new Date( time );
return format1.format(currentTime);
}
//CODE...
File myfile = new File(apk);
long mytime = myfile.lastModified();
String timeStr = time2String( mytime );
//end of A
private String time2String( long time ){
//方式1 按系统的日期方式
// Calendar cal = Calendar.getInstance();
// cal.setTimeInMillis( time );
// return cal.getTime().toLocaleString();
//方式2 按自定义格式
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
Date currentTime = new Date( time );
return format1.format(currentTime);
}
把大小转换为易读的格式,这里偷懒,最大是M的:
卡拉那天跟我说,“你要批一下现在的相亲节目,太浅薄了,太颠覆美好了,让人看到这些女孩子感到作呕。如果她们都成为现在社会女人的代表,那未来一大半 男人大约都会选择独身。”
我 跟他说,我不会去批判这些女孩。我只会教我儿子选择什么样的伴侣。每个人有每个人的生活方式,一个被一群大人像公主一样呵护大的女孩子,因我一篇 文章就从良了吗?不可能。而且我也不相信这样的女孩子会是社会的主流,去这些节目的女子,都单身找不到对象啊!那些好姑娘们,不等出门,都嫁了啊,没毛病 的,品性好的,我们在电视上看不见啊!
卡拉大笑。
什么样的女孩才值得拥有幸福?我最近看贾静雯,看黄奕,真 是头大。尤其那个贾静雯,真是不好意思,说起来她还是滕导的闺蜜,从老滕第一回跟我提她, 我就说打住,这个女人我知,一个看起来情商低,智商也不高的女人,还爱玩火。我批她,不是在赞扬孙志浩,我觉得那个男人更是乐色中的极品。就是因为这样万 里挑一的极品都能被贾静雯中标,可见贾有多笨。
我想,中外的标准,女子要传统,这在哪里都不会错。
所谓的传统就是女主内,相夫教子,夫妻相互扶持,艰难的时候互为依靠。
我 跟他说,我不会去批判这些女孩。我只会教我儿子选择什么样的伴侣。每个人有每个人的生活方式,一个被一群大人像公主一样呵护大的女孩子,因我一篇 文章就从良了吗?不可能。而且我也不相信这样的女孩子会是社会的主流,去这些节目的女子,都单身找不到对象啊!那些好姑娘们,不等出门,都嫁了啊,没毛病 的,品性好的,我们在电视上看不见啊!
卡拉大笑。
什么样的女孩才值得拥有幸福?我最近看贾静雯,看黄奕,真 是头大。尤其那个贾静雯,真是不好意思,说起来她还是滕导的闺蜜,从老滕第一回跟我提她, 我就说打住,这个女人我知,一个看起来情商低,智商也不高的女人,还爱玩火。我批她,不是在赞扬孙志浩,我觉得那个男人更是乐色中的极品。就是因为这样万 里挑一的极品都能被贾静雯中标,可见贾有多笨。
我想,中外的标准,女子要传统,这在哪里都不会错。
所谓的传统就是女主内,相夫教子,夫妻相互扶持,艰难的时候互为依靠。
引用
ProxyPassMatch Directive
Description: Maps remote servers into the local server URL-space using regular expressions
Syntax: ProxyPassMatch [regex] !|url [key=value [key=value ...]]
Context: server config, virtual host, directory
Status: Extension
Module: mod_proxy
Compatibility: available in Apache 2.2.5 and later
Description: Maps remote servers into the local server URL-space using regular expressions
Syntax: ProxyPassMatch [regex] !|url [key=value [key=value ...]]
Context: server config, virtual host, directory
Status: Extension
Module: mod_proxy
Compatibility: available in Apache 2.2.5 and later
比如,把asp的请求放到8080端口的服务器
<VirtualHost *:80>
ServerAdmin webmaster@aslibra.com
DocumentRoot "E:/webapps/www.aslibra.com"
ServerName www.aslibra.com
ErrorLog "logs/test.localhost-error.log"
CustomLog "logs/test.localhost-access.log" common
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPassMatch .*\.asp http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
ServerAdmin webmaster@aslibra.com
DocumentRoot "E:/webapps/www.aslibra.com"
ServerName www.aslibra.com
ErrorLog "logs/test.localhost-error.log"
CustomLog "logs/test.localhost-access.log" common
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPassMatch .*\.asp http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>
这个会对给proxy带来很大的灵活性,参考官方介绍:
http://httpd.apache.org/docs/current/mod/mod_proxy.html
前面有说明android获取程序信息,这些信息是基本信息,我想提取android:minSdkVersion的值,可还没有发现用程序可以提取出来。
有一个比较笨的方式是解压apk文件,分析apk文件里的xml。
首先apk文件其实是zip文件,改名即可按zip文件解压,而xml文件是二进制的,倒是需要另外的软件解决。
如果需要提取,不需要再重新打包,可以改名直接解压,否则可以试试apktool来解压和打包,不重复说明。
浏览二进制的xml文件,可以用 AXMLPrinter2 解决,在 android4me 的工程里面可以下载到。
AXMLPrinter2.jar Prints XML document from binary XML file (with correct namespace handing & attribute formatting).
下面演示一下解析过程:
有一个比较笨的方式是解压apk文件,分析apk文件里的xml。
首先apk文件其实是zip文件,改名即可按zip文件解压,而xml文件是二进制的,倒是需要另外的软件解决。
如果需要提取,不需要再重新打包,可以改名直接解压,否则可以试试apktool来解压和打包,不重复说明。
浏览二进制的xml文件,可以用 AXMLPrinter2 解决,在 android4me 的工程里面可以下载到。
AXMLPrinter2.jar Prints XML document from binary XML file (with correct namespace handing & attribute formatting).
下面演示一下解析过程:
root@aslibra:/tmp/apk# ls
c.apk
root@aslibra:/tmp/apk# mv c.apk c.zip
root@aslibra:/tmp/apk# unzip c
Archive: c.zip
...
inflating: res/layout/main.xml
...
inflating: AndroidManifest.xml
extracting: resources.arsc
...
root@aslibra:/tmp/apk# java -jar /path/to/AXMLPrinter2.jar AndroidManifest.xml |grep minSdkVersion
android:minSdkVersion="2"
c.apk
root@aslibra:/tmp/apk# mv c.apk c.zip
root@aslibra:/tmp/apk# unzip c
Archive: c.zip
...
inflating: res/layout/main.xml
...
inflating: AndroidManifest.xml
extracting: resources.arsc
...
root@aslibra:/tmp/apk# java -jar /path/to/AXMLPrinter2.jar AndroidManifest.xml |grep minSdkVersion
android:minSdkVersion="2"
简单笔记一下,运行出错:
下载安装即可:
文件下载:Gisle Aas > Unicode-String > Unicode::String
root@aslibra:~# ./axml2xml.pl
Can't locate Unicode/String.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./axml2xml.pl line 24.
BEGIN failed--compilation aborted at ./axml2xml.pl line 24.
Can't locate Unicode/String.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.0 /usr/local/share/perl/5.10.0 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at ./axml2xml.pl line 24.
BEGIN failed--compilation aborted at ./axml2xml.pl line 24.
下载安装即可:
root@aslibra:/Data/tgz# wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# tar xfz Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# cd Unicode-String-2.09
root@aslibra:/Data/tgz/Unicode-String-2.09# perl Makefile.PL
root@aslibra:/Data/tgz/Unicode-String-2.09# make
cp String.pm blib/lib/Unicode/String.pm
cp lib/Unicode/CharName.pm blib/lib/Unicode/CharName.pm
......
Manifying blib/man3/Unicode::String.3pm
Manifying blib/man3/Unicode::CharName.3pm
root@aslibra:/Data/tgz/Unicode-String-2.09# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.bs
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.so
Installing /usr/local/lib/perl/5.10.0/Unicode/String.pm
Installing /usr/local/lib/perl/5.10.0/Unicode/CharName.pm
Installing /usr/local/man/man3/Unicode::CharName.3pm
Installing /usr/local/man/man3/Unicode::String.3pm
Writing /usr/local/lib/perl/5.10.0/auto/Unicode/String/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
root@aslibra:/Data/tgz# tar xfz Unicode-String-2.09.tar.gz
root@aslibra:/Data/tgz# cd Unicode-String-2.09
root@aslibra:/Data/tgz/Unicode-String-2.09# perl Makefile.PL
root@aslibra:/Data/tgz/Unicode-String-2.09# make
cp String.pm blib/lib/Unicode/String.pm
cp lib/Unicode/CharName.pm blib/lib/Unicode/CharName.pm
......
Manifying blib/man3/Unicode::String.3pm
Manifying blib/man3/Unicode::CharName.3pm
root@aslibra:/Data/tgz/Unicode-String-2.09# make install
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.bs
Installing /usr/local/lib/perl/5.10.0/auto/Unicode/String/String.so
Installing /usr/local/lib/perl/5.10.0/Unicode/String.pm
Installing /usr/local/lib/perl/5.10.0/Unicode/CharName.pm
Installing /usr/local/man/man3/Unicode::CharName.3pm
Installing /usr/local/man/man3/Unicode::String.3pm
Writing /usr/local/lib/perl/5.10.0/auto/Unicode/String/.packlist
Appending installation info to /usr/local/lib/perl/5.10.0/perllocal.pod
文件下载:Gisle Aas > Unicode-String > Unicode::String
前面有GET方式的笔记:Android下处理xml数据,POST的方式可能有点不一样:
参考:使用HttpURLConnection进行POST方式提交,还可以设置请求的头信息
这里也有POST的方法:android文件上传到服务器
URL url = new URL( SERVER_URL );
HttpURLConnection conn;
conn = (HttpURLConnection) url.openConnection();
//这个要打开
conn.setDoOutput(true);
conn.setDoInput(true);
//处理POST的数据
conn.setRequestMethod("POST");
String username="action=mylist&myUid=Something";
conn.getOutputStream().write(username.getBytes());
conn.getOutputStream().flush();
conn.getOutputStream().close();
InputStream is = conn.getInputStream();
//下同...
HttpURLConnection conn;
conn = (HttpURLConnection) url.openConnection();
//这个要打开
conn.setDoOutput(true);
conn.setDoInput(true);
//处理POST的数据
conn.setRequestMethod("POST");
String username="action=mylist&myUid=Something";
conn.getOutputStream().write(username.getBytes());
conn.getOutputStream().flush();
conn.getOutputStream().close();
InputStream is = conn.getInputStream();
//下同...
参考:使用HttpURLConnection进行POST方式提交,还可以设置请求的头信息
这里也有POST的方法:android文件上传到服务器
android获取手机的imei信息:
这个操作需要权限说明:
另外,要获得手机的型号和系统版本,可以这样:
TelephonyManager telephonyManager=(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String imei=telephonyManager.getDeviceId();
//获得手机号
telephonyManager.getLine1Number();
String imei=telephonyManager.getDeviceId();
//获得手机号
telephonyManager.getLine1Number();
这个操作需要权限说明:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
另外,要获得手机的型号和系统版本,可以这样:
//机器型号 HTC Magic
Build.MODEL
//SDK版本 8
Build.VERSION.SDK
//SDK版本号 2.2
Build.VERSION.RELEASE
Build.MODEL
//SDK版本 8
Build.VERSION.SDK
//SDK版本号 2.2
Build.VERSION.RELEASE






