我有一个问题,但也许这实际上不是问题!为什么即使使用 Arial 等标准字体,下面的 HTML 标记也会生成似乎不正确的结果?
\n\n<span>\xd8\xb3\xd9\x84\xd8\xa7\xd9\x85</span><span>\xd8\xae\xd8\xaf\xd8\xa7\xd8\xad\xd8\xa7\xd9\x81\xd8\xb8</span>\nRun Code Online (Sandbox Code Playgroud)\n\n\xd8\xb3\xd9\x84\xd8\xa7\xd9\x85\xd8\xae\xd8\xaf\xd8\xa7\xd8\xad\xd8\xa7\xd9\x81\xd8\xb8
\n\n上面的输出不应该是这个吗?(忽略用于模拟的空间)
\n\n\xd8\xb3\xd9\x84\xd8\xa7\xd9\x85 \xd8\xae\xd8\xaf\xd8\xa7\xd8\xad\xd8\xa7\xd9\x81\xd8\xb8
\n\n我也使用了标签的边距,但有同样的问题。\n提前致谢;)
\n我有一个使用Android库项目的主要Android应用程序.当我更改我的库项目和/ Build Project或Build All在主项目中未检测到更改,直到我清理主项目或关闭并重新打开Eclipse.
我如何解决这个问题?有没有快速解决方案?
更新
我在用:
Eclipse 3.7.1
Android SDK API 15 Rev 3
Android SDK工具Rev 19
Android SDK平台工具Rev 11
我使用以下样式并定义了一个模态活动:
<style name="Theme.TransparentD0" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/semi_transparentD0</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如何检查用户是否触摸了我的活动内部或外部?
我有一个Activity,它会为结果打开一个新的Activity:
Intent i = new Intent(ActDocument.this, ActCustomers.class);
startActivityForResult(i, ActDocument.DIALOG_CUSTOMER);
Run Code Online (Sandbox Code Playgroud)
当我按下子Activity并返回到父Activity时onActivityResult,在所有设备中正确调用了Activity ,但是我已经设置了一个onCreate被调用的设备而不是onActivityResult.
此设备是三星Galaxy Tab-P5100 Android 4.0.3.奇怪的是,我已经在三星Galaxy Tab-P5100 Android 4.0.3的其他设备上测试了我的应用程序,它没关系,但我只有这个设备有问题.
为什么?我怎么解决这个问题?
更新
我注意到onDestroy()在此设备上打开子Activity后调用了父Activity.
我已经编写了以下代码,用于在主屏幕中创建我的应用程序的快捷方式:
private void createShortcut() {
Intent shortcutIntent = new Intent(this, ActActivation.class);
shortcutIntent.setClassName("org.mabna.order",
"org.mabna.order.ui.ActActivation");
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent addIntent = new Intent();
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "test");
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
this.sendBroadcast(addIntent);
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但每次运行我的程序并运行此代码时,我收到消息"创建快捷方式测试",并在我的主屏幕上添加一个新的快捷方式.打开我的应用程序10次后,我有10个快捷方式.
如何阻止此消息框并创建多个快捷方式?
我有这两个类:
Class A
{
public int max = 100;
public int getMax()
{
return max;
}
}
Class B extends A
{
public int max = 200;
}
Run Code Online (Sandbox Code Playgroud)
我写下面的代码:
A clsA = new A();
B clsB = new B();
valA = clsA.getMax();
valB = clsB.getMax();
Run Code Online (Sandbox Code Playgroud)
valA是100 valB再次是100
如何编写clsB.getMax();返回200的代码?
我想知道在数据库中存储多币种货币价值的最佳数据库设计。例如,我有一个具有两个货币字段的实体。对于每条记录,这些字段可能具有不同的货币类型。
例子:
Table A:
-------------
Id
Name
Amount1
Amount2
Run Code Online (Sandbox Code Playgroud)
样本记录:
Id Name Amount1 Amount2
1 aaa 12$ 15£
2 bbb 30€ 17$
Run Code Online (Sandbox Code Playgroud)
我无法以一种货币存储价值。例如,我想借钱给某人。我将它的数据存储在一个表中。金钱的类型可以不同。当我借给某人 10 欧元时,我应该收回 10 欧元,而且我无法将所有价值存储在一种货币(如美元)中。
我想知道在数据库中存储这些值的最佳和更有效的设计是什么。我应该存储量和货币符号与字符串数据类型一列或者是更好地界定Money和Currency表作为存储货币价值单独的表?还是其他设计?
我在Android 2.2和API级别8的模拟器上运行我的应用程序.
我在我的代码中测试了以下两行:
long diffInDays = TimeUnit.MILLISECONDS.toDays(diffInMs); // API Level 9
long diffInDays = TimeUnit.DAYS.convert(diffInMs,TimeUnit.MILLISECONDS); // API Level 1
Run Code Online (Sandbox Code Playgroud)
我使用上面的行以毫秒为单位将时间转换为时间,但是我得到以下异常.为什么?
09-05 06:34:43.183: W/dalvikvm(12995): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
09-05 06:34:43.222: E/AndroidRuntime(12995): FATAL EXCEPTION: main
09-05 06:34:43.222: E/AndroidRuntime(12995): java.lang.NoSuchFieldError: java.util.concurrent.TimeUnit.DAYS
09-05 06:34:43.222: E/AndroidRuntime(12995): at org.mabna.order.businessLayer.db.BoSaleDocuments.getEntAcc002Collection(BoSaleDocuments.java:161)
09-05 06:34:43.222: E/AndroidRuntime(12995): at org.mabna.order.ui.ActReportAcc002.onCreate(ActReportAcc002.java:178)
09-05 06:34:43.222: E/AndroidRuntime(12995): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
09-05 06:34:43.222: E/AndroidRuntime(12995): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
09-05 06:34:43.222: E/AndroidRuntime(12995): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
09-05 06:34:43.222: E/AndroidRuntime(12995): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
09-05 06:34:43.222: E/AndroidRuntime(12995): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
09-05 06:34:43.222: E/AndroidRuntime(12995): at …Run Code Online (Sandbox Code Playgroud) 我使用以下代码加密我的数据:
public static String encrypt(String clearData, String password)
throws UnsupportedEncodingException {
byte[] bytes = encrypt(clearData.getBytes("UTF-8"), password);
return Base64.encodeBytes(bytes);
}
public static byte[] encrypt(byte[] clearData, String password)
throws UnsupportedEncodingException {
byte[] passwordKey = encodeDigest(password);
try {
aesCipher = Cipher.getInstance(CIPHER_TRANSFORMATION);
} catch (NoSuchAlgorithmException e) {
Log.e(TAG, "No such algorithm " + CIPHER_ALGORITHM, e);
} catch (NoSuchPaddingException e) {
Log.e(TAG, "No such padding PKCS5", e);
}
secretKey = new SecretKeySpec(passwordKey, CIPHER_ALGORITHM);
try {
aesCipher.init(Cipher.ENCRYPT_MODE, secretKey, ivParameterSpec);
} catch (InvalidKeyException e) {
Log.e(TAG, "Invalid …Run Code Online (Sandbox Code Playgroud) android ×5
java ×2
back ×1
class ×1
compilation ×1
css ×1
currency ×1
database ×1
encryption ×1
farsi ×1
homescreen ×1
html ×1
inheritance ×1
modal-dialog ×1
oncreate ×1
persian ×1
shortcut ×1
timeunit ×1
touch ×1