使用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>
就可以了