使用Android模拟器的时候发现系统时间一直和windows系统的不一致,之前一直没在意。后来需要根据某种格式打印当前时间,于是我写了这段代码
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DATE);
int hours = calendar.get(Calendar.HOUR_OF_DAY);
int minutes = calendar.get(Calendar.MINUTE);
int seconds = calendar.get(Calendar.SECOND);
// Log.e("now_time",year+"-"+month+"-"+day+" "+hours+":"+minutes+":"+seconds);
System.out.println(year + "-" + month + "-" + day + " " + hours + ":"
+ minutes + ":" + seconds);结果比正常时间慢了8个小时,一开始想这应该是虚拟机时区设定问题,也没在意。但是偶然把这段代码放在普通java工程中运行结果也是比正常时间慢了8个小时。这次我想也许是eclipse参数设置不正确,但是直接用命令行编译运行也是一样的结果。最后判定不是eclipse的问题,应该是java虚拟机的问题。
谷歌一下,发现是注册表出现异常。
注册表对应项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
在时间正常的机子上拷到自己机子上导入,时间正常了
遇到一样问题的可以导入附件的注册表文件,xp下可用,vista和win7请自己找正常的注册表。
平台特点
1 大屏幕,分辨率 1024x768
2 再次强调没有固定的方向,必须四个方向都支持。
3 可以外接键盘
4 可以放置设备,与台式机同步
iPhone与iPad的共同特点
- 内存有限
- 同时运行单个程序
- 在设置功能里放置程序选项
- 设备方向可以改变
- 最小化的帮助,让用户直接就能看懂
- 程序响应手势而不是鼠标
- 运行源生程序、Web程序或者二者兼备
- 图片深度24位(RGB各8位),另带8位alpha通道,建议使用PNG格式图片
界面简单建议
- 支持所有方向
注意要为每个方向都提供一个启动图片
- 增强交互而非只增加功能
- 使用split view, 导航和弹出窗口来平整信息层级
- 减少全屏切换,仅仅改变需要改变的部分
- 支持协作和互联
- 如果可能,增加真实感以及物理维度到应用程序里,尽可能像真实世界的物品以便用户易于上手
- 界面漂亮 用户喜爱
- 尽量让用户更关注内容而不是界面
- 尽可能减少强制用户模式化操作
- 减少使用列表,改变为其他形式
- 尽量支持多手指手势
- 让用户模式化操作的地方可以用弹出窗口
- 限制复杂的模式化操作
- 减小文件操作尤其尽量让用户感觉不到文件系统的存在
- 仅仅在必须的情况才提示用户保存
- 将工具条整合在界面上部
- 尽可能快速启动程序
尽量使用截图作为启动画面
不要在启动时显示关于或者splash screen
恢复上次运行状态
尽量不要让用户提供设置信息
- 程序可能随时停止
- 为每个方向都准备启动画面
- 建立漂亮的图标
尺寸:72x72
和iPhone程序类似,iPad程序的图标会自动增加:圆角、阴影和高光。
图标标准:
> 90度直角边
> 没有高光
> 不带alpha通道透明
另外要提供48x48图标一个,用于spotlight搜索和设置
实现歌词循环
package com.google.android;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.widget.EditText;
public class TextView extends Activity {
/** Called when the activity is first created. */
private EditText t;
String str = " ";
String s = "北京欢迎你,我家大门常打开,开怀容纳天地,天大地大都是我家,请不要客气,我们是一家,北京欢迎你,有梦想就了不起,有勇气就会有奇迹";
int count = 0;
private final static String TAG = "TextView++++++++++++++";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = (EditText)findViewById(R.id.scroll);
t.setText(str + s);
t.setEnabled(false);
mHandler.sendMessageDelayed(mHandler.obtainMessage(0), 1000);
}
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
switch(msg.what){
case 0:
if(count != (s.length() + 320/18)){
t.scrollBy(18, 0);
}
else{
count = 0;
t.setText(str + s);
}
count++;
Log.v(TAG, String.valueOf(count));
sendMessageDelayed(obtainMessage(0), 1000);
break;
}
}
};
}
在清单列表中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:id="@+id/scroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="18sp"
android:singleLine="true"
/>
</LinearLayout>
就可以了