Articles of java的

Android中有哪些哈希算法?

这个问题可能听起来有点愚蠢,但缺乏文档。 为了在Android中散列字符串,我们可以使用MessageDigest ,它来自java.security包。 但是,基本设置如下: MessageDigest.getInstance( “SHA-512” ); 因此,这并不酷! 我们可以知道当前设备上有哪些算法可用吗? 它取决于什么? Android SDK? Java SDK? 这在Android中很痛苦,因为我们要处理的细分…… 为什么我们没有这个字符串的常量/枚举??? 它们对全世界都不常见吗? 我希望你能回答我的两个问题。 谢谢。

Google Play游戏服务 – 自定义通知/欢迎回来

我一直在寻找互联网,但找不到我的答案。 有没有办法向用户显示他们已登录GPGS。 您第一次登录时会收到通知,会说“欢迎”但是当您下次打开应用程序时没有显示任何内容。 有没有办法显示欢迎回来通知? 对于iOS,可以:在步骤9上方注明: https : //developers.google.com/games/services/ios/quickstart?hl = en#step_9_add_a_sign-out_button 有任何想法吗?

Android webview输入types文件

我正在尝试使用android从webview构建web项目。 我有一个types文件输入字段让用户上传文件到服务器,但似乎不能在android webview上工作,当我点击浏览按钮时,没有任何反应。 Comp.java package com.gururaju.bbmp; import android.app.Activity; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import android.webkit.WebChromeClient; public class Comp extends Activity { WebView comp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_comp); WebView myWebView = (WebView) findViewById(R.id.comp); myWebView.setWebChromeClient(new WebChromeClient()); myWebView.loadUrl(“file:///android_asset/comp.html”); } } activity_comp.xml comp.html (在assets文件夹中) Post your Complaints here 任何帮助,将不胜感激。

GSON。 如何将json对象转换为json数组?

现在我从API获取此JSON: {“supplyPrice”: { “CAD”: 78, “CHF”: 54600.78, “USD”: 20735.52 }} 但价格是动态的,这就是我需要这种forms的JSON的原因 { “supplyPrice”: [ { “name”: “CAD”, “value”: “78” }, { “name”: “TRY”, “value”: “34961.94” }, { “name”: “CHF”, “value”: “54600.78” }, { “name”: “USD”, “value”: “20735.52” } ] } 如何使用GSON做到这一点?

java和.length上的数组边界

keys数组定义如下: keys = new char[] {resolv, ‘А’, ‘Б’, ‘В’, ‘Г’, ‘Д’, ‘Е’, ‘Ё’, ‘Ж’, ‘З’, ‘И’, ‘Й’, ‘К’, ‘Л’, ‘М’, ‘Н’, ‘О’, ‘П’, ‘Р’, ‘С’, ‘Т’, ‘У’, ‘Ф’, ‘Х’, ‘Ц’, ‘Ч’, ‘Ш’, ‘Щ’, ‘Ъ’, ‘Ы’, ‘Ь’, ‘Э’, ‘Ю’, ‘Я’}; ‘resolv’是一个常量char值0x00,但这与此问题无关。 现在,这段代码有时会引发“java.lang.ArrayIndexOutOfBoundsException:length = 34; index = 34”exception: protected void LoadKeyRects() { keyRects = new Rect[keys.length]; // […]

java.lang.IllegalStateException:无法获得表面

我正在尝试创建一个应用程序,使用户能够记录他的智能手机的屏幕。 这是我的起始代码: import android.content.Context; import android.content.Intent; import android.hardware.display.DisplayManager; import android.hardware.display.VirtualDisplay; import android.media.MediaRecorder; import android.media.projection.MediaProjection; import android.media.projection.MediaProjectionManager; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.DisplayMetrics; import android.util.Log; import android.widget.Button; import android.widget.Toast; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; public class MainActivity extends AppCompatActivity { private static final int CAST_PERMISSION_CODE = 22; private DisplayMetrics mDisplayMetrics = new DisplayMetrics(); […]

android恢复在backstack中的片段的实例状态

嗨我有一个有两个片段的活动。 片段A. 片段B 片段A有一个EditText和一个ListView。 一旦我在EditText中输入内容并按Enter键 ,我就会填充ListView。 现在片段A的ListView填充了数据。 单击片段A的ListView上的任何项将将用户发送到片段B. 此时我正在用片段B替换片段A. 因此,当用户按下后退按钮时,他会回到片段A 现在问题是如果用户在片段B中并且配置更改发生像屏幕旋转等不止一次那么我的ListView是空的因为我的arraylist是null。 请注意,我在片段A和片段B中使用onSavedInstanceState。如果我的当前片段是片段A并且发生配置更改,那么恢复状态就没有问题,因为在onCreateView中我从bundle获取了arraylist。 我知道当我从片段B回到之前在后台堆栈中的片段A时,我的arraylist为空的原因。当片段A在backstack中时,被调用的唯一方法是onSaveInstanceState,所以在第一次配置更改后我的arraylist字段为null因为我无法将存储在savedInstateState包中的arraylist分配给arraylist字段。 我不想在清单中使用android:configchanges属性。 我的问题是如何恢复backstack中片段的状态。

ListView with longClick用于显示和隐藏Checkbox?

我在这里阅读了代码(weblink)。 并且代码已经被修改了一点,变成这样: FileArrayAdapter.java public class FileArrayAdapter extends ArrayAdapter { private Context c; private int id; private List items; public FileArrayAdapter(Context context, int textViewResourceId, List objects) { super(context, textViewResourceId, objects); c = context; id = textViewResourceId; items = objects; } public Item getItem(int i) { return items.get(i); } @Override public View getView(int position, View convertView, ViewGroup […]

使用gson将json数组转换为android中的json对象?

我将一个json数组从活动A传递给活动B.然后我使用GSON库将值插入到数组中。这是我当前的代码。 public void gsonResponse(String json) { try { JSONObject jsonObject = new JSONObject(json); JSONArray jsonArray = jsonObject.getJSONArray(“result”); for (int i = 0; i < jsonArray.length(); i++) { LinkedHashMap linkedHashMap = new LinkedHashMap(); JSONObject innerJosonObject = new JSONObject(jsonArray.getString(i)); // you need to put all values from jsonObject to map for managing the order.. linkedHashMap.put(“doc_no”, textViewInvNo.getText().toString()); linkedHashMap.put(“itembarcode”, […]

是否可以在gradle中为JavaCompile启用-Werror?

我使用com.android.application插件在gradle中设置了一个Android项目。 我希望javac lint警告触发错误而不仅仅是警告。 以下工作适用于警告: tasks.withType(JavaCompile).all { options.compilerArgs.add(“-Xlint:all”) } 但是,添加-Werror: tasks.withType(JavaCompile).all { options.compilerArgs.add(“-Xlint:all”) options.compilerArgs.add(“-Werror”) } 导致构建完全失败(不是以正确的方式): FAILURE:构建因exception而失败。 *出了什么问题:任务执行失败’:app:compileDebugJava’。 显示java.lang.NullPointerException *尝试:使用–stacktrace选项运行以获取堆栈跟踪。 使用–info或–debug选项运行以获取更多日志输出。 建筑失败 使用–stacktrace调用gradle显示: *exception是:org.gradle.api.tasks.TaskExecutionException:任务’:app:compileDebugJava’的执行失败。 在org.gradle上的org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)位于org.gradle.api.internal的org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)上的.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)位于org.gradle.api.internal.tasks.execution的org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42).tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58) .skipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecu org.gradle.apternal.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:305)中的ter.execute(ExecuteAtMostOnceTaskExecuter.java:43)org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79) at org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)org.gradle.execution.taskgraph.Abs​​tractTaskPlanExecutor $ TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)at org.gradle.execution.taskgraph .defaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:88)org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)at org。 grag.exe.exe.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)org.gradle.execution.DefaultBuildExecuter.access $ 200(DefaultBuildExecuter.java:23)org.gradle.executio n.DefaultBuildExecuter $ 2.proceed(DefaultBuildExecuter.java:68)org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)atg.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)at org。 grag.exe.exe.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:149)org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:106)at org .gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)org.gradle.launcher.exec.InProcessBuildActionExecuter $ DefaultBuildController.run(InProcessBuildActionExecuter.java:80)at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction) .java:33)org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:36)org.gradle.launche 位于org.gradle.internal.Actions的org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:51)中的r.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)$ RunnableActionAdapter.execute(Actions.java: 171)在org.gradle.launcher的org.gradle.launcher.cli.CommandLineActionFactory […]