这是Java中的算法:
public String getHash(String password, String salt) throws Exception {
String input = password + salt;
MessageDigest md = MessageDigest.getInstance(SHA-512);
byte[] out = md.digest(input.getBytes());
return HexEncoder.toHex(out);
}
Run Code Online (Sandbox Code Playgroud)
假设盐是已知的.我想知道在密码是字典单词时以及它不是字典单词时暴力的时间.
我有一个显示框字符的自定义字体.我使用的字体显然不支持所有语言.我想检查我要显示的字符串是否可以通过我的自定义字体显示.如果它不能,那么我想使用标准的Android字体(我知道可以显示字符).我找不到一种方法来检查我的Typeface是否可以显示特定的字符串.我相信我已经看到了一种方法可以解决这个问题.谁知道?
我的应用不是媒体播放器.我只想使用新的MediaControllerCompat类来控制当前的媒体播放器.目前我正在使用MediaSessionManager但是想要升级到新的compat类.
当我没有令牌或MediaSessionCompat来实例化它时,如何实例化MediaControllerCompat类?我希望得到一些示例代码.
android android-music-player mediacontroller android-mediasession
我升级到版本4.2,发现我的旧代码没有编译,因为它似乎已删除ForceOverflow父主题.
谷歌搜索此问题后,似乎故意删除它以维护设备一致的菜单按钮.
我确实理解使用物理菜单按钮的论点,但我只是不同意它......再加上那些旧的菜单太难看了.
我真的不希望用户说他们无法访问以前的功能(这毕竟是菜单按钮被移动到屏幕上可见的原因),那么我的选择是什么?这将在未来的版本中更改吗?我是否必须坚持使用以前版本的ABS并处理旧版ABS库中的其他一些错误,这些错误在最近的版本中得到修复?有什么工作吗?
我正在编写一个启动器,并希望能够在Google App中将搜索作为叠加而不是全屏打开.
到目前为止,我只找到了一种在Google App全屏幕中打开搜索的方法,如下所示(取自AOSP Launcher3源代码):
public static boolean openSearch(Context context) {
SearchManager searchManager = (SearchManager) context.getSystemService(Context.SEARCH_SERVICE);
ComponentName globalSearchActivity = searchManager.getGlobalSearchActivity();
if (globalSearchActivity == null) {
Timber.w("No global search activity found.");
return false;
}
Intent intent = new Intent(android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(globalSearchActivity);
Bundle appSearchData = new Bundle();
appSearchData.putString("source", "launcher-search");
intent.putExtra(android.app.SearchManager.APP_DATA, appSearchData);
intent.putExtra(android.app.SearchManager.QUERY, "");
intent.putExtra(android.app.SearchManager.EXTRA_SELECT_QUERY, true);
try {
context.startActivity(intent);
return true;
} catch (ActivityNotFoundException ex) {
Timber.w("Global search activity not found: %s", globalSearchActivity);
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这是可能的,因为像Nova和Action Launcher这样的其他发射器设法做到了......
我正在使用三星Galaxy S2并尝试以下方法:
import android.text.ClipboardManager;
ClipboardManager clipboard = (ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(null);
Run Code Online (Sandbox Code Playgroud)
和
clipboard.setText("");
Run Code Online (Sandbox Code Playgroud)
它没用.想法?
我有一个非常大的图像,我只想显示一个显示大小的部分(没有缩放),该部分应该只是图像的中心.因为图像非常大,我无法将整个图像读入内存然后裁剪.这是我到目前为止所做的,但它会为大图像提供OutOfMemory.另外我不认为inSampleSize适用,因为我想裁剪图像,而不是降低分辨率.
Uri data = getIntent().getData();
InputStream is = getContentResolver().openInputStream(data);
Bitmap bitmap = BitmapFactory.decodeStream(is, null, null);
Run Code Online (Sandbox Code Playgroud)
任何帮助都会很棒?
我试图使用带有AES的IV,以便加密的文本是不可预测的.但是,加密的十六进制字符串始终相同.
我实际上尝试了一些尝试通过将一些额外的参数传递给cipher init调用来添加一些随机性的方法:
1)手动IV生成
byte[] iv = generateIv();
IvParameterSpec ivspec = new IvParameterSpec(iv);
Run Code Online (Sandbox Code Playgroud)
2)要求密码生成IV
AlgorithmParameters params = cipher.getParameters();
params.getParameterSpec(IvParameterSpec.class);
Run Code Online (Sandbox Code Playgroud)
3)使用PBEParameterSpec
byte[] encryptionSalt = generateSalt();
PBEParameterSpec pbeParamSpec = new PBEParameterSpec(encryptionSalt, 1000);
Run Code Online (Sandbox Code Playgroud)
所有这些似乎对加密文本没有影响....帮助!
我的代码:
package com.citc.testencryption;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.PBEKeySpec;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class Main extends Activity {
public static final int SALT_LENGTH = 20;
public static final int PBE_ITERATION_COUNT = 1000;
private static final String RANDOM_ALGORITHM = …
Run Code Online (Sandbox Code Playgroud) 我正在修改TouchImageView(https://github.com/MikeOrtiz/TouchImageView/issues),以便在双击时进行放大和缩小.我按照这篇文章开始 - TouchImageView是如何工作的?并添加了手势检测.
现在我必须实现放大和缩小,我不知道该怎么做.这是我到目前为止的代码,未实现zoomIn和zoomOut方法.有人知道怎么做吗?另外我注意到捏缩放并没有真正缩放到你捏的位置,所以我希望这可以使其表现得更像gallery3D捏缩放.谢谢.
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.Matrix;
import android.graphics.PointF;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.ScaleGestureDetector;
import android.view.ScaleGestureDetector.SimpleOnScaleGestureListener;
import android.view.View;
import android.widget.ImageView;
public class TouchImageView extends ImageView {
private static final String TAG = TouchImageView.class.getSimpleName();
Matrix matrix = new Matrix();
// We can be in one of these 3 states
static final int NONE = 0;
static final int DRAG = 1;
static final int ZOOM = 2;
int mode = …
Run Code Online (Sandbox Code Playgroud) AppCompatDelegate.MODE_NIGHT_AUTO 没有更新我现有的活动,我不知道为什么。
我动态地允许用户更改夜间模式。如果用户将模式更改为自动,我会设置默认的夜间模式,然后重新创建活动:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
recreate();
Run Code Online (Sandbox Code Playgroud)
如果我更改为 MODE_NIGHT_YES 或 MODE_NIGHT_NO,它会按预期工作。如果我更改为 MODE_NIGHT_AUTO,它会转到正确的暗/亮主题,但是在从白天到黑夜的转换后它无法更新活动。测试这个有点糟糕,因为我必须等待日出/日落(编辑:显然我可以手动更改设备上的时间而不必等待......只要不使用位置权限)。
我是否必须手动检查 onresume 中的夜间模式标志并手动更新现有活动的资源,还是我做错了什么?如果我旋转设备并在日落后重新创建活动,则正确选择了深色主题,但在旋转之前,它仍将显示浅色主题。
支持 lib 23.4.0,Android 6.0 版。
这里有点类似的问题,但答案是只删除高程和阴影......不是我想要的:Android CardView with unique border when transparent
我想要的是 Pixel Launcher 搜索栏中显示的内容...即具有半透明背景和阴影的形状,但阴影与白色形状不重叠(最终会使其看起来灰色) . 我基本上想要一个阴影,但中间有一个洞,我的形状是......
这是我尝试过的,但您可以从附图中看到,灰色阴影是从半透明的白色背景中穿过的。
活动_main.xml
<FrameLayout
android:layout_width="120dp"
android:layout_height="120dp"
android:background="@drawable/rectangle"
android:elevation="8dp" />
Run Code Online (Sandbox Code Playgroud)
矩形文件
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="4dp" />
<solid android:color="#aaffffff" />
</shape>
Run Code Online (Sandbox Code Playgroud)
你可以看到,即使我的形状是白色背景上的半透明白色,它也会因为下面的阴影而变成灰色,这不是我想要的。
我也尝试过使用 View#setOutlineProvider 但没有成功。
我也试过玩https://github.com/harjot-oberai/MaterialShadows
如果可以避免的话,我不想用 9patch 图像来做。
我有一个带有配置活动的小部件,用户可以从颜色选择器中选择小部件背景的颜色.我正在使用下面的方法,我有一个ImageView并创建一个我在ImageView上动态设置的位图.
http://konsentia.com/2011/03/dynamically-changing-the-background-color-in-android-widgets/
public static Bitmap getBackground (int bgcolor)
{
try
{
Bitmap.Config config = Bitmap.Config.ARGB_8888; // Bitmap.Config.ARGB_8888 Bitmap.Config.ARGB_4444 to be used as these two config constant supports transparency
Bitmap bitmap = Bitmap.createBitmap(2, 2, config); // Create a Bitmap
Canvas canvas = new Canvas(bitmap); // Load the Bitmap to the Canvas
canvas.drawColor(bgcolor); //Set the color
return bitmap;
}
catch (Exception e)
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
然后
remoteViews.setImageViewBitmap(R.id.bgcolor, getBackground(bgcolor));
Run Code Online (Sandbox Code Playgroud)
我想做的是让用户也选择他们是否想在小部件上使用圆角.是否可以动态更改颜色以及窗口小部件是否具有圆角?从我看过的四舍五入的例子来看,您需要知道视图的尺寸,以便在设置位图之前可以对边缘进行舍入.我不认为这可能来自一个小部件虽然......任何想法?
android ×11
imageview ×2
salt ×2
aes ×1
bitmap ×1
brute-force ×1
clipboard ×1
crop ×1
cryptography ×1
custom-font ×1
hash ×1
java ×1
sha ×1
shadow ×1
transparent ×1
typeface ×1
widget ×1
zoom ×1