导航:首页 > 操作系统 > androidfile时间

androidfile时间

发布时间:2022-05-24 09:39:34

A. android 创建一个XML文件,如何在读这个XML文件时,得到读取的时间

回答:格式自定,按照程序编写,回即得读取时间。
方法步骤:如下
一、布局界面
二、写一个xml文件
[java] view plain
三、写一个和xml相对应的bean
[java] view plain
<span style="color:#000000;">[java] view plainprint?
package com.example.lession04_pull.domain;
四、写一个Pul的服务类
[java] view plain
<span style="color:#000000;">[java] view plainprint?
package com.example.lession04_pull.service;
// 解析文件
xmlPullParser.setInput(is, "UTF-8");
//获取解析的事件类型
int eventType=xmlPullParser.getEventType();
//判断文件解析的是否完毕
while(eventType!=XmlPullParser.END_DOCUMENT){
switch (eventType) {
case XmlPullParser.START_DOCUMENT:
persons=new ArrayList<Person>();
break;
//创建person对象
currentPerson=new Person();
currentPerson.setId(Integer.parseInt(xmlPullParser
.getAttributeValue(null, "id")));
}else if("name".equals(tagName)){
currentPerson.setName(xmlPullParser.nextText());
//把person对象放到集合中去
persons.add(currentPerson);
currentPerson=null;
// 写入
public boolean write(List<Person> persons) {
// 采用pull解析进行实现
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 获取sdcard目录 文件对象
File sdCardDir = Environment.getExternalStorageDirectory();
// 创建文件
File file = new File(sdCardDir, "mycsdn.xml");
XmlSerializer serializer = Xml.newSerializer();
FileOutputStream fos = null;
try {
// 根据文件对象创建一个文件的输出流对象
fos = new FileOutputStream(file);
// 设置输出的流及编码
serializer.setOutput(fos, "UTF-8");
// 设置文件的开始
serializer.startDocument("UTF-8", true);
// persons标签开始
serializer.startTag(null, "persons");
for (Person person : persons) {
// person标签的开始
serializer.startTag(null, "person");
// 设置person标签的属性
serializer.attribute("null", "id", person.getId() + "");
// 设置person标签的子标签 name
serializer.startTag(null, "name");
serializer.text(person.getName());
serializer.endTag(null, "name");
// 设置person标签的子标签的age
serializer.startTag(null, "age");
serializer.text(person.getAge() + "");
serializer.endTag(null, "age");
// person标签的结束
serializer.endTag(null, "person");
}
// persons标签的结束
serializer.endTag(null, "persons");
补充说明:
有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中;或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐使用Pull解析器。

B. android 如何在应用程序中修改系统时间

在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中才可以用。
本来以为就没有办法在应用程序这一层改系统时间了,后来在网上搜了好久,知道这个目的还是可以达到的。
第一个方法简单点,不过需要在Android系统源码的环境下用make来编译
1. 在应用程序的AndroidManifest.xml中的manifest节点中加入
"android:sharedUserId="android.uid.system"这个属性。
2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

第二个方法麻烦点,不过不用开虚拟机跑到源码环境下用make来编译:
1. 同上,加入"android:sharedUserId="android.uid.system"这个属性。
2. 使用eclipse编译出apk文件,但是这个apk文件是不能用的。
3. 用压缩软件打开apk文件,删掉META-INF目录下的CERT.SF和CERT.RSA两个文件。
4. 使用目标系统的platform密钥来重新给apk文件签名。这步比较麻烦,
首先找到密钥文件,在我的Android源码目录中的位置是"build argetproctsecurity",下面的platform.pk8和platform.x509.pem两个文件。
然后用Android提供的Signapk工具来签名,signapk的源代码是在"build oolssignapk"下,用法为"signapk platform.x509.pem platform.pk8 input.apk output.apk",文件名最好使用绝对路径防止找不到,也可以修改源代码直接使用。这样最后得到的apk和第一个方法是一样的。
最后解释一下原理,首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样就有权限来修改系统时间了。
只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。
这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到 platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android 中的key来签名,程序在模拟器上运行OK,不过放到G3上安装直接提示"Package ... has no signatures that match those in shared user android.uid.system",这样也是保护了系统的安全。

C. 关于android遍历文件按照时间排序的问题

我觉得方便的话就是把它存成整数,date.getTime(),这样排序就简单了,然后返回成日期可以用new Date(time);

D. 如何在adb shell下设置Android的时间

用adb
shell
mpsys
activity命令查看
(2)另外用"adb
logcat
|
grep
ActivityManager"查看前运行Activity
android2.2用file.setLastModified(long
time)设置文件修改间版本像功能禁用android2.3版本设置文件修改间

E. 安卓系统文件的写入时间为什么是1970年

以下全文,全本人手打。
安卓系统文件的写入时间为什么是1970年?
是因为Unix时间戳是以1970年计时起点时间的。
而且linux是来源于Unix,所以Linux也是1970年。
IOS和安卓都是基于Linux的,所以安卓也是1970年。
------------------------------------------------------------------------------
最开始的Unix时间戳,为什么从1970年开始而不是其它年份?
是因为unix诞生于1969年,1970年开始使用。
------------------------------------------------------------------------------
为什么使用时间是1970-2038年?
是因为最初32位能表示的最长时间是68年,设定为1970开始,结束时候是2038年,正好满足使用。
------------------------------------------------------------------------------
另外:
unix诞生于1969年,linux诞生于1991年,安卓诞生于2007年
不是楼上那两人乱说的时间,也不是它们说的作者生日,那个年代的作者只考虑实用性,没那么多花花,不像现在的程序员和总监,不重视程序基本功能,反而把重心放在没有的地方上。

F. 为什么安卓根目录文件夹显示的日期都不一样,有1970、1971、2009,甚至有的目录没有日期

这很正常。根目录文件夹每次开机时由设备的boot分区加载到根目录而得,一部分文件夹是开机前期生成的,设备在加载这些文件夹时不考虑时间。还有一部分文件夹在开机后期执行开机脚本时或开机后使用时系统对它进行了改动,因此时间各异。希望帮到你。

G. Android如何获取文件的最后访问时间,创建时间

数据库中的文件的话,要adb shell进去查看数据库有没有该字段。存储卡上的文件的话,java中没有获取文件创建事件的接口。

一、 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写)
String res = "";

try{

InputStream in = getResources().openRawResource(R.raw.bbi);

//在\Test\res\raw\bbi.txt,

int length = in.available();

byte [] buffer = new byte[length];

in.read(buffer);

//res = EncodingUtils.getString(buffer, "UTF-8");

//res = EncodingUtils.getString(buffer, "UNICODE");

res = EncodingUtils.getString(buffer, "BIG5");

//依bbi.txt的编码类型选择合适的编码,如果不调整会乱码

in.close();

}catch(Exception e){

e.printStackTrace();

}

myTextView.setText(res);//把得到的内容显示在TextView上

二、 从asset中获取文件并读取数据(资源文件只能读不能写)
String fileName = "yan.txt"; //文件名字

String res="";

try{

InputStream in = getResources().getAssets().open(fileName);

// \Test\assets\yan.txt这里有这样的文件存在

int length = in.available();

byte [] buffer = new byte[length];

in.read(buffer);

res = EncodingUtils.getString(buffer, "UTF-8");

}catch(Exception e){

e.printStackTrace();

}

三、 从sdcard中去读文件,首先要把文件通过\android-sdk-windows\tools\adb.exe把本地计算机上的文件到sdcard上去,adb.exe push e:/Y.txt /sdcard/, 不可以用adb.exe push e:\Y.txt \sdcard\ 同样: 把仿真器上的文件到本地计算机上用: adb pull ./data/data/com.tt/files/Test.txt e:/

String fileName = "/sdcard/Y.txt";

//也可以用String fileName = "mnt/sdcard/Y.txt";

String res="";

try{

FileInputStream fin = new FileInputStream(fileName);

//FileInputStream fin = openFileInput(fileName);

//用这个就不行了,必须用FileInputStream

int length = fin.available();

byte [] buffer = new byte[length];

fin.read(buffer);

res = EncodingUtils.getString(buffer, "UTF-8");

fin.close();

}catch(Exception e){

e.printStackTrace();

}

myTextView.setText(res);

H. android下如何修改文件时间

分两个步骤:
1、修改文件.xml增加代码24红色标记表示24小时制,也可以改为12(12小时制)
2、修改文件gsDatabaseHelper.java找到函数loadSystemSettings (),在函数中增加以下语句:loadStringSetting(stmt, Settings.System.TIME_12_24, R.string.time_12_24);

I. android 怎么修改出厂默认日期和默认时区

[DESCRIPTION]
如何修改为出厂时区为指定的时区和默认的日期?
[Solution]
时间信息预设信息都是0, 在rtc 初试化 时候设置的.
由于RTC 基本上不会断电,所以它的初试化只做一次,即使重新download bin 档.
用FlashTool 执行Format, 再执行download (不要用format -->download button), 或
者RTC断电一段时间,就可以观察到日期恢复到出厂值。
修改RTC默认日期:
修改文件
\alps\mediatek\custom\[project]\preloader\ inc\cust_rtc.h
\alps\mediatek\custom\[project]\kernel\rtc\rtc\rtc-mt65XX.h
#define RTC_DEFAULT_YEA 2012
#define RTC_DEFAULT_MTH 2
#define RTC_DEFAULT_DOM 1
修改默认日期:
在JB之前,进行以上修改即可,如果是JB以后,还需要进行以下修改:
(如果下面的修改还是无效,请参考FAQ08916,FAQ08719,FAQ07606)
[File]
framework\services\java\com\android\server\NetworkTimeUpdateService.java
[Function]
systemReady()
[Code]
if(isFirstBoot){
Time today = new Time(Time.getCurrentTimezone());
today.setToNow(); // 将时间恢复到RTC时间
today.set(1, 0, mDefaultYear ); //设立出厂默认日期,mDefaultYear是默认年份
如果想恢复出厂设置后,系统时间不变,可使用today.setToNow();
如果想恢复出厂设置后,系统时间也恢复成出厂时间,可使用today.set(1, 0, mDefaultYear );
这个today.set方法有6个参数的重载,可以精确到秒,具体使用方法请自行查询API,所以在这里设
置系统默认时间就可以了。
如果要设置出厂默认年份需要修改
1) mediatek\frameworks\base\res\res\values\config.xml将
default_restore_year 修改成 2013
<!-- default year for first power on-->
<integer name="default_restore_year">2013</integer>
2)
frameworks\base\services\java\com\android\server\NetworkTimeUpdateService.
java
if(today.year <= 2010){ //删除此行判断条件
today.set(today.monthDay, today.month, 2013);
Log.d(TAG, "Set the year to 2013");
SystemProperties.set(BOOT_SYS_PROPERTY, "false");
SystemClock.setCurrentTimeMillis(today.toMillis(false));}
修改后的表现可通过Setting菜单->时间日期设置):

修改默认时区:
在系统属性中增加下面字段(假设改为Moscow)
路径:\alps\mediatek\config\[project]\system.prop
persist.sys.timezone = Europe/Moscow
注意:默认时区的修改会影响默认时间的值,会根据与格林尼治标准时间差来更新时间,这是正常
现象。如当前设置为中国标准时间GMT+8:00,则手机的出厂时间会变为8:00。

阅读全文

与androidfile时间相关的资料

热点内容
如何登录服务器看源码 浏览:522
如何做服务器端 浏览:154
注册服务器地址指什么 浏览:433
文本命令行 浏览:97
扑克牌睡眠解压 浏览:193
rc4算法流程图 浏览:159
胡萝卜解压方法 浏览:35
扫描pdf格式软件 浏览:876
程序员在银行开账户 浏览:516
android数据库下载 浏览:749
中午服务器崩溃怎么办 浏览:425
产品经理和程序员待遇 浏览:442
解忧程序员免费阅读 浏览:109
录像免压缩 浏览:508
总结所学过的简便算法 浏览:362
南昌哪些地方需要程序员 浏览:761
三台服务器配置IP地址 浏览:175
如何用命令方块连续对话 浏览:280
win7linux共享文件夹 浏览:305
命令符打开本地服务 浏览:601